My Optimal Scene & Project Unity Layout
Recently I’ve been creating a “Quick Start” package to make starting a new Unity project much faster for me. I thought I’d show you a small part of that here.
An important part of my “Quick Start” package is the scene and project layout (folders).
In both windows, I’ve created “folders” (in the Scene, they’re actually GameObjects) which are common to the majority of my projects, and are organised for me to use straight away.
In the Scene view, I like to have 5 main “folders” by default:
- Game Systems: Objects that hold components that affect the whole game.
- Scene Managers: Objects that hold components that affect/control this scene.
- Scene Setup: Camera, scene-wide lighting, etc.
- Environment: The terrain, objects, and characters in the scene.
- Canvases: The UI/canvases in the scene.
Each of these is divided with a clear line, for easy identification.
Within these “folders” are sometimes sub-“folders”:
To make creating a new scene like this easier, I’ve created 2 scene templates, as well as a prefab of this layout in the project files.
Scene Templates are created by choosing the “File/Save As Scene Template” option. This option was added in Unity version 2020.2, prior to which, it did not exist.
The Project Files:
Like the scene, I like to keep my project files organized by creating folders which I use in most of my projects. These are:
- Animations, Audio, Graphics, Prefabs, Scenes, and Scripts (Plugins is not one of them).
Inside some of these folders are sub-folders, similar to the Scene:
Like this, I can instantly create/import any game assets, and organize them into their appropriate folders within a minute of starting a new project.
The Unity Package:
Now, obviously just having these folders in this project’s scene and files is not enough. I need to be able to quickly copy all of these to a new project.
That’s where the UnityPackage file comes in.
By exporting/creating a new UnityPackage which contains all of the Project Folders plus the scene templates, I can make a super simple way to copy all of these settings into a new project. (Empty folders cannot be included in a UnityPackage, so I put a placeholder text file in each empty folder I want)