🌟 We are Open Source! Check out our repository on GitHub

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.