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 のさまざまなターゲット プラットフォーム向けにコードベースを整理および最適化したまま、各 プラットフォーム の機能を活用するコードを作成できます。