デバッグ状態や実行時のプラットフォームを取得する
About
Debug状態かどうか、あるいは、実行時のプラットフォームは何か、を取得して処理を切り替える処理は多くの分野の開発で実装されています。Unityでもそのような処理を切り替える仕組みが提供されているので、まとめておきます。
HowTo
#if/#endifによるプラットフォームの識別
VisualStudioを用いた.Net開発のように、#if/#endifといった宣言が利用できます。利用できる対象は公式で確認してください。例えばエディタで実行されているかどうか、Windowsかどうか、PS3かどうか、などが識別できます。またバージョンの違いも指定することができるようです。
#if UNITY_EDITOR Debug.Log("Unity Editor"); #endif #if UNITY_IPHONE Debug.Log("Iphone"); #endif
DebugBuildかどうかを取得
Debug.isDebugBuildによってデバッグ状態でビルドされているかどうかを取得することができます。
if(Debug.isDebugBuild) { … }
実行時のプラットフォームを取得
"Application.platform"によって実行時のプラットフォームを取得することができます。RuntimePlatform列挙型にはPS3やXBOX、WindowsEditor、OSXEditorなどがあります。全ての値は公式から確認してください。
if(Application.platform == RuntimePlatform.OSXPlayer) { … }