⚡ Godot 4.4.1 Starter Kit — Full Project Structure + Ready-to-Play Menus

:waving_hand: Hello fellow Godotteers,

I got tired of setting up the same folders and menus over and over… so I made a Python script that builds a complete Godot 4.4.1 base project for you.
Run it once, and boom, menus, autoloads, settings, i18n, controller support, the works. :rocket:

:sparkles: Features

  • Complete project structure for Godot 4.4.1
  • Preconfigured project.godot with autoloads, display settings, and audio bus layout
  • Autoload scripts:
  • Settings.gd → audio, video, controls, resolution & language
  • SaveData.gd → JSON save/load system with achievements & level unlocks
  • SceneLoader.gd → threaded scene loading with optional loading screen
  • UI ready to use: Boot screen, Main Menu, Play Menu, Options Menu, Pause Menu, Credits
  • Internationalization support with CSV + ready-made translations (EN, ES, FR, DE, NL)
  • Built-in language selection menu (switch instantly in Options)
  • Controller support out of the box, menus are focus-based, fully navigable with D-pad/analog, highlighted buttons, and default mappings (A = accept, B = cancel, X = fire, Y = bomb, Start = pause)
  • Placeholder files for levels, player, enemies, assets, audio & gfx
  • Custom icon.svg included

:gear: Installation (Make sure Python 3.8+ is installed)

  • Download the script

  • Run in commandline: python godot_project_builder.py MyGame ← or any fancy name you like.

  • Done creating the structure.

  • Open the project - now setup the multi langual stuff..

  • Select res://i18n/strings.csv in the editor

  • Go to Import tab (top left below project)

  • Click the Reimport button.

done…

Run the project → test menus, pause, and language switching

You can download it here

Python script: godot_project_builder.py

:next_track_button: Next Steps

  • After the import… replace the {fullpath}/game/playgame.tscn with your own main scene,
  • add assets, sprinkle some code, tweak the menus… shaders.. bladiebla…
  • Test menus, pause, controller support & language switching
  • split fgx into sprites/, textures, materials etc…

:video_game: Start making a game!

Just wanted to share!!!
:wink:

11 Likes

That’s a great thing!!!
I always sucked at making these boring save,settings etc , especially at folder&file management!
Definitely gonna try!

How is it even free!!!

2 Likes

why you decided to make python scrip instead of just making a project that would be used as template?

3 Likes

Good question!

I went with a Python builder instead of a fixed template mainly because:

Per-project user:// isolation: the script derives a safe project ID from the name, so settings/saves (e.g. user://_settings.save and user://_savegame.save) never clash when you create multiple projects.

Correct paths & names baked in: autoloads, main scene, i18n files, audio bus, etc. are written with the actual project name and folder structure, so nothing needs hand-fixing after copy/paste.

Nice side effects: it’s reproducible (one command = the same, clean structure), easy to version/PR, and simple to tweak flags or add/remove modules for different project variants.

So: template is fine, but the script keeps each new project tidy, isolated, and ready to run with the right names and paths. :+1:

5 Likes

Thanks for answer!

2 Likes

This is great! I’ve thought for a while that godot should have something like this.

2 Likes

Any chance this will be on github so people can update the config and make flavors of it?

1 Like