Naming Conventions and File Hierarchy

View previous topic View next topic Go down

Naming Conventions and File Hierarchy

Post by r.jones on Sun Sep 27, 2015 4:51 pm

Things Covered:

  • General Naming Conventions
  • Blueprint Classes
  • C++ Classes
  • Where does my asset go?


General Naming Conventions:


AssetName(_Number)(_Suffix)

Textures

SuffixRepresents
_BCBase color
_MTMetallic
_SSpecular
_RRoughness
_NNormal
_DPDisplacement
_AOAmbient Occlusion
_HHeight Map
_FMFlow Map
_LLight Map(Fake)
_MSKMask

Animations

SuffixRepresents
_BSblend space
_ABanimation blueprint

Class Names

SuffixRepresents
_BPBlueprint Class
C++ classes have no special suffix
_SKLSkeleton
_SKSkeleton Mesh
_SMStatic Mesh
_MATMaterial
_AB_BPAttack Box
_HB_BPHurt BoxBox

Blueprint Classes:

Our game is separated into two main parts. The first part is code, and the second is blueprint which is implemented over top of the C++. They are very tightly linked, however to my knowledge C++ cannot reference anything implemented in blueprint without significant difficulty.

Classes created in blueprint shall be named a "_BP" post fix to every name. This is to distinguish blueprint classes from c++ classes when they are being referenced in the editor drop downs.

For example. We have a C++ class named "BasicEnemy". If we want to create a derived blueprint class of it in the editor we would name it "BasicEnemy_BP"

C++ Classes

For naming conventions refer to this document. Copy Unreal's naming convention as closely as possible.
https://docs.unrealengine.com/latest/INT/Programming/Development/CodingStandard/index.html

Where does my asset go?


Basics


  1. All names in English.
  2. All asset dependencies should be in it’s folder (instead of some shared assets).

General Guide for All Assets:

Maps

Content\Mapsparent maps folder
............ Maps\Episode(_Number)game episodes, where (_Number) is 01, 02, 03, etc
............ Maps\TestMapsest maps, maps prototypes and other levels not for production

Assets

Content\Charactersfolder for characters
........... Characters\NPCNPCs
............ Characters\Playerplayer character(s)
Content\Devdevelopment assets, like objects icons, special meshes and textures, etc
Content\Effectsvarious shared effects
Content\Environmentenvironment assets
............ Environment\Backgroundbackgrounds
............ Environment\Buildingsbuildings (simple or procedural)
............ Environment\Foliagefoliage
............ Environment\Propsvarious props
............ Environment\SkyDo we need sky?
............ Environment\Landscapeterrains assets
............ Environment\Waterwater meshes and materials
Content\Gameplayassets for various gameplay purposes(spawners, draw bridge objects, team etc...)
Content\Soundsounds and sound cues
............ Sound\WavesRaw sound wave files
............ Sound\CuesShared sound cues
............ Sound\WWISE_EventShared WWISE events
............ Sound\WWISE_BankWWISE banks
Content\UIUI assets
Content\Weaponsweapons

Example Case: Charger Enemy

The charger enemy has a number of assets unique to it. First and foremost is its behavior tree and blackboard. It was created specifically for this character. Second, it has animations, materials, textures, sounds and attack blueprints that are created specifically for it, those would go in the charger folder, but inside their respective sub folders. If the asset is on that is shared (for example, a melee sound) there is a good chance it should go elsewhere. Only things that the Charger enemy is explicitly dependent on should go here.

So lets take a look at what the charger enemy hierarchy might look like...

Content\Characters\NPC\Chargerparent charger folder
............ Charger\Behaviorassets related to the behavior of the charger (behavior trees, blackboards)
............ Charger\MaterialsMaterials created for the charger
............ Charger\TexturesMaterials created for the charger
............ Charger\AttacksBlueprint attacks created for the charger
............ Charger\AnimationsAnimations that the animation blueprint will use
Some other things to note:
The Mesh and Animation blueprint should go in the root folder of the charger, along with the chargers blueprint class (Charger_BP). If it uses a team Blueprint specific to the charger, it should also go here in the root folder.

r.jones

Posts : 6
Join date : 2015-05-26

View user profile

Back to top Go down

View previous topic View next topic Back to top

- Similar topics

 
Permissions in this forum:
You cannot reply to topics in this forum