概要
Unity Hub から Unity を起動した状態で
[MenuItem( "hoge/hoge" )] private static void Hoge() { Debug.Log( Application.isBatchMode ); // False }
Application.isBatchMode にアクセスすると通常は False になるが
private void OnPreprocessAudio() { Debug.Log( Application.isBatchMode ); // True }
private void OnPreprocessTexture() { Debug.Log( Application.isBatchMode ); // True }
AssetPostprocessor の OnPreprocessAudio や OnPreprocessTexture だと
Application.isBatchMode が True になる現象に遭遇した
private static void OnPostprocessAllAssets ( string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths ) { Debug.Log( Application.isBatchMode ); // False }
OnPostprocessAllAssets だと正常に False を取得できた
リファレンスを見てもこのような挙動になる旨は記載されていなかった
検証環境
- macOS Monterey バージョン 12.5.1
- Unity 2022.1.11f1