High Priority – Game Art

Naming Conventions

High Priority - Naming Conventions - Banner

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. General Rules & Quick Example

  • All names in English, using PascalCase.
  • Asset type determines prefix. Only textures have a suffix.
  • Use 2 digits and 1 letter for family numbering and variations.
  • Use underscores to split prefix, asset name, numbering and suffix
  • One folder per asset and it’s asset dependencies.

[Prefix]_[AssetName]_[Family numbering][Variation letter]_[Suffix].[Format]

[  Folder : RoofTiles_01  ]
SM_RoofTiles_01a.fbx [mesh]
T_RoofTiles_01a_C.png [color or albedo or diffuse]
T_RoofTiles_01b_C.png [variation of color map]
T_RoofTiles_01a_R.png [roughness]
T_RoofTiles_01a_M.png [metallic]
T_RoofTiles_01a_N.png [normals]
T_RoofTiles_01a_A.png [AO]
M_RoofTiles_01a [material]
M_RoofTiles_01b [same material, but uses the 01b_C texture]

2. 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

3. Prefixes & Suffixes

Prefixes

SM_  3D files. Static Meshes, Weapons, Foliage, Props with just a few joints for function.
SK_ 3D files that contain humanoid or animal skeleton joint rigs
T_ Texture
M_ Material
MI_ Material Instance
MF_ Material Function
MPC_ Material Parameter Collection
J_ Joints / Bones
SH_ Shader
P_ Particle System
A_ Animation (clip) / Animation Sequence
AC_ Unity Animation Controller
ABP_ Animation Blueprint
PP_ Post Process
MT_ Morph Target
S_ Sounds
SC_ Sounds Cue
BP_ Unreal Blueprint
Unity Prefabs Are named the same as the asset they house. Eg, SM_BigTree_01a

Suffixes (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 _A(mbient Occlusion) becomes _MRA.

_C Color map (diffuse or albedo)
[Optional 4th channel = Height or Transparency/Opacity]
_T Transparency / Opacity mask
_M Metallic mask
_R Roughness mask
_S Smoothness (Inverted roughness map)
_N Normal map
_A Ambient Occlusion mask
_E Emissive map
_H Height mask
_D Displacement map (Often a blurred height map re reduce artifacts)
_MRA (Combined mask) Mask map combined
[R=Metallic, G=Roughness, B=AO, 4th channel = Emissive, Height or Other]
_MADS (Unity HDRP mask) Mask map combined
[R=Metallic, G=AO, B=Detail Map, 4th channel = Smoothness]
_I Color ID masks or color channel map
_U Subsurface mask

4. Numbering

T_ObjectName_01a_C

There are two parts to the numbering. The number, and the letter.

The number is for family numbering. A completely new asset but within the same family. For example:

  • SM_WillowTree_01a
  • SM_WillowTree_02a

These are two different tree models, but part from the same WillowTree family.

The letters are for variations of the same asset. Most commonly used for texture variations.

  • M_WillowTree_01a
  • M_WillowTree_01b

Both of these are for the same model. So the SM_WillowTree_01 model. But the B variation has a different leaf and bark color. And so uses different textures and materials.

5. Folder Structure

Folder per “object”
Each “object” and its dependency files get their own folder. For example:

Content/Environments/Props/BigTree_01/…
    …/SM_BigTree_01.fbx
    …/T_BigTree_01_C.tga
    …/T_BigTree_01_M.tga
    …/T_BigTree_01_R.tga
    …/T_BigTree_01_N.tga
    …/M_BigTree_01.mat

Content/…
…/Characters
…/Vehicles
…/Weapons
…/Effects
…/Environments
…/   …/Terrain
…/   …/Background
…/   …/Props
…/   …/   …/BigTree_01 [ Game ready export files go here ]
…/   …/   …/   …/ [ SM_BigTree_01 ]
…/   …/   …/   …/ [ T_BigTree_01_C ]
…/   …/   …/   …/ [ T_BigTree_01_M ]
…/   …/   …/   …/ [ T_BigTree_01_R ]
…/   …/   …/   …/ [ T_BigTree_01_N ]
…/   …/   …/   …/ [ M_BigTree_01 ]
…/   …/   …/   …/Source [ Authoring source files go here. Not included in the game engine ]
…/   …/   …/   …/   …/ [ Modo, 3Ds Max, Maya, etc ]
…/   …/   …/   …/   …/ [ Zbrush ]
…/   …/   …/   …/   …/ [ Photoshop ]
…/Materials [ Global tile-able materials and their dependency files go here ]
…/   …/CobbleStone_01
…/   …/   …/ [ T_CobbleStone_01a_C ]
…/   …/   …/ [ T_CobbleStone_01a_M ]
…/   …/   …/ [ T_CobbleStone_01a_R ]
…/   …/   …/ [ T_CobbleStone_01a_N ]
…/   …/   …/ [ T_CobbleStone_01a_D ]
…/   …/   …/ [ M_CobbleStone_01a ]
…/   …/   …/   …/Source [ Authoring source files go here. Not included in the game engine ]
…/   …/   …/   …/   …/ [ Modo, 3Ds Max, Maya, etc ]
…/   …/   …/   …/   …/ [ Zbrush ]
…/   …/   …/   …/   …/ [ Photoshop ]
…/Shaders
…/Scenes or Maps
…/Sound
…/UI
…/Gameplay
…/Volumes

High Priority - Game Art