Naming Convention in Unreal Engine 5 – A Guide of Asset Prefixes and Sufixes

Why Naming Conventions Actually Matter (No, Seriously)

If you’re thinking, “I’ll organize everything later,” let me stop you right there.

You won’t – Nobody does.
And that’s how you end up debugging NewBlueprint36 at 2 a.m. wondering if it controls your enemy AI or opens a door.

Naming conventions in Unreal Engine aren’t just a formality—they’re your lifeline. Especially once your project grows past five assets and one coffee-fueled coding session. Trust me, naming things properly from day one will save your sanity when your Blueprints multiply like rabbits and your Levels start duplicating themselves out of spite.

Why you should care:
  • You can find your stuff in seconds
  • You know what an asset does before opening it
  • Your future self will thank you (or at least hate you less)
  • Your teammates won’t secretly curse your name

Core Naming Rules (a.k.a. The Basics That Shouldn’t Be Ignored)

  1. Use prefixes – Be specific. A name like BP_Enemy_Zombie tells you way more than Thing3.
  2. Avoid diacritics, accents, and spaces – Use PascalCase or snake_case. Unreal will throw a tantrum otherwise.
  3. Never use default names like NewBlueprint – That’s how legends of pain are born.
  4. Be descriptive, not dramatic – BP_PlayerShootsBigBoom is funny, but not helpful six months later.
  5. Don’t repeat yourself – Blueprint_BP_Sword is just sad.

📘 The Almighty Prefix List

Below is your go-to cheat sheet of all the standard Unreal Engine asset prefixes. Memorize them. Tattoo them. At least bookmark them.

Asset TypePrefixExample
Blueprint ClassBP_BP_EnemyZombie
Blueprint InterfaceBPI_BPI_Interactable
Blueprint Function LibraryBFL_BFL_GameUtils
Component (Blueprint or C++)COMP_COMP_HealthRegen
C++ ClassC_C_PlayerCharacter
EnumE_E_WeaponType
StructF_ / S_F_PlayerStats
Data TableDT_DT_EnemyStats
Curve (Float/Vector/Color)Curve_Curve_HealthOverTime
Gameplay Ability (GAS)GA_GA_DashAbility
Gameplay Effect (GAS)GE_GE_BurnDamage
Gameplay Cue (GAS)GC_GC_DamageFlash
Gameplay Tag ConfigTag_Tag_Ability.Fireball
Input Mapping ContextIMC_IMC_PlayerControls
Input ActionIA_IA_Interact
Widget Blueprint (UI)W_W_MainMenu
TextureT_T_Concrete_Diffuse
MaterialM_M_ConcreteTiled
Material InstanceMI_MI_Concrete_Red
Material FunctionMF_MF_BlendTextures
Static MeshSM_SM_Barrel01
Skeletal MeshSK_SK_HeroCharacter
Physics AssetPHYS_PHYS_Hero
Animation BlueprintABP_ABP_Hero
Animation MontageAM_AM_HeroAttackCombo
Animation SequenceA_A_RunForward
Pose AssetPA_PA_RifleAiming
Blend SpaceBS_BS_RunWalkBlend
Sound CueSC_SC_Explosion
Sound WaveS_S_StepGravel
MetaSoundMS_MS_ProceduralGunshot
Niagara SystemNS_NS_ExplosionFire
Niagara EmitterNE_NE_SmokeTrail
Behavior TreeBT_BT_EnemyAI
BlackboardBB_BB_EnemyData
AI ControllerAI_AI_EnemyBasic
Nav Mesh Bounds VolumeNAV_NAV_ForestVolume
World Partition Data LayerDL_DL_UrbanProps
World Partition Runtime CellWC_WC_CityBlock_A1
Level (Map)L_ / Map_L_Forest_01
Level Instance (Sub-Level)LI_LI_HouseInterior
Level SequenceSEQ_SEQ_IntroCinematic
Cinematic Shot TrackSHOT_SHOT_HeroCloseup
Camera ActorCAM_CAM_BossFightIntro
Light ActorLIGHT_LIGHT_TorchStatic
DecalDECAL_DECAL_BloodSplat_01
Font AssetFont_Font_MainTitle
Save Game ClassSG_SG_PlayerData
Media Texture / Media PlayerMedia_Media_IntroVideo
Http Request Class (Plugins)HTTP_HTTP_LeaderboardRequest
Online Subsystem ClassOS_OS_SessionManager

