Unity Platform-spesifikk kompilering

Unity gir en plattformspesifikk kompileringsfunksjon som lar utviklere skrive kode som bare vil bli inkludert i bygget for en spesifikk plattform. Denne funksjonen er nyttig når det er nødvendig for å skrive plattformspesifikk kode eller optimalisere byggene ved å ekskludere unødvendig kode for enkelte plattformer.

Slik bruker du plattformspesifikk kompilering

For å bruke plattformspesifikk kompilering i Unity, bruk forprosessordirektiver. Preprocessor-direktiver er spesielle instruksjoner til kompilatoren som utføres før selve kompileringsprosessen. Disse direktivene kan brukes til å betinget inkludere eller ekskludere kode basert på målplattformen.

Her er et eksempel på hvordan du bruker plattformspesifikk kompilering i Unity:

#if UNITY_IOS
    // iOS-specific code
    // This code will only be included in the build for iOS
#elif UNITY_ANDROID
    // Android-specific code
    // This code will only be included in the build for Android
#else
    // Code for other platforms
    // This code will be included in the build for all other platforms
#endif

I dette eksemplet er 'UNITY_IOS' og 'UNITY_ANDROID'-direktivene gitt av Unity og kan brukes til å kompilere kode for iOS- og Android-plattformer, henholdsvis. Andre tilgjengelige plattformspesifikke direktiver kan brukes som 'UNITY_EDITOR' (for Unity Editor), 'UNITY_STANDALONE' (for frittstående bygg), 'UNITY_WEBGL' (for WebGL-bygg) og mer.

#if UNITY_EDITOR
    // Editor-specific code
    // This code will only be included when running in the Unity Editor
    using UnityEditor;
#elif UNITY_STANDALONE
    // Standalone build-specific code
    // This code will only be included when building for standalone platforms (Windows, macOS, Linux)
#elif UNITY_WEBGL
    // WebGL-specific code
    // This code will only be included when building for WebGL
    using UnityEngine.Networking;
#endif

// Shared code that will be included in all builds
public class MyScript : MonoBehaviour
{
    private void Start()
    {
#if UNITY_EDITOR
        Debug.Log("Running in Unity Editor");
#elif UNITY_STANDALONE
        Debug.Log("Running in standalone build");
#elif UNITY_WEBGL
        Debug.Log("Running in WebGL build");
#endif
    }
}

Konklusjon

Ved å bruke plattformspesifikk kompilering kan utviklere skrive kode som utnytter funksjonene og mulighetene til hver plattform samtidig som kodebasen holdes organisert og optimalisert for ulike målplattformer i Unity.

Foreslåtte artikler
Lag en GrabPack i Unity Inspirert av Poppy Playtime
Skape en kuletidseffekt i Unity
Opprette interaktive objekter i Unity
Implementering av kinetiske interaksjoner i enhet
Åpning av skuffer og skap med spesifikke nøkler i Unity
Plukk og slipp-system uten inventar i Unity
Legge til spillerinngang til en bil i Unity