Version: 2021.3
  • C#


class in UnityEngine


Inherits from:Scripting.PreserveAttribute


Implemented in:UnityEngine.CoreModule

Suggest a change


Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.


Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.




Allow a runtime class method to be initialized when a game is loaded at runtime without action from the user.

Methods marked [RuntimeInitializeOnLoadMethod] are invoked after the game has been loaded. This is after the Awake method has been invoked.

Note: The execution order of methods marked [RuntimeInitializeOnLoadMethod] is not guaranteed.

// Create a non-MonoBehaviour class which displays
// messages when a game is loaded.
using UnityEngine;

class MyClass { [RuntimeInitializeOnLoadMethod] static void OnRuntimeMethodLoad() { Debug.Log("After Scene is loaded and game is running"); }

[RuntimeInitializeOnLoadMethod] static void OnSecondRuntimeMethodLoad() { Debug.Log("SecondMethod After Scene is loaded and game is running."); } }


loadTypeSet RuntimeInitializeOnLoadMethod type.


RuntimeInitializeOnLoadMethodAttributeCreation of the runtime class used when Scenes are loaded.

Inherited Members