📘 Recommended Suffixes for Unreal Engine 5 Assets

Quick Tips:
  • Suffixes can be combined: e.g., MI_MetalScratched_HD_Inst, BP_IntroCam_SP_Final
  • Avoid contradictory combos (no BP_Enemy_MP_SP)
  • Use suffixes when they clarify, not just for decoration
SuffixMeaningUsageExample
_MasterBase or master versionMaterials, Blueprints, SoundCuesM_Wood_Master
_InstInstanceMaterial Instance, BlueprintMI_Wood_Wet_Inst
_VarVariationMesh, Texture, MaterialT_BrickWall_Var01
_HDHigh resolutionTexture, MaterialT_CharacterSkin_HD
_LOD0LOD level 0 (highest detail)Mesh, Skeletal MeshSM_Tree_LOD0
_MobileMobile-optimized versionShader, Texture, MaterialMI_UI_Glow_Mobile
_PreviewPreview or temporary versionAny assetBP_UIOverlay_Preview
_WIPWork In ProgressAny assetBP_MechBoss_WIP
_FinalFinal, production-readyAny assetSEQ_Intro_Final
_TempTemporary (placeholder)Any assetT_Diffuse_Gray_Temp
_ProxySimplified geometry (e.g., for collision)MeshSM_House_Proxy
_ColCollision versionMeshSM_Crate_Col
_NoColNo collisionMeshSM_Lamp_NoCol
_StaticStatic variantMesh, LightSM_Lamp_Static
_DynamicDynamic versionBlueprint, LightBP_Light_Dynamic
_AnimAnimated versionWidget, BlueprintW_Button_Anim
_IconIcon assetTexture, WidgetT_Health_Icon
_LoopLooping (sound or animation)Audio, AnimationS_AmbientWind_Loop
_01, _02, _03Numbered sequenceTexture, Audio, Mesh, SequencerT_GlassCrack_02
_UIUI-only assetTexture, Blueprint, WidgetT_Heart_UI
_FXVisual effectNiagara, BlueprintBP_Explosion_FX
_MPMultiplayer-specificBlueprint, LogicBP_PlayerController_MP
_SPSingle-player-specificBlueprintBP_IntroCutscene_SP
_BPOnlyBlueprint-only utilityFunction Library, DebugBFL_DebugTools_BPOnly
_EditorEditor-only utilityEditor Tools, WidgetsW_SceneManager_Editor
_VRVR-specific assetMesh, Input, WidgetW_HandsOverlay_VR

Pro Tips You’ll Thank Me For

🔹 Make Names Human-Readable

Bad:

BP_1  
BP_NewChar2  
BP_TheBigGuyMaybeBoss???

Good:

BP_Enemy_Melee_Heavy  
BP_Enemy_Ranged_Boss  
BP_Player_Companion_Doggo
🔹 Use Suffixes for Variants

MI_MetalScratched_HD = High-res material
BP_EnemyBoss_MB = Multiplayer variant
T_UI_Icon_Health = Texture used in HUD

🔹 Capitalization Helps

Stick to CamelCase or snake_case. Never ever use alllowercase or MIXEDUpCASE.

📁 Project Structure That Won’t Make You Cry

/Blueprints
  /Enemies
    BP_EnemyGrunt
    BP_EnemyBoss
  /Player
    BP_PlayerCharacter
    BPI_Interactable

/Materials
  M_Concrete
  MI_Concrete_Wet

/Meshes
  /Static
    SM_Weapon_Sword
  /Skeletal
    SK_PlayerHero

/Animations
  A_Run
  AM_SwordCombo
  ABP_PlayerHero

/UI
  W_MainMenu
  W_PauseMenu

/Data
  DT_Weapons
  E_WeaponType
  F_WeaponStats

Stick to a layout like this and Unreal won’t fight you during packaging. Bonus: your content browser won’t look like a crime scene.

🛠 Tools That Help When You Inevitably Screw Up

  • Fix Up Redirectors – After moving files, clean up references
  • Asset Audit – For dependency checks and memory use
  • Source Control + Code Review – Let someone else catch your crimes

Final Thoughts

Naming conventions might feel like annoying paperwork when you’re just trying to “make cool stuff,” but they’re one of the few things separating functional devs from sleep-deprived chaos monsters. Unreal Engine is powerful, but it does not suffer naming fools lightly.

Treat your naming like part of development, not an afterthought. Build habits now, and your future self—or your teammates—won’t want to throw a keyboard at your head later.

Share with: