パープルハット

※当サイトではGoogleアドセンス広告を利用しています

Unity ビルド開始前後での処理





導入

Unityにおけるビルドのときに行う処理の記述方法をまとめました。



直前に処理を実行する方法

インターフェースIPreprocessBuildWithReportより、関数OnPreprocessBuildを実装する。



完了後に処理を実行する方法

インターフェースIPostprocessBuildWithReportより、関数OnPostprocessBuildを実装する。



使用例

"OnPreprocessBuild"や"OnPostprocessBuild"による処理を複数呼び出した場合は"callbackOrder"が小さいほうから先に呼ばれた。

using UnityEngine;
using UnityEditor.Build;
using UnityEditor.Build.Reporting;

public class Processor : IPreprocessBuildWithReport, IPostprocessBuildWithReport
{
    public int callbackOrder => 1;

    public void OnPreprocessBuild(BuildReport report)
    {
        Debug.Log("ビルド前処理");
    }

    public void OnPostprocessBuild(BuildReport report)
    {
        Debug.Log("ビルド後処理");
    }
}




発展

  • 上記の処理を利用してビルド前にSceneAssetからシーン名を取得する方法です。
  • シーンファイルからシーン名を取得するため、シーン名を変更しても設定を変更しなくてもよいというメリットがあります。

https://kiironomidori.hatenablog.com/entry/unity_sceneasset_prebuild