Unity 플랫폼별 컴파일

Unity 개발자가 특정 플랫폼용 빌드에만 포함될 코드를 작성할 수 있는 플랫폼별 컴파일 기능을 제공합니다. 이 기능은 플랫폼별 코드를 작성해야 하거나 특정 플랫폼에 불필요한 코드를 제외하여 빌드를 최적화해야 할 때 유용합니다.

플랫폼별 컴파일을 사용하는 방법

Unity에서 플랫폼별 컴파일을 사용하려면 전처리기 지시문을 사용하세요. 전처리기 지시문은 실제 컴파일 프로세스 전에 실행되는 컴파일러에 대한 특수 명령입니다. 이러한 지시어는 대상 플랫폼에 따라 조건부 코드를 포함하거나 제외하는 데 사용될 수 있습니다.

다음은 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

이 예에서 'UNITY_IOS''UNITY_ANDROID' 지시문은 Unity에서 제공되며 iOS 및 Android 플랫폼용 코드를 조건부로 컴파일하는 데 사용할 수 있습니다., 각각. 'UNITY_EDITOR'(Unity 편집기의 경우), 'UNITY_STANDALONE'(독립형 빌드의 경우), 'UNITY_WEBGL'과 같은 다른 사용 가능한 플랫폼별 지시문을 사용할 수 있습니다. (WebGL 빌드용) 등.

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

결론

플랫폼별 컴파일을 사용하면 개발자는 Unity의 다양한 대상 플랫폼에 맞게 코드베이스를 정리하고 최적화하면서 각 플랫폼의 기능을 활용하는 코드를 작성할 수 있습니다.