Skip to content

Naming and standards

The same rules in every master, so every Material Instance reads the same way. Follow them for your own content.

Asset names

Format: Prefix_Asset_Name_01a (+ _Suffix for textures). 01 = asset or set number, a = variant or part of the same set (same textures). Example set: SM_Asset_Name_01a, T_Asset_Name_01a_BC, T_Asset_Name_01a_NNMR, MI_Asset_Name_01a.

Prefix Asset
SM_ Static mesh
SK_ Skeletal mesh
T_ Texture
MM_ Master material (do not edit)
M_ Material (stand-alone, not a master)
MI_ Material instance
MF_ Material function
ML_, MLB_ Material layer, layer blend
MPC_ Material parameter collection
RVT_ Runtime virtual texture
BP_ Blueprint actor
NS_ Niagara system
UCX_ Collision mesh in the DCC: UCX_SM_Asset_Name_01a_00, _01 …
  • Nanite and non-Nanite versions of one mesh: SM_Asset_Name_NN_01a = Nanite.
  • One word per name part, words joined by _, no spaces or Cyrillic.

Meshes for the masters

Mesh data Used by
UV0 All texture slots
UV1 MaskBlend Blend Mask (baked layer masks); lightmap UV if you use baked lighting
Vertex color VtxBlend layers / puddles / dry areas, foliage wind (Vertex color)
Pivot Floor: bottom-center; against a wall: bottom-back; wall: center-back; ceiling: top

Texture suffixes and import

Suffix Content (R / G / B / A) Compression sRGB
_BC Color / – (no alpha = BC1) Default On
_BCA Color / Opacity (foliage, decals) BC7 On
_NNMR Normal X / Normal Y / Metallic / Roughness BC7 Off
_NNOR Normal X / Normal Y / AO / Roughness (foliage) BC7 Off
_M Masks / AO Masks Off
_H Height / Edge Shape (optional) BC7, never VT Off
  • Blend Mask for MaskBlend: R / G / B = layers, Masks, sRGB off.
  • Tools/KurinFixTextureSettings.py applies these settings to the selected textures by suffix.

Parameter groups

Group What goes there
00 Settings Global switches. Always on top
01, 02, 03 … Core groups: 01 Textures, 02 Base Color, 03 Surface, or one group per layer
<group> (VT) Virtual Texture slots, right under their group
Named, no number Add-ons, A–Z: Cover, Dust, Emissive, Weather …

Parameter names

  • Use <Feature>? = on/off switch, first in its group.
  • Ends with Map = texture. Ends with (VT) = Virtual Texture slot.
  • Flatten: 0 = texture, 1 = one flat value.
  • Layer prefix: Base -, R -, G -, B -; landscape L1 - … L4 -.

Vertex color

Channel VtxBlend / MaskBlend Foliage
R Layer R (VtxBlend) Main bend weight (0 root, 1 top)
G Layer G (VtxBlend) Branch sway
B Painted puddles / wet spots Leaf flutter
A Dry Mask (Use Dry Mask (VC A)?): fill 1, paint 0 = dry Branch phase (random per branch)

Custom Primitive Data

Index Used for
0 Actor Dry (Weather)
1 Actor Rain Shelter (Weather)
2–7 Reserved by Kurin, keep free

Use index 8 and up for your own per-actor data.