(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]


本ブログの運営者kan.kikuchiが個人で開発しているゲームです!


開発用ビルド時に有効になるDEVELOPMENT_BUILDとDEBUGの違い【Unity】


このエントリーをはてなブックマークに追加


この記事でのバージョン
Unity 2021.3.1f1


はじめに

ゲームのデバッグ用の機能等を実装したいが、

リリース時にはユーザから見えない(使えない)ようにしたい、という事がよくあります。


そんな時はDevelopment Buildを有効にし、


DEVELOPMENT_BUILDDEBUGといったシンボルを使って

開発用ビルド時にのみ処理を実行する、みたいな感じにします。

#if DEVELOPMENT_BUILD
/*開発用ビルド時のみ実行したい処理*/
#endif

#if DEBUG
/*開発用ビルド時のみ実行したい処理*/
#endif


そして今回はこの似たような2つのシンボル

DEVELOPMENT_BUILDとDEBUGの違いについての記事です!


DEVELOPMENT_BUILDとDEBUGの違い

まずDEVELOPMENT_BUILDはそのまま開発用ビルド時、

つまりDevelopment Buildを有効にしてビルドすると有効になります。

なので、Unityエディタ上では有効にならないため、UNITY_EDITORと一緒に使われる事が多いです。

#if DEVELOPMENT_BUILD || UNITY_EDITOR
/*開発用ビルド時とUnityエディタ上での実行したい処理*/
#endif


次にDEBUGですが、こちらはUnityエディタ上でも有効になっています。

#if DEBUG
/*開発用ビルド時とUnityエディタ上での実行したい処理*/
#endif


ただし、Unityの公式ドキュメントに載ってない(DEVELOPMENT_BUILDはある)事からも分かるように、

UnityではなくC#(.Net)のシンボルです。




なので今後Unity上での挙動が変わるかもしれないため(既にバージョンによって挙動が違うという噂も)、

基本的にはDEVELOPMENT_BUILD(とUNITY_EDITOR)を使った方が良いかと思います。