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.