こういうのをやりたい
void foo() { #if HOGE // ←この定数を自分で定義したい Debug.Log("ほげ限定ログ"); #endif }
独自に定義した定数でコンパイル振り分けたいよね、っていう。
Unity が勝手に定義してくれる定数について
UNITY_EDITOR とか UNITY_EDITOR_WIN とか UNITY_ANDROID とか、こういうのは昔から使える。
void foo() { aaaa(); #if UNITY_EDITOR // Unity Editor から起動するときに有効な処理 bbbb(); #endif #if UNITY_ANDROID // Android 固有の処理 cccc(); #endif dddd(); }
こんな感じで振り分けられる。
Unity 4 から使えるユーザ定義コンパイル定数(シンボル)
Unity 4 からユーザ定義のコンパイル定数(シンボル)が使えるようになったみたい。
Preprocessor #defines | Unity Community
Any way to define a preprocessor symbol across all source files before doing a build?
bem13, Mar 25, 2011
No there is no way to do that, at least not yet.
Dreamora, Mar 25, 2011
Unity4 supports in-editor defines.
iwaldrop, Mar 1, 2013
定義する場所
Edit - Project Settings - Player メニューを選択。
PlayerSettings Inspector が出現する。
この中の Other Settings - Configuration - Scripting Define Symbols というところでシンボルを定義できる。
複数定義したい場合にはセミコロン区切りで。
結果
ぐへへへ、シンボル HOGE が定義されたぜ…!!!(ちゃんと Visual Studio でも認識される)