1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- .. _doc_project_organization:
- Project organization
- ====================
- Introduction
- ------------
- Since Godot has no restrictions on project structure or filesystem usage,
- organizing files when learning the engine can seem challenging. This
- tutorial suggests a workflow which should be a good starting point.
- We will also cover using version control with Godot.
- Organization
- ------------
- Godot is scene-based in nature, and uses the filesystem as-is,
- without metadata or an asset database.
- Unlike other engines, many resources are contained within the scene
- itself, so the amount of files in the filesystem is considerably lower.
- Considering that, the most common approach is to group assets as close
- to scenes as possible; when a project grows, it makes it more
- maintainable.
- As an example, one can usually place into a single folder their basic assets,
- such as sprite images, 3D model meshes, materials, and music, etc.
- They can then use a separate folder to store built levels that use them.
- ::
- /project.godot
- /docs/.gdignore # See "Ignoring specific folders" below
- /docs/learning.html
- /models/town/house/house.dae
- /models/town/house/window.png
- /models/town/house/door.png
- /characters/player/cubio.dae
- /characters/player/cubio.png
- /characters/enemies/goblin/goblin.dae
- /characters/enemies/goblin/goblin.png
- /characters/npcs/suzanne/suzanne.dae
- /characters/npcs/suzanne/suzanne.png
- /levels/riverdale/riverdale.scn
- Importing
- ---------
- Godot versions prior to 3.0 did the import process from files outside
- the project. While this can be useful in large projects, it
- resulted in an organization hassle for most developers.
- Because of this, assets are now transparently imported from within the project
- folder.
- Ignoring specific folders
- ~~~~~~~~~~~~~~~~~~~~~~~~~
- To prevent Godot from importing files contained in a specific folder, create
- an empty file called ``.gdignore`` in the folder (the leading ``.`` is required).
- This can be useful to speed up the initial project importing.
- .. note::
- To create a file whose name starts with a dot on Windows, you can use a
- text editor such as Notepad++ or use the following command in a
- command prompt: ``type nul > .gdignore``
- Once the folder is ignored, resources in that folder can't be loaded anymore
- using the ``load()`` and ``preload()`` methods.
- Ignoring a folder will also automatically hide it from the FileSystem dock,
- which can be useful to reduce clutter.
|