各プラットフォーム対応コードや、デバッグのオンオフを切り替えるために define を使う必要がしばしば発生します。
#ifdef DEBUG Debug.Log("reached."); #endif
この定義は Player Settings > Other Settings > Scripting Define Symbols
で設定しますが、文字列を手動で入力する欄なので、管理が面倒です。
10 個もあれば、それぞれをオン・オフするのはかなり非現実的です。
これを GUI で簡単にオン・オフするための Unity Editor 機能を紹介します。
以前にも似たようなものを紹介しましたが、色々と拡張・変更しています。
ダウンロード
Unity Hub より入手してください。
機能
- Scripting Define Symbols の1つ1つを自由に名前変更、オンオフできます。
- プラットフォームによって使用・未使用を選択することができます(全プラットフォームは Unknown)
- 設定保存ファイル(DefineSymbols.json)と共に新しいプロジェクトにコピーすれば、簡単に設定環境を引き継げます。
使い方
なんとなくで使えるかもしれませんが、一応項目の説明です。
-remove(No. X)
直下の項目を1つ削除します。
enable
直下の項目を一時的に使いたくなければチェックを外します。
リリースビルドで、デバッグ定義を外したい場合なんかが有効です。
define
ここに記述した名前が Scripting Define Symbols に反映されます。
コンボボックス(Unknown ~ PS5)
有効にしたいプラットフォームを選択します。全プラットフォームで必要な場合 Unknown を設定します。
desc
項目の説明を書く欄です。(なくても構いません)
+add
新しく項目を追加する場合に押してください。
save & update
現在の値に更新します。変更した場合は必ず押すようにしてください。
(押さないと、Scripting Define Symbols が更新されなくなってしまいます)
DefineSymbols.json
設定した内容は Scripting Define Symbols だけではなく、DefineSymbols.json にも詳細を保存します。
(2つのシンボル情報が異なる場合、起動時自動的に合成されます)
json ファイルを直接編集することも出来ますが、記述を間違えるとエラーになります。
(並び替えようとして、カンマ付け忘れるなど)