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