private void Awake() { /** Order of methods calling is critical**/ if (_Instance == null) { _Instance = this; } DontDestroyOnLoad(this.gameObject); gameplayFSMManager = GetComponent <GameplayFSMManager>(); timeManager = GetComponent <TimeManager>(); SceneManager.sceneLoaded += delegate { OnSceneLoad(); }; }