UnityEditor 実行時、または Addressables ビルド終了時に特定のバッチ処理を行いたい場合、以下のイベントを Assets/Editor/ フォルダに含めましょう。
なお、このイベントは Addressables を使用していなければ使うことができません。
(using UnityEditor.AddressableAssets.Build; とあるので当然といえば当然ですが……)
using UnityEditor; using UnityEditor.AddressableAssets.Build; using UnityEngine; [InitializeOnLoad] public static class OnBuildCompleted { static OnBuildCompleted() { BuildScript.buildCompleted += OnBuildCompleted; } static void OnBuildCompleted(AddressableAssetBuildResult result) { // ここにビルド後の処理を入れる Debug.Log(result.OutputPath); } }
Unity Editor 実行時は呼ばれないようにしたい
Unity Editor 実行時は不要な場合、処理されるファイル名によって要/不要を振り分けるとよさそうです。
Addressable ビルド時は、Library/com.unity.addressables/aa/Windows/settings.json が更新されました(unity2021.3で確認)
using UnityEditor; using UnityEditor.AddressableAssets.Build; using UnityEngine; [InitializeOnLoad] public static class OnBuildCompleted { static OnBuildCompleted() { BuildScript.buildCompleted += OnBuildCompleted; } static void OnBuildCompleted(AddressableAssetBuildResult result) { if (result.OutputPath.IndexOf("com.unity.addressables") < 0) { return; } // ここにビルド後の処理を入れる Debug.Log(result.OutputPath); } }