A clean, minimal Godot 4.4 game template with loading screen, main menu, and game scene structure. Perfect for starting new game projects with a professional foundation.
This template provides a solid foundation for game development with:
- Loading Screen: Professional loading animation with progress bar
- Main Menu: Clean interface with New Game and Quit options
- Game Scene: Empty game scene ready for your content
- Scene Management: Automatic scene transitions via singleton
- Enhanced Loading Screen:
- Professional loading animation with progress bar
- Dynamic loading stages (Initializing, Loading Assets, etc.)
- Rotating tips and helpful information
- Version display
- Smooth animations and transitions
- Background color animation
- Configurable loading time
- Audio System:
- Background music support with fade in/out
- Sound effects for UI interactions
- Volume control for music and SFX
- Automatic audio file detection
- Settings Management:
- Persistent user settings
- Audio volume controls
- Display settings (fullscreen, vsync)
- UI preferences (show/hide tips, version)
- Configurable loading time
- Pause System:
- Professional pause menu with resume, settings, main menu, and quit options
- Game state preservation during pause
- Audio pause/resume handling
- Input blocking during pause
- Escape key toggle functionality
- Main Menu System: Simple and clean menu interface with audio feedback
- Scene Transitions: Smooth scene management with fade effects
- Input Handling: Escape key toggles pause menu in game
- Responsive Design: Works with different window sizes
- Clean Architecture: Well-organized code structure with singletons
getting_started/
├── scenes/
│ ├── loading_screen.tscn # Enhanced loading screen with tips and animations
│ ├── main_menu.tscn # Main menu with New Game/Quit options
│ └── game.tscn # Empty game scene for your content
├── scripts/
│ ├── scene_manager.gd # Singleton for smooth scene transitions
│ ├── audio_manager.gd # Singleton for audio management
│ ├── settings_manager.gd # Singleton for user settings
│ ├── loading_screen.gd # Enhanced loading screen logic
│ ├── main_menu.gd # Main menu with audio feedback
│ └── game.gd # Game scene initialization
├── audio/
│ ├── music/ # Background music files
│ │ └── README.md # Music usage instructions
│ └── sfx/ # Sound effect files
│ └── README.md # SFX usage instructions
├── project.godot # Project configuration
├── icon.svg # Project icon
├── icon.svg.import # Icon import settings
└── .gitignore # Git ignore rules
- Download and Install Godot 4.4 from godotengine.org
- Open the Project:
- Launch Godot Engine
- Click "Import" or "Open"
- Navigate to this project folder and select the
project.godotfile
- Run the Project:
- Press
F5or click the "Play" button - You'll see the loading screen, then main menu, then game scene
- Press
-
Enhanced Loading Screen (configurable, default 3 seconds):
- Shows game title with breathing animation
- Dynamic loading stages (Initializing → Loading Assets → Preparing Game → Almost Ready)
- Rotating helpful tips and information
- Version display
- Smooth progress bar animation
- Background color animation
- Optional background music (if
loading_music.oggexists) - Fade transition to main menu
-
Main Menu:
- New Game: Starts the game scene with button sound
- Quit: Exits the application with button sound
- Optional background music (if
menu_music.oggexists)
-
Game Scene:
- Empty scene ready for your game content
- Press Escape to pause the game
- Pause menu with resume, settings, main menu, and quit options
Edit the title in scenes/loading_screen.tscn and scenes/main_menu.tscn
Modify the loading time in settings or change SettingsManager.get_loading_time() in scripts/loading_screen.gd
- Add
loading_music.oggtoaudio/music/for loading screen music - Add
menu_music.oggtoaudio/music/for main menu music - Add
button_click.oggtoaudio/sfx/for button sounds - Audio files are automatically detected and played
The game automatically saves user settings to user://settings.cfg:
- Audio volumes (music, SFX)
- Display settings (fullscreen, vsync)
- UI preferences (show/hide tips, version)
- Loading time
Update the ColorRect colors in each scene file
- Create new scene files in the
scenes/folder - Add corresponding scripts in the
scripts/folder - Use
SceneManager.change_scene("path/to/scene.tscn")to transition
- Include the pause menu scene in your game scenes
- Use
pause_menu.show_pause_menu()to pause - Use
pause_menu.hide_pause_menu()to resume - Customize the pause menu UI as needed
Edit the loading_tips array in scripts/loading_screen.gd to customize the rotating tips
- Godot Engine 4.4 or later
- No additional dependencies required
- SceneManager: Handles smooth scene transitions with fade effects
- AudioManager: Manages background music and sound effects with volume control
- SettingsManager: Handles persistent user settings and configuration
- Each scene has its own script for specific functionality
- The template uses Control nodes for UI scenes and Node2D for game scenes
- Input handling is set up for basic navigation (Escape key)
- All scripts are well-commented and follow Godot best practices
- Audio files are automatically detected - just add them to the appropriate folders
- Settings are automatically saved and loaded between sessions
After setting up this template:
- Add your game content to the
game.tscnscene - Create additional scenes for different game states
- Add sound effects and music to the
audio/folders - Implement save/load functionality for game progress
- Add a settings menu using the SettingsManager
- Create additional UI elements and menus
- Add particle effects and visual enhancements
- Implement game-specific features and mechanics
📋 For detailed recommendations and enhancement roadmap, see RECOMMENDATION.md
This template is open source and follows the same license as the Godot Engine.