- この記事でのバージョン
Unity 6000.6.6.0a7
はじめに
Unity6.6からビルド時にC#コードを最適化するか、チェックやProfiler用の処理を含めるかを切り替える
Managed Code Variantという設定が追加されました。
ということで今回は、このManaged Code Variantの紹介記事です!
Managed Code Variant
まず設定はEdit/Project Settings...の、
![]() |
PlayerにあるOther Settings/Optimization/Managed Code Variantから変更出来ます。
![]() |
デフォルトはReleaseで、以下の4種類があります。
- Debug : C#コードの最適化を無効にし、下記のシンボルを有効にする。デバッガーで使う時用
- Checked : 最適化を有効にしたまま一部シンボルを有効にする。重めの検証処理を残したい時用
- Instrumented : 最適化を有効にしたまま一部シンボルを有効にする。Profilerや計測用
- Release : 最適化を有効にし、シンボルも無効にする。リリース時用
そして有効になるシンボルは以下の通りで、
#if DEBUG /*Debugの時だけ実行したい処理*/ #endif #if UNITY_ENABLE_CHECKS /*DebugかCheckedの時に有効にしたい処理*/ #endif #if UNITY_INCLUDE_INSTRUMENTATION /*Debug、Checked、Instrumentedの時に有効にしたい処理*/ #endif
DebugにはCheckedとInstrumentedの内容が含まれ、
CheckedにはInstrumentedの内容も含まれるため、基本はDebugかReleaseを使えばいいかと思います。
なお、これらのシンボルはUnityエディタ上でも有効になるため、注意が必要です。
さらに上記の通り、DEBUGが有効な条件がManaged Code VariantがDebugの時だけになったので、
Development Buildを有効にしてもDEBUGは有効にならなくなったという点にも注意が必要です。
(以前まではDevelopment Buildを有効にすればDEBUGも有効になっていた)
![]() |


