Unity Platformuna Özel Derleme

Unity geliştiricilerin yalnızca belirli bir platform için derlemeye dahil edilecek kodu yazmasına olanak tanıyan platforma özgü bir derleme özelliği sağlar. Bu özellik, platforma özel kod yazmak veya belirli platformlar için gereksiz kodları hariç tutarak yapıları optimize etmek yapmak gerektiğinde kullanışlıdır.

Platforma Özel Derleme Nasıl Kullanılır

Unity'de platforma özel derlemeyi kullanmak için önişlemci direktiflerini kullanın. Önişlemci direktifleri, derleyiciye gerçek derleme işleminden önce yürütülen özel talimatlardır. Bu yönergeler, hedef platforma göre kodu şartlı dahil etmek veya hariç tutmak için kullanılabilir.

Unity:'de platforma özel derlemenin nasıl kullanılacağına dair bir örnek:

#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

Bu örnekte 'UNITY_IOS' ve 'UNITY_ANDROID' direktifleri Unity tarafından sağlanmıştır ve iOS ve Android platformları için koşullu olarak kod derlemek için kullanılabilir, sırasıyla. 'UNITY_EDITOR' (Unity Düzenleyici için), 'UNITY_STANDALONE' (bağımsız yapılar için), 'UNITY_WEBGL' gibi platforma özgü diğer mevcut yönergeler kullanılabilir. (WebGL yapıları için) ve daha fazlası.

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

Çözüm

Geliştiriciler, platforma özel derlemeyi kullanarak her platform'ün özelliklerinden ve yeteneklerinden yararlanan kod yazabilir, aynı zamanda kod tabanını Unity'deki farklı hedef platformlar için düzenli ve optimize edilmiş halde tutabilir.

Önerilen Makaleler
Unity'de Özel Güncelleme Hızının Uygulanması
Unity'de Etkileşimli Nesneler Oluşturma
Çekmece ve Dolapların Özel Anahtarlarla Birlik İçinde Açılması
Unity'deki Silahlara Sallanma Etkisi Ekleme
Unity'de Trafik Simülatörü Oluşturma
Unity'de Nesneleri Yakalamak için Komut Dosyası
Unity'de Rotasyonu Dönüştürmek için Kapsamlı Kılavuz