どうしてもEditorのOnEnabledが遅くて、普通のMonoBahaviorのAwake()より遅くて困った。
[InitializeOnLoad] //これをつけるとstaticなコストラクタを定義すると呼ばれる. public class Test : Editor // 別にEditorの小クラスでなくても`InitializeOnLoad`は使える。 { static Test() { Debug.Log("Constructor"); } [InitializeOnLoadMethod] static void InitializeOnLoadMethod() { Debug.Log ("InitializeOnLoadMethod"); } [RuntimeInitializeOnLoadMethod] { Debug.Log ("RuntimeInitializeOnLoadMethod"); } }
これで Constructor InitializeOnLoadMethod についてはAwakeより先に呼べた。