Naming Conventions

High Priority - Game Art - Naming Conventions - banner

Let’s keep this short and sweet. Naming conventions are important. It keeps the project clean, files organized, improves workflow. But most of all, it trains people to think and act in a certain way. We all know that artists can be easy going and slack on the small details. Giving programmers a hard time. So keeping your art team sharp is important. We here at High Priority use the following naming conventions. Heavily based on industry standard, most of it coming from the Unreal ways. But with small tweaks here and there.

1. Upper CamelCase / PascalCase

Use Pascal Case when naming assets. PascalCase is the practice of writing compound words or phrases such that the first letter of each concatenated word is capitalized.

Good examples:

  • BlackColor
  • TimeUTC
  • RedCat
  • ComputerRAMSize

Bad examples:

  • blackColor
  • Time UTC (Notice the space between Time and UTC, this is wrong)
  • Redcat
  • ComputerRAMsize

2. Prefixes & Suffixes

Prefixes

SM_ 3D files. Static Meshes, Weapons, Foliage, Props with just a few joints for function.
SK_ 3D files that contain humanoid and animal skeleton joint rigs
T_ Texture
M_ Material
A_ Animation (clip) / Animation Sequence
J_ Joints / Bones
AC_ Unity Animation Controller
PP_ Post Process
ABP_ Animation Blueprint
MI_ Material Instance
MF_ Material Function
MPC_ Material Parameter Collection
PM_ Physical Materials
BP_ Unreal Blueprint
MT_ Morph Target
P_ Particle System
S_ Sounds
SH_ Shader

Suffixes

For textures only. Each map type is represented with ‘one’ letter. Color is _C, Metallic is _M, Emissive is _E. If maps are combined to create a combined RGB mask map. We combine the letters. So _M(etallic) with _R(oughness) with _O(cclusion) becomes _MRO.

_C Color map (diffuse or albedo)
[Optional 4th channel = Alpha/Opacity]
_A Alpha / Opacity mask
_M Metallic mask
_R Roughness mask
_N Normal map
_O Occlusion mask
_E Emissive map
_H Height mask
_D Displacement map
_S Specular mask (barely used)
_MRO Mask map combined
[R=Metallic, G=Roughness, B=AO, 4th channel = Emissive, Height or Other]
_I Color ID masks or color channel map
_SS (Exception to the rule. Is more than one letter) Subsurface mask
_F Flow map

3. Texture Channels

Color map [ _C ]

  • RGB = Color
  • 4th channel = Opacity, Height or Blend Mask (Optional)

Normal map [ _N ]

  • R = X+
  • G = Y+ (Unreal = Y-)
  • B = Z+

Combined Mask map [ _MRO ]

  • R = Metallic
  • G = Roughness
  • B = Occlusion Mask
  • 4th channel = Emissive, Height or other (Optional)

4. Folder Structure

Root content folders

Content/…
…/Assets
…/ …/Characters
…/ …/Vehicles
…/ …/Weapons
…/ …/Environments
…/ …/ …/Props
…/ …/ …/Effects
…/ …/ …/SharedAssets
…/ …/ …/ …/Materials (For example a tileable brick material to be used on multiple things)
…/ …/ …/ …/Textures (For example a shared noise texture)
…/ …/ …/Landscape
…/ …/ …/Background
…/Shaders
…/Maps
…/Sound
…/UI
…/Gameplay
…/PostProcess

Sub folder per “object”

Each “object” and it’s files get their own folder. For example;
Content/Environments/Props/BigTree/
    /SM_BigTree_01
    /T_BigTree_01_C
    /M_BigTree_01

Assets that do not have a specific “object” they belong to. For example a tile-able brick material and it’s textures. Go into a “SharedAsset” folder.

5. Examples

Asset naming example

[Prefix]_[Name]_[Number & letter]_[Suffix].[Format]

SM_RoofTiles_01.fbx [mesh]
T_RoofTiles_01_C.png [color, albedo or diffuse map]
T_RoofTiles_01b_C.png [variation on the color map]
T_RoofTiles_01_R.png [roughness mask]
T_RoofTiles_01_M.png [metallic mask]
T_RoofTiles_01_N.png [normals map]
T_RoofTiles_01_O.png [occlusion map]
M_RoofTiles_01 [material]
M_RoofTiles_01b [same material, but using _01b color map]

Unity Prefab:

SM_RoofTiles_01
SM_RoofTiles_01b

[Prefix]_[Name]_[Number & letter]_[Suffix].[Format]

SK_CharacterBob_01.fbx [rigged & skinned skeletal mesh]
T_CharacterBob_01_C.png [color, albedo or diffuse]
T_CharacterBob_01_MRO.png [combined mask map; metal, rough, occlusion]
T_CharacterBob_01_N.png [normals map]
M_CharacterBob_01 [material]

Unity Prefab:

SK_CharacterBob_01

Folder structure example

This applies to both in-engine and in the project folder on your computer or sub versioning.

  • …/Content
    • …/Maps [Folder]
      • MAP_Graveyard
      • MAP_Bridge
    • …/Shaders [Folder]
      • SH_ScreenSpaceReflections
      • SH_ExtraAmbientOcclusion
    • …/Assets [Folder]
      • …/Characters [Folder]
        • …/BigBoss [Folder]
          • SK_BigBoss_01 [Prefab/Blueprint]
          • SK_BigBoss_01.fbx
          • T_BigBoss_01_C.png
          • T_BigBoss_01_MRO.png
          • T_BigBoss_01_N.png
          • M_BigBoss_01
          • …/Source [Folder]
            • Authoring files go here
      • …/Vehicles [Folder]
      • …/Environments [Folder]
        • …/Landscape [Folder]
        • …/SharedAssets [Folder]
        • …/Props [Folder]
          • …/BigTree [Folder]
            • SM_BigTree_01 [Prefab/Blueprint]
            • SM_BigTree_01b [Prefab/Blueprint]
            • SM_BigTree_01.fbx
            • T_BigTree_01_C.png
            • T_BigTree_01b_C.png
            • T_BigTree_01_MRO.png
            • T_BigTree_01_N.png
            • M_BigTree_01
            • M_BigTree_01b
            • …/Source [Folder]
              • Authoring files go here
      • …/Effects [Folder]
        • …/Lightray [Folder]
          • P_Lightray_01 [Prefab/Blueprint]
          • P_Lightray_01b [Prefab/Blueprint]
          • SM_Lightray_01.fbx
          • T_Lightray_01_C.png
          • M_Lightray_01
          • M_Lightray_01b
          • …/Source [Folder]
            • Authoring files go here

High Priority - Game Art