In this lesson, you will learn how to build a professional, scalable file hierarchy that keeps your project from becoming a cluttered mess as you add more assets.
The Importance of a Scalable Hierarchy
When you first start a project, it is tempting to throw all your sounds, scripts, and models into the root Assets folder. However, as your game grows from five files to five hundred, finding that one specific "PlayerController" script becomes impossible. A standardized folder structure acts as a filing cabinet for your project, ensuring that you (and your teammates) know exactly where to look for specific types of data.
Standardized Folder Structure
A common industry standard is to create top-level folders based on asset type. Start by creating these inside your Assets window:
_Project: Keep your personal/internal project files here.Animations: StoreAnimationClipsandAnimatorControllers.Audio: Categorize intoMusicandSFXsubfolders.Materials: Contains all your visual surface definitions.Prefabs: The home for your reusable templates.Scenes: Where your individual level files live.Scripts: Group these by functionality (e.g.,Player,Enemy,UI).Textures: For your raw images and sprites.
The Power of Naming Conventions
Naming conventions are just as important as folder structure. Avoid generic names like New Script or Cube_Final_2. Instead, use a consistent prefix or suffix system so files sort alphabetically and logically.
For example, when naming a Prefab, use:
PFB_PlayerCharacterPFB_EnemyOrc
When naming scripts, use a clear descriptive style like:
PlayerMovement.csHealthController.cs
By prefixing your assets (e.g., MAT_ for Materials, TEX_ for Textures), they will appear grouped together in the Project view, making it much easier to browse assets when dragging them into the Inspector or assigning them to component slots.
Key Takeaway: A clean, consistent folder structure and descriptive naming convention prevent "asset sprawl," allowing you to focus on building your game instead of searching for lost files.