project_organization.rst 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. .. _doc_project_organization:
  2. Project organization
  3. ====================
  4. Introduction
  5. ------------
  6. This tutorial is aimed to propose a simple workflow on how to organize
  7. projects. Since Godot allows the programmer to use the file-system as
  8. they please, figuring out a way to organize the projects when
  9. starting to use the engine can be a little challenging. Because of this,
  10. a simple workflow will be described, which can be used or not, but
  11. should work as a starting point.
  12. Additionally, using version control can be challenging so this
  13. proposition will include that too.
  14. Organization
  15. ------------
  16. Godot is scene based in nature, and uses the filesystem as-is,
  17. without metadata or an asset database.
  18. Unlike other engines, a lot of resource are contained within the scene
  19. itself, so the amount of files in the filesystem is considerably lower.
  20. Considering that, the most common approach is to group assets close to scenes as,
  21. when a project grows, it makes it more maintainable.
  22. As example, base sprite images, 3D model scenes or meshes, materials, etc.
  23. can usually be organized in a place, while a separate folder is used
  24. to store built levels that use them.
  25. ::
  26. /project.godot
  27. /docs/.gdignore
  28. /docs/learning.html
  29. /models/town/house/house.dae
  30. /models/town/house/window.png
  31. /models/town/house/door.png
  32. /characters/player/cubio.dae
  33. /characters/player/cubio.png
  34. /characters/enemies/goblin/goblin.dae
  35. /characters/enemies/goblin/goblin.png
  36. /characters/npcs/suzanne/suzanne.dae
  37. /characters/npcs/suzanne/suzanne.png
  38. /levels/riverdale/riverdale.scn
  39. Importing
  40. ---------
  41. Godot version previous to 3.0 did the import process from files outside
  42. the project. While this can be useful in large projects, it
  43. resulted in an organization hassle for most developers.
  44. Because of this, assets are now imported from within the project
  45. folder transparently.
  46. If a folder shouldn't be imported into Godot an exception can be made with a
  47. .gdignore file.