Compilation spécifique à la plate-forme Unity

Unity fournit une fonctionnalité de compilation spécifique à la plate-forme qui permet aux développeurs d'écrire du code qui ne sera inclus dans la construction que pour une plate-forme spécifique. Cette fonctionnalité est utile lorsqu'il est nécessaire d'écrire du code spécifique à la plate-forme ou d'optimiser les builds en excluant le code inutile pour certaines plates-formes.

Comment utiliser la compilation spécifique à la plate-forme

Pour utiliser la compilation spécifique à la plate-forme dans Unity, utilisez les directives du préprocesseur. Les directives de préprocesseur sont des instructions spéciales pour le compilateur qui sont exécutées avant le processus de compilation proprement dit. Ces directives peuvent être utilisées pour inclure ou exclure conditionnellement du code basé sur la plate-forme cible.

Voici un exemple d'utilisation de la compilation spécifique à la plate-forme dans 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

Dans cet exemple, les directives 'UNITY_IOS' et 'UNITY_ANDROID' sont fourni par Unity et peut être utilisé pour compiler conditionnellement du code pour les plates-formes iOS et Android, respectivement. D'autres directives spécifiques à la plate-forme disponibles peuvent être utilisées, telles que 'UNITY_EDITOR' (pour l'éditeur Unity), 'UNITY_STANDALONE' (pour les builds autonomes), 'UNITY_WEBGL' (pour les builds WebGL) et plus.

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

Conclusion

En utilisant la compilation spécifique à la plate-forme, les développeurs peuvent écrire du code qui tire parti des fonctionnalités et des capacités de chaque plate-forme tout en gardant la base de code organisée et optimisée pour différentes plates-formes cibles dans Unity.

Articles suggérés
Création d'un effet Bullet Time dans Unity
Création d'objets interactifs dans Unity
Implémentation du contrôle du casque VR dans Unity
Un guide pour intégrer la manette Nintendo à Unity
Unity implémentant des sons de pas
Unity Comment créer un shader
Mise en œuvre de la saisie au clavier et à la souris dans Unity