Allow an editor class method to be initialized when Unity enters Play Mode.
Use to reset static fields in Editor classes on Enter Play Mode without Domain Reload.
using UnityEngine; using UnityEditor;
class MyAnotherClass { static int s_MySimpleValue = 0;
[InitializeOnEnterPlayMode] static void OnEnterPlaymodeInEditor(EnterPlayModeOptions options) { Debug.Log("Entering PlayMode");
if (options.HasFlag(EnterPlayModeOptions.DisableDomainReload)) s_MySimpleValue = 0; } }
Or perform any other logic on Enter Play Mode.
using UnityEngine; using UnityEditor;
class MyClass { static int s_MyValue = 0;
static void MyClassPlaymodeSetup() { s_MyValue = 1000; //... }
[InitializeOnEnterPlayMode] static void OnEnterPlaymodeInEditor(EnterPlayModeOptions options) { Debug.Log("Entering PlayMode"); MyClassPlaymodeSetup(); } }