public void OnDisable() { if (instance == this) { instance = null; } }
//Used to initialize UnityThread. Call once before any function here public static void initUnityThread(bool visible = false) { if (instance != null) { return; } if (Application.isPlaying) { // add an invisible game object to the scene var obj = new GameObject("MainThreadExecuter"); if (!visible) { obj.hideFlags = HideFlags.HideAndDontSave; } DontDestroyOnLoad(obj); instance = obj.AddComponent <UnityThread>(); } }