This project structure is a proposition. You can use it, modify it or get inspired by it.
All the data is in
Assets/Game. We do not use
Assets as root folder because all external modules are installed in it. This isolates the content of your application.
Application directory is dedicated to developers. It contains scripts, main shaders, main materials and functional prefabs.
- FSM: 1 folder per StateMachine
- GameEntity: states, aspects and their icons are in
MyProject_MyIcon.png; type Editor GUI and read/write enabled)
- GameManagement: all managers with dedicated directory if there are many files
- Inputs: if you want to create your own input system using Wonderland Inputs module; Action, Bridge folder, Hardware folder and PlayerInput
- Materials: special materials never edited by integrators
- Misc: misc behaviours
- Shaders: special shaders never edited by integrators
- And others...: inventory system, database... Whatever you want
All other directories are used by integrators. The goal is to simplify the project structure to non developers. They can re-organize the content how they want without any impact on the game core.
- Audio: Game sounds and musics
- Data: Scriptable objects and all the configuration files
- Effects: Visual Effect Graph elements
- Interfaces: Textures, animations, prefabs..
- Physic: physic materials
- Scenes: project scenes
- Entities: models, materials and textures ordered by object. Note that you do as you like, you can replace this folder by Textures, Materials, Prefabs... It is mainly the artist's and integrators choice.