Files
metaverseDubai/NAMING_CONVENTIONS.md

7.4 KiB

Naming Conventions - Dubai Metaverse

Overview

Consistent naming conventions are critical for project organization, asset management, and team collaboration. All assets, files, and code must follow these conventions.

General Rules

  1. Use PascalCase for asset names (e.g., SM_Building_01)
  2. Use underscores to separate logical groups (e.g., SM_Building_Marina_01)
  3. Be descriptive but concise
  4. Use consistent prefixes for asset types
  5. Include numbers for multiple instances (01, 02, 03...)
  6. No spaces in file names
  7. No special characters except underscores and hyphens

Asset Type Prefixes

Static Meshes

  • Format: SM_AssetName_Variant_Number
  • Example: SM_Building_Marina_01, SM_Prop_Bench_01
  • Prefix: SM_

Skeletal Meshes

  • Format: SK_AssetName_Variant_Number
  • Example: SK_Character_Male_01, SK_Vehicle_Lamborghini
  • Prefix: SK_

Materials

  • Format: M_AssetName_Type
  • Example: M_Building_Glass, M_Concrete_4K, M_Marina_Water
  • Prefix: M_

Material Instances

  • Format: MI_AssetName_Variant
  • Example: MI_Building_Glass_Blue, MI_Concrete_Dirty
  • Prefix: MI_

Textures

  • Format: T_AssetName_MapType_Resolution
  • Example: T_Building_BaseColor_4K, T_Concrete_Normal_2K
  • Prefix: T_
  • Map Types: BaseColor, Normal, Roughness, Metallic, AO, Emissive, Height

Blueprints

  • Format: BP_ClassName_Purpose
  • Example: BP_PlayerController_Main, BP_Door_Automatic, BP_Vehicle_Lamborghini
  • Prefix: BP_

Animation Blueprints

  • Format: ABP_CharacterName_Purpose
  • Example: ABP_NPC_Walk, ABP_Player_Main
  • Prefix: ABP_

Behavior Trees

  • Format: BT_NPCName_Behavior
  • Example: BT_NPC_Wander, BT_NPC_Social
  • Prefix: BT_

Particle Systems

  • Format: P_EffectName_Type
  • Example: P_Dust_Ambient, P_Fountain_Water, P_Heat_Distortion
  • Prefix: P_

Audio

  • Format: A_SoundName_Type
  • Example: A_Ambient_City, A_Vehicle_Engine, A_Footstep_Concrete
  • Prefix: A_

Sequencer Sequences

  • Format: SQ_SequenceName_ShotNumber
  • Example: SQ_DubaiCinematic_01, SQ_DroneSweep_03
  • Prefix: SQ_

Cine Cameras

  • Format: CineCamera_Purpose_Number
  • Example: CineCamera_Drone_01, CineCamera_StreetLevel_02
  • Prefix: CineCamera_

Data Assets

  • Format: DA_DataType_Name
  • Example: DA_Quest_Main, DA_Dialogue_NPC_01
  • Prefix: DA_

Widget Blueprints

  • Format: WBP_WidgetName_Purpose
  • Example: WBP_MainMenu, WBP_MiniMap, WBP_InteractionPrompt
  • Prefix: WBP_

PCG Graphs

  • Format: PCG_SystemName_Purpose
  • Example: PCG_BuildingPlacement, PCG_RoadProps, PCG_Vegetation
  • Prefix: PCG_

Category-Specific Naming

Buildings

Hero Landmark:

  • SM_Hero_CayanTower_Main
  • SM_Hero_CayanTower_Details
  • M_Hero_CayanTower_Glass
  • M_Hero_CayanTower_Chrome

Primary Buildings:

  • SM_Building_Marina_01
  • SM_Building_Marina_02
  • M_Building_Glass_4K
  • M_Building_Concrete_4K

Background Buildings:

  • SM_Building_Background_01
  • SM_Building_Background_02

Vehicles

  • SM_Vehicle_Lamborghini
  • SM_Vehicle_GWagon
  • SM_Vehicle_Ferrari
  • BP_Vehicle_Lamborghini
  • BP_VehicleController_Main

Characters (MetaHumans)

  • MH_Dubai_01
  • MH_Dubai_02
  • SK_Character_Male_01
  • ABP_NPC_Walk
  • BT_NPC_Wander

Materials

Building Materials:

  • M_Building_Glass_8K
  • M_Building_Chrome_8K
  • M_Building_Concrete_4K
  • M_Building_Metal_4K

