private void Awake() { if (_instance != null && _instance != this) { Destroy(gameObject); return; } if (_instance == this) { return; } _instance = this; _settingsManager.LoadPlayerSettings(); _settingsManager.OnSettingsChanged += settingsManager => ApplyPlayerSettings(); DataManager.RegisterDataStore(new UnityDataStore()); ContentManager.RegisterContentStore(new UnityContentStore()); LevelManager.LoadLevelPacks(); // Deactivate all game controllers TutorialController.DisableController(); GameController.DisableController(); SetGameController(GameController); SetupObjectPools(); _levelContainer = new GameObject("Level Container"); _levelContainer.transform.parent = MainGameContainer.transform; ApplyPlayerSettings(); }