AssetNamingConvention - AbdullahAlaskari/VertigoAnims GitHub Wiki

Assets require the correct naming structure in order to automate mundane tasks such as import settings, Prefab setup and so on.

Each asset type has itโ€™s own prefix. Materials have โ€œm_โ€œ, textures have โ€œt_โ€ and so on.

Base Asset Name

Core Naming Structure

[AssetTypePrefix]_[AssetName]_[Descriptor]_[OptionalVarientLetterOrNumber]

In general, assets will follow this structure. In-depth naming structure and style will be explained in each asset type section.

  • [AssetTypePrefix] Identifies the type of Asset, refer to the table below for details.
  • [AssetName] The name of the Asset, more in depth in the Asset Category section.
  • [Descriptor] provides additional context for the Asset, to help identify how it is used. For example, whether a texture is a normal map or an albedo map.
  • [OptionalVarientLetterOrNumber] is optionally used to differentiate between multiple versions or variations of an asset.

Asset Types

Common

Asset Prefix Suffix Notes
Static Mesh sm_ -- Any mesh that is not skinned (Map meshes, UI 3d meshes, etc..)
Skinned Mesh sk_ -- Skinned Meshes (Weapons, characters)
Texture t_ -- All textures. This does not include sprites ie. UI, ui uses โ€œui_โ€ instead
Material m_ -- All materials
Prefab p_ -- All prefabs
ParticleSystem/Effects fx_ -- Particle Systems and/or effects
Shaders sh_ -- --
Shader Functions sf_ -- --

Scenes

Asset Prefix Suffix Notes
Map Scene lvl_ -- All scenes containing maps
Game Logic Scene lvl_ _gameplay All scenes containing gamemode specific objects and logic
Menu/UI Scenes lvl_ _ui Scenes not containing levels but rather UI and loading

Animation

Asset Prefix Suffix Notes
Animator a_ --
Animation Clip ac_ -- Suffix is based on animation clip type and name ex: _fp, tp
AnimatorControllerOverride ao_ --
Skinned Mesh sk_ --
Animation FirstPerson ac_ or sk_ _fp Prefix is based on weither it is a clip or an FBX more details in the sections
Animation ThirdPerson ac_ _tp
Animation Camera ac_ _cam
Animation VictoryPose ac_ _vp
Animation VictoryPose ac_ _vp
Animation Menu ac_ _menu
Empty/Null socket_ -- Such as weapon holders and helmet parent

Naming Per Asset

Characters

Name Template

  • File
    • sk_char_[Name]_[ConditionalDescriptor]
  • Folder
    • char_[Name]

  • [Name] Character name
    • Tokyo ==> sk_char_tokyo
    • Dr Chem ==> sk_char_dr_chem
  • [ConditionalDescriptor] This is used for skinned mesh or skeleton(Bones) objects of the character to define what that object is
    • Mesh Object ==> sk_char_tokyo_mesh
    • Victory Pose ==> sk_char_dr_chem_vp

Character Assets breakdown

In these examples "sergeant" is the character's name

Asset Prefix Suffix Example
Mesh sk_ _mesh sk_char_sergeant_mesh
Arms sk_ _arms_fp sk_char_sergeant_arms_fp
Victory Pose sk_ _anim_vp sk_char_sergeant_anim_vp
Material High m_ _high m_char_sergeant_high
Material Low m_ _low m_char_sergeant_low
Texture OPN t_ _ao t_char_sergeant_ao
UI Icon ui_icon_ -- ui_icon_char_sergeant

Character Mesh Naming

  • sk_char_[Name]_[ConditionalDescriptor]_[Outline]_LOD[Number]

  • [Name] Character name

    • Tokyo ==> sk_char__sergeant
  • [ConditionalDescriptor] This discribes which mesh is this, this is used alongside the head hair mesh system to hide different parts based on eqipped mask

    • Head No Hair ==> sk_char_sergeant_none
    • Head Hair ==> sk_char_sergeant_full
  • [Outline] This identifies the mesh if it is an outline mesh or not. Outline meshes are used in unity to create an outline around the character

    • Head No Hair ==> sk_char_sergeant_none_outline
    • Head Hair ==> sk_char_sergeant_full_outline
  • [Number] This is used to specify which LOD is it.

    • Head No Hair ==> sk_char_sergeant_none_LOD0
    • Head Hair ==> sk_char_sergeant_full_LOD1

Note that LOD naming must be ALL UPPERCASE LETTERS such as LOD0, LOD1

Mesh Identifier Suffix Example
Body -- _LOD0 sk_char_sergeant**_LOD0**
Hair _hair _LOD0 sk_char_sergeant**_hair_LOD0**
None _none _LOD0 sk_char_sergeant**_none_LOD0**
Beard _beard _LOD0 sk_char_sergeant**_beard_LOD0**
Full _full _LOD0 sk_char_sergeant**_full_LOD0**
Arms FP _arms_fp _LOD0 sk_char_sergeant**_arms_fp_LOD0**

Arms FP is used as it's own mesh


Weapons

Name Template

  • File
    • sk_[Type]_[Name]_[ConditionalDescriptor]
  • Folder
    • [Type]_[Name]

  • [Type] Weapon Type
    • Ranged ==> sk_ranged_hunter
    • Primary ==> sk_primary_dash
  • [Name] Weapon name
    • Hunter ==> sk_ranged_hunter
    • Dash ==> sk_primary_dash
  • [ConditionalDescriptor] This is used for skinned mesh or skeleton(Bones) objects of the weapon to define what that object is
    • Mesh Object ==> sk_char_tokyo_mesh
    • First ==> sk_char_dr_chem_vp

In these examples "dash" is the weapon's name
and "primary" is the weapon's type

Asset Prefix Suffix Example
Mesh sk_ _mesh sk_primary_dash_mesh
First Person Animation sk_ _anim_fp sk_primary_dash_anim_fp
Camera Animation sk_ _anim_cam sk_primary_dash_anim_cam
Third Person Animation sk_ _anim_tp sk_primary_dash_anim_tp
Sprint Animation sk_ _anim_sprint_tp sk_primary_dash_anim_sprint_tp
Menu Pose sk_ _anim_menu sk_primary_dash_anim_menu
Animator Override Cam ao_ _cam ao_primary_dash_cam
Animator Override FP ao_ _fp ao_primary_dash_fp
Animator Override Menu ao_ _menu ao_primary_dash_menu
Animator Override TP ao_ _tp ao_primary_dash_tp
Animator Override VP ao_ _vp ao_primary_dash_vp
Material High m_ _high m_primary_dash_high
Material Low m_ _low m_primary_dash_low
Texture OPN t_ _ao t_primary_dash_ao
โš ๏ธ **GitHub.com Fallback** โš ๏ธ