-
Notifications
You must be signed in to change notification settings - Fork 1
Folders Hierarchy
Bdiebeak edited this page Jul 19, 2024
·
11 revisions
It is important to keep each part (and module) of a project separate and not mix them together. To achieve this, you should create a clear structure and project hierarchy.
It might look like:
- Backend
- ...
- Frontend
- Assets
- Art
- Materials
- Models
- Shaders
- Sprites
- Textures
- Code
- Editor - code for editor features (custom windows, etc.)
- Runtime - code for runtime logic
- Meta - meta part of app (e.g. UI menu)
- Core - core, repeatable logic
- Infrastructure - the main components for configuring, launching and operating the app
- Utilities - additional code for services, extensions and etc.
- Prefabs
- Settings - project settings (e.g. lighting settings, import presets, etc.)
- ...
- Shared - shared code for frontend and backend (models, requests, etc.)
With this approach, the Backend, Frontend and Shared modules can all be separate repositories. The Shared, for example, can be linked to the project as a submodule.
It's a good practice to store project files in special folder inside Assets. You could name it Project or use the actual name of project.
Over time, projects get messy with third-party plugins and SDKs. The Assets folder can quickly become full, making it harder to manage. With separate folder, you can avoid this issue.