UnityでOSごとに処理内容をわけるには?
UnityでOSごとに処理を分けたい場合に、どのようにコーディングするのかの一例が判明しましたので備忘録として残しておきます。
例)
- 動作環境がAndroidのときはコンソールに
Hello Android.
- iOSのとはコンソールに
Hello iOS
を出力。 - すべて同じメソッド上で実装。
SwitchRunEnv.cs
void Start()
{
#if UNITY_ANDROID //Androidの場合の処理
Debug.Log("Hello Android");
#endif
#if UNITY_IOS //iOSの場合の処理
Debug.Log("Hello iOS");
#endif
}
説明
-
#if
で指定した条件に一致する処理は、#endif
までが実行されます。 -
#if
や#endif
はプリプロセッサディレクティブと呼ばれています。 - プリプロセッサディレクティブは他にも
#elif
や#region
などがあります。気になる方は下記のリンクを参考に