This addon adds a container, that can have multiple tabs, which the user can change by swiping left or right on the screen. It is based on the ScrollContainer node.Getting Started:• Download the addon and place it into your project directory, either manually, or through the Asset Store• Activate it in the Project Settings ("Plugins" tab)• Add a BetterTabContainer node to a scene. It is recommended that it is either set to full rect or has a "Fill" horizontal size flag• Add multiple nodes to it. Each child node counts as a separate tab, it can be any type of Control node. Please ignore the "ScrollContainer can only have one node" warning, I am actively trying to get rid of it• Done!Customizing the Node:• You can set the "Current Tab" property in the inspector. By default, it is set to 0, meaning the first tab is active on start• You can connect the "tab_switched" signal to another node to detect when it's changed• If you want to change the tab through code (for example, if you have a list of tab buttons next to the container), you can call the switch_tab(tab) method• You might also want to hide the horizontal scroll bar, as it does nothing• If you want to be able to swipe on tabs, make sure to set all of the children containers' mouse filter to "Pass", so it detects input
Quick Information
Free, complete main menu / pause / options / credits system for Godot 4.3+.- MainMenuUI: Play / Options / Credits / Quit- PauseMenuUI: pauses the tree; Resume / Options / Main Menu / Quit- OptionsMenuUI: Audio (master/music/sfx buses), Display (window mode, resolution, vsync, fps), Controls (one-click key rebinding), Accessibility (font scale, colorblind filter, reduce motion)- CreditsUI, KeyRebindRow, and a MenuTheme resource for one-swap recoloring- Settings autoload: get_value/set_value/reset; persists to user://settings.jsonPure GDScript, no dependencies, MIT. Runnable demo included (main menu → game → pause).
Settings + Menus
Free, polished main menu / pause / options / credits template for Godot 4.3+. Persistent settings, audio buses, resolution + window mode, key rebinding, accessibility (font scale, colorblind filter, reduce motion).
Fully standalone and complete — no paid tier, no locked features. It pairs cleanly with the other CindieForge RPG systems if you use them, but never requires them.
What's inside
addons/settings_menus/ ← copy this folder into your project
demo/ ← runnable main-menu → game → pause loop
docs/ ← quick start + theming
LICENSE
CHANGELOG.md
5-minute install
- Copy
addons/settings_menus/into your project'saddons/folder. - Project → Project Settings → Plugins → enable Settings + Menus.
- Set your main scene to a script that instantiates
MainMenuUI(or use a packed scene with one as the root — seedemo/main_menu_scene.tscn). - Set
play_scene_pathto your gameplay scene. - Drop a
PauseMenuUIinto your gameplay scene root. - Press Play.
See docs/quick-start.md for the worked example.
Features
MainMenuUI— Play / Options / Credits / Quit; configurable scene path.PauseMenuUI— listens for thepauseaction; pauses the tree; Resume / Options / Main Menu / Quit.OptionsMenuUI— tabbed: Audio (master / music / sfx buses), Display (window mode + resolution + vsync + fps counter), Controls (one-click key rebind for any project action), Accessibility (font scale, colorblind filter, reduce motion).CreditsUI— scrolling credits authored as a single multiline string with#headings.KeyRebindRow— drop-in row for one rebindable action. Used by the Controls tab; reusable in your own UIs.MenuThemeResource — recolor every menu in one swap. Brand title + subtitle + background.Settingsautoload — settings dict withget_value/set_value/reset_to_defaults, persistence (uses Save addon if installed, falls back touser://settings.json).- Key rebinding persisted as serialized events. Keyboard / mouse buttons / joypad buttons supported.
Status
v1.0. Godot 4.3+. Pure GDScript. MIT licensed.
License
MIT. See LICENSE.
Want more?
This template is complete and free. The other CindieForge RPG systems — Save, Inventory, Equipment, Crafting, Vendor, Quests, Stats/Skills — are listed below.
Part of a family
The free Lite tier of one system in a set of Godot 4 RPG systems built to interoperate (shared item + save contracts) — each also works fully standalone.
Free tiers — try before you buy:
- Inventory Lite — item slots, stack merging, capacity
- Equipment Lite — 4-slot gear manager
- Save/Load Lite — single-slot JSON persistence
- Crafting Lite — shapeless instant recipes
- Quests Lite — COLLECT + KILL quests
- Stats/Skills Lite — stat aggregator
- Vendor Lite — single fixed-currency shop
- Settings + Menu System — complete, free, no paid tier
Full versions — drop-in UI, weight/categories, timed crafting, restock & currencies, save-aware cross-system integration, and more — are on itch.io: https://selodev.itch.io
Free, complete main menu / pause / options / credits system for Godot 4.3+. - MainMenuUI: Play / Options / Credits / Quit - PauseMenuUI: pauses the tree; Resume / Options / Main Menu / Quit - OptionsMenuUI: Audio (master/music/sfx buses), Display (window mode, resolution, vsync, fps), Controls (one-click key rebinding), Accessibility (font scale, colorblind filter, reduce motion) - CreditsUI, KeyRebindRow, and a MenuTheme resource for one-swap recoloring - Settings autoload: get_value/set_value/reset; persists to user://settings.json Pure GDScript, no dependencies, MIT. Runnable demo included (main menu → game → pause).
Reviews
Quick Information
Free, complete main menu / pause / options / credits system for Godot 4.3+.- MainMenuUI: Play / Options / Credits / Quit- PauseMenuUI: pauses the tree; Resume / Options / Main Menu / Quit- OptionsMenuUI: Audio (master/music/sfx buses), Display (window mode, resolution, vsync, fps), Controls (one-click key rebinding), Accessibility (font scale, colorblind filter, reduce motion)- CreditsUI, KeyRebindRow, and a MenuTheme resource for one-swap recoloring- Settings autoload: get_value/set_value/reset; persists to user://settings.jsonPure GDScript, no dependencies, MIT. Runnable demo included (main menu → game → pause).