[unity2019]Define 設定を楽にする

各プラットフォーム対応コードや、デバッグのオンオフを切り替えるために define を使う必要がしばしば発生します。

#ifdef DEBUG
    Debug.Log("reached.");
#endif

この定義は Player Settings > Other Settings > Scripting Define Symbols で設定しますが、文字列を手動で入力する欄なので、管理が面倒です。
10 個もあれば、それぞれをオン・オフするのはかなり非現実的です。

C が得意な会社は、よく使っている印象

これを 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 ファイルを直接編集することも出来ますが、記述を間違えるとエラーになります。
(並び替えようとして、カンマ付け忘れるなど)

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA