Compilare specifică platformei Unity

Unity oferă o caracteristică de compilare specifică platformei care permite dezvoltatorilor să scrie cod care va fi inclus numai în versiunea pentru o anumită platformă. Această caracteristică este utilă atunci când este necesar pentru a scrie cod specific platformei sau pentru a optimiza versiunile prin excluderea codului inutil pentru anumite platforme.

Cum să utilizați compilarea specifică platformei

Pentru a utiliza compilarea specifică platformei în Unity, utilizați directivele de preprocesor. Directivele de preprocesor sunt instrucțiuni speciale pentru compilator care sunt executate înainte de procesul real de compilare. Aceste directive pot fi folosite pentru a condiționat să includă sau să excludă codul bazat pe platforma țintă.

Iată un exemplu despre cum să utilizați compilarea specifică platformei în 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

În acest exemplu, directivele 'UNITY_IOS' și 'UNITY_ANDROID' sunt furnizate de Unity și pot fi utilizate pentru a compila în mod condiționat codul pentru platformele iOS și Android, respectiv. Alte directive disponibile specifice platformei pot fi utilizate, cum ar fi 'UNITY_EDITOR' (pentru editorul Unity), 'UNITY_STANDALONE' (pentru versiuni independente), 'UNITY_WEBGL' (pentru versiuni WebGL) și multe altele.

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

Concluzie

Folosind compilarea specifică platformei, dezvoltatorii pot scrie cod care profită de caracteristicile și capacitățile fiecărui platform, păstrând în același timp baza de cod organizată și optimizată pentru diferite platforme țintă în Unity.

Articole sugerate
Crearea de obiecte interactive în Unity
Un ghid pentru încărcarea scenei în Unity
Crearea de obiecte de colecție și de power-up-uri în Unity
Gestionarea excepțiilor și gestionarea erorilor în Unity Code
Introducere în limbajul de scripting Unity C#
Crearea unui GrabPack în Unity inspirat de Poppy Playtime
Crearea unui efect Bullet Time în Unity