[Plugin] Baz Menu Template

Baz Menu Template

Inspector-driven menu system for AGMaker — title screen, pause menu, options, and key bindings. All configured through the Inspector, no code needed.

Features

  • Title screen with customizable background, title text, and buttons
  • Pause menu with resume, options, and quit
  • Options panel: audio buses, display settings, key rebinding
  • 40+ export properties — everything configured in the Inspector
  • Settings auto-saved to user://baz_settings.cfg (ex. for windows game C:\Users\<username>\AppData\Roaming\Godot\app_userdata\<game>\baz_settings.cfg)

DOWNLOAD LINK:

baz_menu_templates_v1.1.zip (750.1 KB) → :warning: NOW A PLUGIN

  • Enable it in the Project Settings
  • Includes NEW save/load system

baz_menu_template v1.0.zip (703.4 KB) → Original release

  • If you get errors inside project try Project Settings → Reload Current Project.
  • Big thanks to Maaack and his Godot menu templates for helping me piece this thing together!

Installation

  1. Drop the baz_menu_template folder anywhere into your project

  2. Optionally, you can copy the template scenes from templates/ if you want to keep the originals intact

    • game_scene_title_screen.tscn — add this in the Scene Transition tab
    • menu_scene_pause.tscn — set this when using OpenMenu for pausing game


Customization

  1. Select the root Control node of your copied scene (e.g. TitleScreenSettings) and configure everything in the Inspector:

  • Background and foreground images
  • Title text, fonts, colors, effects (wave, shadow, outline)
  • Button labels, styling, and layout
  • Options panel toggles
  • Key bindings panel

Controller Setup

  1. Each template includes an embedded controller — a GameObject with a visual script. It receives button signals like "new_game", "continue", "resume", "quit_to_title".


Audio (BGM/SFX) Setup

Audio used is handled in the visual script of the associated ‘controller’.

  • By default the BGM and SFX are SKIPPED to prevent errors from not having correctly listed audio files.
  • You need to set the BGM/SFX and then uncheck the SKIP button.
  • This also applies to the button logic (Continue, Resume, Exit, etc) so check both title_screen_controller.vs and pause_menu_controller.vs to set that all up.

Input

Uses Godot’s built-in UI actions — no custom input mappings needed:

  • ui_accept — select / confirm
  • ui_cancel — go back
  • ui_up / ui_down — navigate buttons
  • ui_left / ui_right — adjust volume, toggle settings

Mouse is also fully supported (hover + click).


Built-in Documentation

Press F1 in the editor and search for any of these classes:

  • BazTitleScreen — title screen, all inspector properties documented
  • BazPauseMenu — pause menu properties
  • BazTitleMenuEntry — button entry resource
  • BazAudioSettings / BazDisplaySettings / BazInputSettings — static helpers for settings persistence

Property descriptions also show as tooltips when hovering exports in the Inspector.

9 Likes

v1.1 is out and includes save/load system!

:warning: NOW A PLUGIN → Enable it in the Project Settings

You can add save and load screens to the pause menu as well:

5 Likes

Thanks BAZ, keeping this for future use

1 Like

This looks like a very convenient plugin. I’ll download and use it right away. Thank you very much, BAZ.

1 Like

That’s a very convenient plugin. I’ve downloaded it.

BAZ, thank you.

I noticed something after actually using it: when I call up the pause menu while using BAZ’s publicly available “baz_mouse_settings.zip” in conjunction, the mouse cursor (the image only) stops moving. I believe this is happening because “Disable Layers” is active, but is there any workaround for this?

Ah this is something I would need to test and hopefully be able to provide a solution for. Thanks for letting me know, I’ll look into this soon.

I encountered an issue when using this plugin in the sample project “Menu Sample Bazelot Quest”:

In “menu_caller.vs”, when calling the action to show the menu scene “menu_scene_pause.tscn”, the menu displays correctly. Pressing the key to call the action to hide the menu at this point closes the pause menu as expected.

However, after selecting “resume” in the menu to close the pause menu, the menu does disappear on screen and the game resumes, but I cannot bring up the “inventory_menu.tscn” menu unless I press the key again. The editor then outputs the message “[Info] All menus are hidden.”, after which everything returns to normal and I can successfully open the “inventory_menu.tscn” menu.

The same issue occurs after using the “save” function in the pause menu: I need to press the key again to trigger the output “[Info] All menus are hidden.” before it works properly.

I have tried many things but still haven’t found the cause :smiling_face_with_tear:

Interesting, I will check on this and see how to implement it in the Bazelot Quest Sample. Honestly I’m not sure how friendly this menu would be trying to use it with others, but I’ll still look into it and see what I can do.

My issue has been resolved. The problem lay in my own menu action logic. Thank you again~!

1 Like