A custom button node for Godot that combines textures, labels, and state management into a single button.
Godot's default buttons are built to be modular and very raw, and they are great for their purpose. I decide to create Advanced Button to be a comprehensive tool to make it easier to create custom button with a lot of capabilities that may be useful for your and your projects, as it has been for me.
This plugin brings easy out-of-the-box features:
- Have options for using textures, styleboxes and texts.
- Handling visual states (hover, pressed, disabled) without complex theme overrides.
- Positioning labels relative to textures (top, bottom, inside, etc).
- Managing toggle states and locking behavior.
- Even label effects, color, font etc.
| Platform | Supported Systems |
|---|---|
| Desktop | 🪟 Windows • 🐧 Linux • 🍎 MacOS |
| Mobile | 🤖 Android • 📱 iOS |
| Others | 🌐 Web |
- Download the latest release
- Extract to your Godot project, and make sure this is how your project structure looks:
your_project_folder/
├── addons/
│ └── advanced_button/
│ ├── advanced_button.gd
│ ├── advanced_button.tscn
│ ├── plugin.cfg
│ ├── plugin.gd
│ └── ...
- Activate the plugin in Project Settings > Plugins
- That's it! Advanced Button should now be installed 😁.
TODO
- Add an
AdvancedButtonnode to your scene - Configure the appearance with the editor properties
- Connect to the
button_pressedsignal to handle interactions - Use properties like
is_disabled,toggable, andbutton_stateto control behavior
Check out my other Godot plugins:
| Plugin | Description |
|---|---|
![]() |
Flexible stat management system (for Health, Mana, Stamina, money etc) |
![]() |
Seed generation system |
![]() |
Flexible time management system |
![]() |
Plugin for handling VERY big numbers. |
If this plugin helped you, please, consider:
- ⭐ Star this repository
- 🐛 Report bugs in Issues
- 💡 Suggest improvements
Enjoy using Advanced Button!




