Structure
This project structure is a proposition. You can use it, modify it or get inspired by it.
Assets/Game
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.
Assets/Game/Application
The 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
Editor/Resources
(namedMyProject_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
- Shaders: special shaders never edited by integrators
- ShaMats: in place of Materials/Shaders, if you need a both folder.
- Misc: misc behaviours
- And others...: inventory system, database... Whatever you want
Assets/Game/*
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: All configuration files (mainly instantiated ScriptableObjects)
- Effects: FX elements
- 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.
- Interfaces: Textures, animations, prefabs..
- Physic: physic materials
- Scenes: project scenes
Structure Tool
With Tools/Wonderland/Editor Tools/Init structure
, select a tar file to create automatically the project structure.
Wonderland standard structure