Unity | 実行時に必ず呼び出すメソッド用Attribute

ゲームの実行時必ず呼び出すメソッドに付けるAttributeのRuntimeInitializeOnLoadMethodのメモです。

RuntimeInitializeOnLoadMethod

シーン読み込み前

//Awakeの前に呼び出される
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]

シーン読み込み後

//OnEnableの後に呼び出される(Awake後)
[RuntimeInitializeOnLoadMethod()]
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)]

アセンブリがロードされ、アセットが初期化された後

[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSplashScreen)]

スプラッシュスクリーン表示前(エディタ上で確認不可?)

[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)]

サブシステムの登録時(エディタ上で確認不可?)

[RuntimeInitializeOnLoadMethod(SubsystemRegistration)]

注意点メモ

  • 複数の[RuntimeInitializeOnLoadMethod()]の実行順序が保証されていない
  • 必ず実行されるため、不要になる場合や切り替えが必要な場合は控えた方が良さそう

参考

Unity - Scripting API: RuntimeInitializeOnLoadMethodAttribute
Unity - Scripting API: RuntimeInitializeLoadType

コメント

タイトルとURLをコピーしました