A collection of beautiful, fully customizable main menu themes for Godot Engine with seamless theme switching functionality.
- 4 Distinct Themes: Dark, Purple, Red, and Light themes
- Real-time Theme Switching: Switch between themes instantly with a single button
- Complete UI Elements:
- Main menu buttons (Host Game, Join Game, Server Browser, Settings, Quit)
- Player information panel with name input
- Network information display
- Connection status indicator
- Version information
- Polished Design: Custom StyleBox resources with rounded corners, shadows, and smooth transitions
- Ready to Use: Drop into any Godot project and customize as needed
Click on each section to view the screenshots:
- Background: Deep dark blue-gray (
Color(0.05, 0.05, 0.08, 1)
) - UI Elements: Sleek black buttons with gray borders
- Perfect for: Modern, professional game interfaces
- Background: Rich purple gradient (
Color(0.1, 0.05, 0.2, 1)
) - UI Elements: Purple-themed buttons and panels
- Perfect for: Fantasy, magical, or creative games
- Background: Deep crimson (
Color(0.08, 0.02, 0.02, 1)
) - UI Elements: Bold red styling with warm tones
- Perfect for: Action, horror, or intense gameplay experiences
- Background: Clean light blue-white (
Color(0.96, 0.97, 0.99, 1)
) - UI Elements: Bright, modern design with subtle shadows
- Perfect for: Casual, family-friendly, or minimalist games
- Download the scene files from this repository
- Import into your Godot project
- Add the main menu scene to your project
- Customize colors, text, and functionality as needed
MainMenuThemes/
├── MainMenu_Dark.tscn # Dark theme variant
├── MainMenu_Purple.tscn # Purple theme variant
├── MainMenu_Red.tscn # Red theme variant
├── MainMenu_Light.tscn # Light theme variant
└── README.md # This file
Each theme uses StyleBoxFlat
resources that can be easily modified:
- Button Colors: Modify
bg_color
andborder_color
properties - Panel Styling: Adjust transparency and corner radius
- Font Colors: Update
theme_override_colors/font_color
Connect button signals in your script:
func _ready():
$UI/MainContainer/MenuButtons/HostGameBtn.pressed.connect(_on_host_game)
$UI/MainContainer/MenuButtons/JoinGameBtn.pressed.connect(_on_join_game)
# Add more connections as needed
func _on_host_game():
# Your host game logic here
pass
The theme toggle button allows runtime switching between different visual styles. Implement your switching logic:
func _on_theme_toggle():
# Switch between theme scenes or modify StyleBox resources
pass
- Host Game: Start a multiplayer server
- Join Game: Connect to existing server
- Server Browser: Browse available servers
- Settings: Game configuration options
- Quit: Exit the application
- Player Info: Name input and status display
- Network Info: IP address, port, and player count
- Version Label: Game version and credits
- Godot Version: Compatible with Godot 4.x
- Scene Format:
.tscn
files with embedded resources - Styling: Custom
StyleBoxFlat
resources - Layout: Responsive anchor-based positioning
- Performance: Optimized with minimal draw calls
Feel free to:
- Submit bug reports
- Suggest new themes or features
- Create pull requests with improvements
- Share screenshots of your customizations
This project is open source. Feel free to use, modify, and distribute in your own projects.
Created by: Yanel
Engine: Godot Engine
Version: v1.0.0
- Use the theme toggle to test different moods for your game
- Combine elements from different themes to create your unique style
- The modular design makes it easy to add new themes
- All themes maintain consistent functionality across visual variants
⭐ If this helped your project, consider giving it a star!