はじめに
今回はBuildOptions.CleanBuildCache
が効いているどうかを判定する方法について紹介したいと思います。
環境
Unity 2022.3.8f1
概要
インクリメンタルビルドパイプラインを使用していると差分のみ再ビルドされるようになりますが、一部問題になるケースもあったりします。そこでスクリプトからビルドをする際にはBuildOptions.CleanBuildCache
を用いることで一度キャッシュを削除してからクリーンビルドを行うことができます。
Clear all cached build results, resulting in a full rebuild of all scripts and all player data.
// DeepL翻訳
キャッシュされたビルド結果をすべてクリアし、すべてのスクリプトとすべてのプレイヤーデータを完全に再構築します。
BuildOptions-CleanBuildCache - Unity スクリプトリファレンス
// サンプル [MenuItem("Tools/Build StandaloneOSX")] public static void Build() { // locationPathName : 保存先のパス(プロジェクトフォルダからの相対パス) // options : BuildOptions.CleanBuildCacheを指定することで「キャッシュを削除して」ビルドできる // scenes : ビルドに含めるシーンのプロジェクトフォルダからの相対パス(空の場合、現在開いているシーン) // target : どのプラットフォームか var options = new BuildPlayerOptions() { locationPathName = "Build/App.exe", options = BuildOptions.CleanBuildCache, scenes = EditorBuildSettings.scenes.Select(x => x.path).ToArray(), target = BuildTarget.StandaloneOSX, }; var buildReport = BuildPipeline.BuildPlayer(options); if (buildReport.summary.result == BuildResult.Succeeded) { Debug.Log($"Build Succeeded. : {buildReport.summary.outputPath}"); } else { Debug.Log("Build Failed."); } }
【Unity】キャッシュされたビルドの成果物を削除してからビルドする方法(BuildOptions.CleanBuildCache) - はなちるのマイノート
ただこれがちゃんと動作してくれているか知る方法がパッと分からなかったため、調査してみたのでその結果を紹介したいと思います。
調べ方
Editor.Log
の中に以下のメッセージが含まれているか確認すればOKです。
Rebuilding Data files because BuildOptions.CleanBuildCache is set.
またEditor.Log
の場所ですが、以下に入っていますね。
OS | ログファイル |
---|---|
macOS | ~/Library/Logs/Unity/Editor.log |
Windows | C:\Users\username\AppData\Local\Unity\Editor\Editor.log |
またUnity EditorからはConsole
ウィンドウの右上の三点リーダーを押し、Open Editor Log
を選択すれば開くことができます。