Effect Materials:

  • MFX_HeatHaze
  • MFX_Fingerprint
  • MFX_Weathering

Water Materials:

  • M_Water_Marina
  • M_Water_Foam

Textures

Hero Asset Textures (8K):

  • T_Hero_CayanTower_BaseColor_8K
  • T_Hero_CayanTower_Normal_8K
  • T_Hero_CayanTower_Roughness_8K

Building Textures (4K):

  • T_Building_Glass_BaseColor_4K
  • T_Building_Concrete_Normal_4K

Background Textures (2K):

  • T_Building_Background_BaseColor_2K

Folder Structure Naming

Content Folder Structure

Content/
├── Maps/
│   ├── Main/
│   ├── Blockout/
│   └── Test/
├── Assets/
│   ├── Buildings/
│   │   ├── Hero/
│   │   ├── Primary/
│   │   └── Background/
│   ├── Vehicles/
│   ├── Characters/
│   ├── Props/
│   ├── Materials/
│   │   ├── M_BuildingLibrary/
│   │   ├── M_HeroLandmark/
│   │   └── MFX/
│   └── Textures/
│       ├── T_HeroLandmark/
│       ├── T_Buildings/
│       └── T_Props/
├── Blueprints/
│   ├── Gameplay/
│   ├── Vehicles/
│   ├── AI/
│   └── NPCs/
├── PCG/
├── Cinematics/
└── Audio/

Folder Naming Rules

  • Use PascalCase for folder names
  • Be descriptive and organized by category
  • Group related assets together
  • Use consistent hierarchy

LOD Naming

LOD Suffixes

  • LOD0: No suffix (highest quality)
  • LOD1: _LOD1
  • LOD2: _LOD2
  • LOD3: _LOD3

Example:

  • SM_Building_Marina_01 (LOD0)
  • SM_Building_Marina_01_LOD1
  • SM_Building_Marina_01_LOD2
  • SM_Building_Marina_01_LOD3

Note: Nanite meshes don't use LOD suffixes (Nanite handles LOD automatically)

Variant Naming

Color Variants

  • _Red, _Blue, _Green, etc.
  • Example: MI_Building_Glass_Blue

Size Variants

  • _Small, _Medium, _Large
  • Example: SM_Prop_Bench_Small

Quality Variants

  • _4K, _8K (for textures)
  • Example: T_Building_BaseColor_4K

Numbering Conventions

Sequential Numbering

  • Use zero-padded numbers: 01, 02, 03... 10, 11...
  • Example: SM_Building_Marina_01, SM_Building_Marina_02

Version Numbers

  • Use v1, v2, v3 for versions
  • Example: SM_Building_Marina_01_v2

Special Cases

UDIM Textures

  • Use UDIM naming: T_AssetName_MapType_1001, T_AssetName_MapType_1002
  • Example: T_Hero_CayanTower_BaseColor_1001

Decals

  • Format: D_DecalName_Type
  • Example: D_Weathering_Crack, D_Signage_Neon
  • Prefix: D_

Post-Process Volumes

  • Format: PP_VolumeName_Purpose
  • Example: PP_DubaiCinematic, PP_Interior
  • Prefix: PP_

Validation

Automated Validation

Use scripts/validate_assets.sh to validate naming conventions:

./scripts/validate_assets.sh

Manual Checklist

Before committing assets, verify:

  • Prefix is correct for asset type
  • Name is descriptive and clear
  • Numbers are zero-padded
  • No spaces or special characters
  • Follows category-specific conventions
  • Folder structure is correct

Examples

Complete Asset Set Example

Building Asset:

  • Mesh: SM_Building_Marina_01
  • Material: M_Building_Marina_Glass
  • Material Instance: MI_Building_Marina_Glass_Blue
  • Textures:
    • T_Building_Marina_BaseColor_4K
    • T_Building_Marina_Normal_4K
    • T_Building_Marina_Roughness_4K
    • T_Building_Marina_Metallic_4K
    • T_Building_Marina_AO_4K

Vehicle Asset:

  • Mesh: SM_Vehicle_Lamborghini
  • Blueprint: BP_Vehicle_Lamborghini
  • Material: M_Vehicle_Lamborghini_Paint
  • Textures:
    • T_Vehicle_Lamborghini_BaseColor_4K
    • T_Vehicle_Lamborghini_Normal_4K

Version: 1.0 Last Updated: [Current Date]