Naming Convention and folder structure
Naming convention
Based on Ubisoft’s naming convention
What?
A naming convention is convention for names. It is particularly useful when multiple people use common files for a common project.
Why?
A good naming convention makes it easy to find related files and therefore less time is lost just to browse for them.
How?
By setting up a folder structure and rules that everyone should follow.
Folder structure
Here is how the folders will be:
Rise of the legends
Level
Packages
Concept arts
Meshes
Static Meshes
Props
SkyBox
Skeletal Meshes
Characters
Weapons
Textures
Props
SkyBox
Characters
Weapons
Others
Animations
Characters
Weapons
Sounds
Basic Rules
The idea is to have as much as possible the same name for the different parts of a whole object.
For example, if you create a character and call it Eve_01, then all the textures associated with it will be called Eve_01_head_D.
Have as specific names as possible.
For example if you know you will create 10 kinds of trees, but all of them are of a different type, you should name them more specifically. For instance, instead of
Tree_01.obj
Tree_02.obj
Tree_03.obj
have
PineTree_01.obj
MapleTree_01.obj
MapleTree_02.obj
All the files must be written using one capital letter at the beginning of each word.
(called Camel Caps convention)
For example,
Bow_01.obj
BigBow_01.obj
MetalArrows_01.obj
Any numbering must always start at 01 and must always be 2 digits long.
So, instead of
Example_1.obj
use
Example_01.obj
Assets must only use alpha numeric values ( a,b,c …123…0 and underscores ).
Do not use things like the following in any form of naming &,.#$^()… etc.
Above all, DO NOT use punctuation or spaces in the name.
Use a number ending for master objects. A letter is added for child objects (see childObjects).
Convention
General rule
Usually, for any file, the convention
<ObjectName>_XX
will be used.
Example
PineTree_01
Child objects
Add a lowercase letter at the end when you have a child object (for a table, a child would be its legs):
<ObjectName>_XXx (small x is a letter from a to z for the child)
DinningTable_01a Child object a
DinningTable_01b Child object b
Broken Mesh
A broken mesh is a mesh that changes state when the user “breaks” it in game. For example, if you have a trash can that can be broken when the player attacks it, then you need, for instance, 3 different meshes of this trash can – each of which is a state of the can being broken down. (normal state, partially broken state and totally broken state)
For broken mesh, add the suffix _bk1. _bk stands for broken and the number is the state:
<ObjectName>_XX_bkXX (last X is a number from 1 to 9 for the broken state)
<ObjectName>_XXx_bkXX (same as above but for a child object)
Example
TrashCan_01 original trash can
TrashCan_01_bk1 partially broken state
TrashCan_01_bk2 totally broken state
TrashCan_01a_bk1 for the cap of the trash can
Collisions
For collisions, you simply add the suffix _COL at the end of the name:
<ObjectName>_XX_COL
Example
PineTree_01_COL
Textures
Textures are a little special in that they have multiple files.
Usually, to have create a shader, 3 maps must be made – the diffuse, the specular and the normal map. The diffuse sets the colors to be applied on the object. The specular is a black and white map where the white tells where highlights should appear while black areas appear matte. The normal map is a kind of height map that helps create more details on a simple mesh. So far, you have seen and created mostly only diffuse passes.
Unique/Objects textures must be named like the object it is for.
Tiling textures name must be a description of the texture.
<TextureName>_XX_D diffuse texture
<TextureName>_XX_S specular texture
<TextureName>_XX_N normal texture
Example
PineTree_01_D
OldConcrete_01_D Non-unique tiling texture, not named for a specific object
SmallKitchenWall_01_S Unique tiling texture, named for a specific object
Materials / Shaders
(The person that will create the shaders in Unreal must follow this convention.)
Unique/Objects textures must be named like the object it is for.
Tiling textures name must be a description of the texture.
<TextureName>_XX same as its texture minus the ending tag
Example
OldConcrete_01
PineTree_01
SmallKitchen_01
If you need to create two different materials with the unique textures you will have to add a one word description after the ending number.
<TextureName>_XX_S
Example
FoldingChair_01_Metal
FoldingChair_01_Plastic
Notes:
Are the clothes made in the mesh of the character or another mesh added?
Do we have breakable assets?



