//Scene management should really be considered earlier in future projects private async void LoadNextLevel() { fadeAnim.Play("fade"); uiSound.Play(); SceneManager.currentLevel++; levelTimer = GetTree().Root.GetNode <LevelTimer>("Node2D/Timer"); levelTimer.SubmitTime(); if (SceneManager.currentLevel < SceneManager.levelScenes.Length) { await ToSignal(GetTree().CreateTimer(1f), "timeout"); GetTree().ChangeScene(SceneManager.levelScenes[SceneManager.currentLevel]); } else { await ToSignal(GetTree().CreateTimer(1f), "timeout"); GetTree().ChangeScene(SceneManager.endScene); } }