Unity Platform-specifik sammanställning

Unity tillhandahåller en plattformsspecifik kompileringsfunktion som gör det möjligt för utvecklare att skriva kod som endast kommer att ingå i bygget för en specifik plattform. Den här funktionen är användbar när den behövs för att skriva plattformsspecifik kod eller för att optimera byggen genom att utesluta onödig kod för vissa plattformar.

Hur man använder plattformsspecifik kompilering

För att använda plattformsspecifik kompilering i Unity, använd förbehandlardirektiv. Preprocessor-direktiv är speciella instruktioner till kompilatorn som exekveras innan den faktiska kompileringsprocessen. Dessa direktiv kan användas för att villkorligt inkludera eller exkludera kod baserat på målplattformen.

Här är ett exempel på hur du använder plattformsspecifik 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 det här exemplet tillhandahålls direktiven 'UNITY_IOS' och 'UNITY_ANDROID' av Unity och kan användas för att villkorligt kompilera kod för iOS- respektive Android-plattformar. Andra tillgängliga plattformsspecifika direktiv kan användas som 'UNITY_EDITOR' (för Unity Editor), 'UNITY_STANDALONE' (för fristående versioner), 'UNITY_WEBGL' (för WebGL-versioner) och 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
    }
}

Slutsats

Genom att använda plattformsspecifik kompilering kan utvecklare skriva kod som drar fördel av funktionerna och kapaciteterna hos varje plattform samtidigt som kodbasen organiseras och är optimerad för olika målplattformar i Unity.

Föreslagna artiklar
Skapa ett GrabPack i Unity Inspirerad av Poppy Playtime
Skapa en kultidseffekt i Unity
Skapa interaktiva objekt i Unity
Implementering av kinetiska interaktioner i enhet
Öppna lådor och skåp med specifika nycklar i Unity
Plocka och släpp-system utan lager i Unity
Lägga till spelarinträde till en bil i Unity