Unity 5.0 から「RuntimeInitializeOnLoadMethodAttribute」が追加されました
この属性をstatic関数に適用することでゲーム起動時にその関数が呼び出されます
using UnityEngine; public class ExampleClass { [RuntimeInitializeOnLoadMethod] private static void OnRuntimeMethodLoad() { Debug.Log( "ゲームを開始しました" ); } }
定義してある関数にRuntimeInitializeOnLoadMethodAttributeを適用するだけで
自動で呼び出されるので、MonoBehaviourを継承したクラスで関数を定義して
ゲームオブジェクトにアタッチしておく必要はありません
また、Awake関数などと比較した実行順は下記のとおりです
- Awake
- OnEnable
- RuntimeInitializeOnLoadMethodAttribute
- Start
using UnityEngine; public class ExampleClass : MonoBehaviour { private void Awake() { Debug.Log( "Awake" ); } private void OnEnable() { Debug.Log( "OnEnable" ); } private void Start() { Debug.Log( "Start" ); } [RuntimeInitializeOnLoadMethod] private static void OnRuntimeMethodLoad() { Debug.Log( "RuntimeInitializeOnLoadMethod" ); } }