Skip to main content

Directory Structure

All main project files are contained in the /Assets folder. The structure can be viewed below:

Current structure

General

FolderDescription
../Tools/All non-unity tools, such as coding style presets
../Docs/All Github-rendered documentation except for the licence
../Travis/All config files for our CI Travis

Unity

All Unity related files are contained in the /UnityProject folder.

FolderDescription
/Assets/AnimationsContains most of the animations used in-game
/Assets/Data
/Assets/Interface
/Assets/Light2DContains the Light2D plugin
/Assets/Materials
/Assets/Plugin-NameContains all assets and scripts from a certain plugin
/Assets/PrefabsContains prefabs for most things except for Objects
/Assets/ResourcesContains a lot of files that need to be loaded during the game
/Assets/scenesContains the different scenes (every scene is a separate folder at the moment)
/Assets/ScriptsContains most of the scripts used in-game
/Assets/Scripts/EditorContains most of the scripts used in the editor
/Assets/Scripts/TilemapsContains all Scripts for TMS
/Assets/shaders
/Assets/SoundsContains most of the in-game sounds
/Assets/TexturesContains a lot of sprites
/Assets/UIContains UI related content
/Assets/TilemapsContains most things directly related to the TileMapSystem (TMS)
*/Resources/This is a Resources folder, all content is acted upon as if it was in /Assets/Resources

Todo

The following things should be changed to get a more clear directory structure.

plugins

FolderDescription
/Assets/Plugin-NameContains all assets and scripts from a certain plugin
/Assets/Scripts/Plugin-NameContains all Scripts from a certain plugin
/Assets/Scripts/Plugin-Name/EditorContains all editor Scripts from a certain plugin

Resources
We should create a script to recursively load all resources from /Assets/Resources/Sub-Folder for ex. RecursiveResourceLoad(Subfolder, Filename)

This would enable us to put all resources in a subfolder under /Assets/Resources
One Folder To Find Them, And In-Game Load them

Eventually, even plugin related resources could be moved here, but that may require editing the scripts first, which may or may not be a good thing.

Prefabs
Almost all prefabs are networked and should/will need to be in a resource folder eventually. When a good standardised script is created to recursively load resources from a /Resources/Sub-Directory, we can move most, if not all, prefabs over to the resources directory