## Main Menu ### Level Transition ```c# GetTree().ChangeSceneToFile(); GetTree().Quit(); GetTree().ReloadCurrentScene(); ``` ## Options ### Pause/Unpause https://docs.godotengine.org/en/stable/tutorials/scripting/pausing_games.html ```c# using Godot; using System; public partial class PauseMenu : Control { private void resume() { GD.Print("Unpause"); this.Set("visible", false); GetTree().Paused = false; } void pause() { GD.Print("pause"); this.Set("visible", true); GetTree().Paused = true; } // Called when the node enters the scene tree for the first time. public override void _Ready() { } // Called every frame. 'delta' is the elapsed time since the previous frame. public override void _Process(double delta) { if (Input.IsActionJustPressed("Pause")) { if(GetTree().Paused == true) { resume(); } else { pause(); } } } private void _on_resume_pressed() { resume(); } private void _on_restart_pressed() { GetTree().Paused = false; GetTree().ReloadCurrentScene(); } private void _on_quit_game_pressed() { GetTree().Paused = false; GetTree().ChangeSceneToFile("res://scenes/main_menu.tscn"); } } ``` > [!Warning] When changing scenes remember to unpause the tree ## HUD