Godot Project Structure
A scalable and maintainable folder structure for Godot game development
File Structure
- scenes
- levels
- Level1.tscn
- Level2.tscn
- TestLevel.tscn
- characters
- Player.tscn
- Enemy.tscn
- NPC.tscn
- ui
- MainMenu.tscn
- HUD.tscn
- SettingsMenu.tscn
- environment
- Platform.tscn
- Collectible.tscn
- effects
- Explosion.tscn
- Particle.tscn
- scripts
- characters
- Player.gd
- Enemy.gd
- BaseCharacter.gd
- managers
- GameManager.gd
- SceneManager.gd
- AudioManager.gd
- SaveManager.gd
- ui
- MainMenu.gd
- HUD.gd
- BaseUI.gd
- systems
- InventorySystem.gd
- DialogueSystem.gd
- utils
- Constants.gd
- Utils.gd
- assets
- sprites
- characters
- environment
- ui
- audio
- music
- sfx
- fonts
- shaders
- addons
- custom_plugin
- data
- levels.json
- items.json
- project.godot
- export_presets.cfg
- .gitignore
- README.md
Directory Structure Explanation
scenes/environment/
Environmental scene files including platforms, obstacles, and interactive objects.
scenes/effects/
Visual and particle effect scenes for explosions, magic effects, and other visual elements.
scripts/systems/
Game system scripts including inventory, dialogue, and other complex game mechanics.
scripts/utils/
Utility scripts including constants, helper functions, and common utilities.
assets/shaders/
Custom shader files for specialized visual effects and rendering.
addons/
Custom plugins and addons that extend Godot's functionality.
data/
Game data files including level configurations, item definitions, and other data assets.