Below is a comprehensive guide to our naming system that your future team can follow.
1. Always use lowercase.
2. Follow the versioning. Append _v<number> to every file name. Update this number when you make
significant changes to the asset.
3. Keep folder names descriptive. Even though file names use abbreviations, folders should use full, clear
names (e.g., Assets, Scenes, Scripts).
4. Be descriptive yet concise. The file name should convey the essential details (e.g., what the asset is, its
variant or part, and its purpose).
5. Maintain consistency across asset types. Use the same structure and abbreviations for similar asset types
to ensure everyone on the team can quickly identify and locate files.
Folder Structure
Use full names for folders to maintain clarity. Our recommended structure is:
res://
├── Assets/
│ ├── Audio/
│ │ ├── Music/
│ │ └── Sfx/
│ ├── Images/
│ │ ├── Materials/
│ │ └── Visual Effects/
│ ├── Models/
│ ├── Shaders/
│ └── Fonts/
│
├── Scenes/
│ ├── Characters/
│ ├── Environment/
│ ├── Items/
│ └── UI/
│
├── Scripts/
│ ├── Characters/
│ ├── Environment/
│ ├── Items/
│ ├── Managers/
│ └── UI/
│
├── Config/
├── Addons/
└── Docs/
Field Definitions:
• <item>: Main asset or object (e.g., roof, wall)
• <variant/type>: Variant or style (e.g., 60, 45)
• <part>: Specific section (e.g., corner, side, center)
• <material_type>: Material/finish type (e.g., metal, wood, pbr)
• <optional_detail>: Extra info (if needed; e.g., shingles, polished)
• <description>: For textures, a brief description like the material or color (e.g., metalshingles_red)
• <map_type>: Texture map type (e.g., alb for albedo, nrm for normal, rough for roughness)
• <version>: Version number (e.g., v1, v2)
File Naming Conventions
All file names must be in lowercase and use the abbreviated prefixes for clarity.
Models
• Format:
mo_<item>_<variant/type>_<part>_v<version>
• Example:
mo_roof_60_corner_v1
Mesh
• Format:
me_<item>_<variant/type>_<part>_v<version>
• Example:
me_roof_60_corner_v1
Material
• Format:
ma_<item>_<material_type>_[<optional_detail>]_v<version>
• Example:
ma_roof_metal_shingles_v1
Texture
• Format:
tx_<item>_<description>_<map_type>_v<version>
• Example:
tx_roof_metalshingles_red_alb_v1
• list of common texture map type abbreviations in lowercase:
1. alb – albedo map (base color information; often used interchangeably with diffuse)
2. diff – diffuse map (alternative to albedo in some workflows)
3. nrm – normal map (adds surface detail and depth)
4. rough – roughness map (defines surface micro-roughness)
5. spec – specular map (controls specular reflection intensity/color in specular workflows)
6. met – metallic map (distinguishes metallic from non-metallic areas)
7. ao – ambient occlusion map (adds shading in crevices for depth)
8. hgt or disp – height/displacement map (provides height information for parallax or displacement)
9. emi – emissive map (defines areas that emit light)
10. opac – opacity map (controls transparency)
11. gloss – glossiness map (often the inverse of roughness in some workflows)
12. sss – subsurface scattering map (for simulating light penetration in translucent materials)
13. det – detail map (adds fine details over the main texture)
Scenes
• Characters:
char_<name>_v<version>.tscn
Example: chr_player_v1.tscn
• Environment:
env_<name>_v<version>.tscn
Example: env_forest_v1.tscn
• Items:
item_<name>_v<version>.tscn
Example: itm_healthpotion_v1.tscn
• UI:
ui_<name>_v<version>.tscn
Example: ui_mainmenu_v1.tscn
Scripts
• Characters:
char_<function>_v<version>.gd
Example: chr_playercontroller_v1.gd
• Environment:
env_<function>_v<version>.gd
Example: env_daycycle_v1.gd
• Items:
item_<function>_v<version>.gd
Example: itm_pickup_v1.gd
• Managers:
mgr_<function>_v<version>.gd
Example: mgr_gamestate_v1.gd
• UI:
ui_<function>_v<version>.gd
Example: ui_menu_v1.gd
Audio
Keep audio file names concise:
• Music:
mus_<name>_v<version>.<ext>
Example: mus_battle_v1.ogg
• Sfx:
sfx_<name>_v<version>.<ext>
Example: sfx_click_v1.ogg
Images
• Visual Effects:
Use a vfx_ prefix for visual effect images.
Format:
vfx_<description>_v<version>.<ext>
Example: vfx_explosion_v1.png
This guide provides a clear and concise system for naming and organizing files in our Godot project. Following
these conventions will help keep the project organized and make collaboration straightforward for the entire
team.