本日はUnityの小ネタ枠です。
Unityでプロジェクトを開いた際にスクリプトを実行する方法です。
プロジェクトを開いた際にスクリプトを実行する
プロジェクトを開いた際にスクリプトを実行したい場合、InitializeOnLoadAttributeまたはInitializeOnLoadMethodが利用可能です。
InitializeOnLoadAttribute属性はスクリプトが再コンパイルされるときに指定のクラスを初期化します。
これはUnityのロード時やスクリプトを変更したとき、シーンを再生したときなどに発生します。
docs.unity3d.com
using UnityEditor; using UnityEngine; // 再コンパイル時に本クラスが初期化されてコンストラクタが実行される [InitializeOnLoadAttribute] public class InitializeOnLoadAttributeTest { static InitializeOnLoadAttributeTest() { Debug.Log("Execute InitializeOnLoadAttributeTest.Constructor"); } }
InitializeOnLoadMethod属性はスクリプトが再コンパイルされるときに指定のメソッドを実行します。
docs.unity3d.com
using UnityEditor; using UnityEngine; public class InitializeOnLoadMethodTest : MonoBehaviour { // 再コンパイル時に本メソッドが実行される [InitializeOnLoadMethod] static void OnProjectLoadedInEditor() { Debug.Log("Execute InitializeOnLoadMethodTest.OnProjectLoadedInEditor"); } }