Kompilacja specyficzna dla platformy Unity

Unity udostępnia funkcję kompilacji specyficzną dla platformy, która umożliwia programistom pisanie kodu, który będzie uwzględniony w kompilacji tylko dla określonej platformy. Ta funkcja jest przydatna, gdy trzeba napisać kod specyficzny dla platformy lub zoptymalizować kompilacje poprzez wykluczenie niepotrzebnego kodu dla niektórych platform.

Jak korzystać z kompilacji specyficznej dla platformy

Aby użyć kompilacji specyficznej dla platformy w Unity, użyj dyrektyw preprocesora. Dyrektywy preprocesora to specjalne instrukcje dla kompilatora, które są wykonywane przed właściwym procesem kompilacji. Tych dyrektyw można używać do warunkowego włączania lub wykluczania kodu w zależności od platformy docelowej.

Oto przykład użycia kompilacji specyficznej dla platformy w 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

W tym przykładzie dyrektywy 'UNITY_IOS' i 'UNITY_ANDROID' są dostarczane przez Unity i mogą zostać użyte do warunkowej kompilacji kodu dla platform iOS i Android odpowiednio. Można użyć innych dostępnych dyrektyw specyficznych dla platformy, takich jak 'UNITY_EDITOR' (dla edytora Unity), 'UNITY_STANDALONE' (dla kompilacji samodzielnych), 'UNITY_WEBGL' (dla kompilacji WebGL) i nie tylko.

#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
    }
}

Wniosek

Korzystając z kompilacji specyficznej dla platformy, programiści mogą pisać kod, który wykorzystuje funkcje i możliwości każdej platformy, utrzymując jednocześnie bazę kodu zorganizowaną i zoptymalizowaną dla różnych platform docelowych w Unity.

Sugerowane artykuły
Tworzenie obiektów interaktywnych w Unity
Najbardziej przydatne fragmenty kodu dla programistów Unity
Implementacja teleportacji w Unity
Zapisz i załaduj logikę dla Unity
Przewodnik dla początkujących dotyczący interfejsu Unity C#
Tworzenie GrabPack w Unity zainspirowany Poppy Playtime
Otwieranie szuflad i szafek za pomocą określonych kluczy w Unity