In This Article:
🤔 Notice something is missing or not working? → Please contact Zoel (zoelbastianbach@agate.id) on Ms. Teams!
A good project structure can communicate where to find certain files and assets to the team, regardless the size or the complexity level of the project.
All files within the same scope should be stored inside one root folder
For example:
<aside> 📂 Assets (expand toggle)
Be aware of Default Folders or Special Folders used and reserved by engines
❌ DO NOT use space (" ") in folder name
✅ DO organize by modules, just as with namespaces (Learn more about Namespace Standard)
❌ WRONG example
<aside> 📂 Game (expand toggle)
❓ Why is this wrong? → this reduce the modularity of each functionality developed, making them hard to reuse as they're scattered all over the place. You have to find a functionality related file in each component type (Controller, View, etc.)
✅ CORRECT example
<aside> 📂 Game (expand toggle)
❓ Why? → now it's easier to, say, reuse the ModuleA for another project. Everything is in one place.
You can also create folders for submodules, nested in its parent module folder
<aside> 📂 Scripts (expand toggle)
Golden rule is, if a folder contains more than 10 items, there might be a way to categorize the items even further
Rather than this...
<aside> 📂 Gameplay
Try this (if appropriate)
<aside> 📂 Gameplay
✅ TRY to match module's folder name with its namespace