Godot project organizing

Godot uses a hierarchical structure to build a game. A game must have at least 1 scene with 1 script. Without a scene, nothing can be shown on screen. Typically a game will have a Main scene, where everything is connected i.e. player, spawned enemies, score etc.

Scenes, scripts, fonts, graphic images and sounds are all resources in a Godot project. Resources are stored within the project at ‘res://‘. This means that by default all files will be stored in the same location. That might be ok, with small projects (less than 20 resource files in total). But a project usually have a tendency to grow bigger than that very quickly. So to remedy that, it’s recommended to group the different resource types in separate folders.

  • res://‘ – Readme, installation docs etc.
  • res://scenes‘ – All scene files (*.tscn)
  • res://scripts‘ – All script files (*.gd or *.cs if using C# scripting.)
  • res://fonts‘ – All fonts
  • res://gfx‘ – All graphics files (bmp, jpeg, png images etc.)
  • res://shaders‘ – All shader files (*.gdshader)

This way we keep a clear and easy overview of our game resources.