ちょっと試行錯誤したけど、今の段階で固まった内容を書く。
基本方針は、管理フローをややこしくしない、である。ややこしくてやらなくなるより、シンプルにしてやれる方がマシである。
#if !UE_BUILD_SHIPPING
// デバッグ用コード
#endif
とする。UE_BUILD_DEBUG
UE_BUILD_DEBUGGAME
UE_BUILD_DEVELOPMENT
UE_BUILD_SHIPPING
UE_BUILD_TEST
を指定できる。#if UE_BUILD_DEVELOPMENT
// デバッグ用コード
#endif
でもいいんだけど、Debugに切り替えたときは無視されてしまう。