TA logoThe Technical Artist
Home/Unreal Engine/The Asset Pipeline
tutorial 02
unreal engine

The Asset Pipeline

Starterguide~3 min readreviewed 2026-07-05

The unglamorous stuff that makes Unreal imports behave: scale, collision, LODs, texture settings, folder structure, names, and validation.

2.1Scale And Axes: Solve It Once

Unreal works in centimeters, Z-up, left-handed. Match that before modelling: Blender scene units to metric with 0.01 scale (or export at x100), Maya working units to cm. A human should land around 180 units tall. Get scale wrong and physics, lighting, LOD distances, nav, and designer intuition all inherit the mistake.

2.2Importing Meshes

FBX is still the workhorse, though Interchange is the newer path. Either way, the habits are the same:

  • Pivots - place the pivot where the object should rotate/snap from (usually the base), at the DCC origin on export.
  • Collision - author simple collision in the DCC with UCX_ prefixed meshes, or generate convex collision on import. Never use complex-as-simple collision on gameplay objects.
  • LODs - import your own LOD chain or set up auto-LODs immediately at import time, not "later". Later never comes. (Nanite meshes skip LODs - see Meshes & Nanite.)
  • Lightmap UVs - if you bake lighting, make sure UV channel 1 is non-overlapping. The importer can generate one, but inspect it.
  • Vertex normals - import normals and tangents from the DCC rather than recomputing, or your baked normal maps will shade wrong.

2.3Importing Textures

The importer guesses from suffixes, so help it out: _D, _N, _ORM, and friends. Then check the four settings that matter on almost every texture:

SettingRule
CompressionDefault (BC1/BC3) for color; Normalmap (BC5) for normals; Masks (linear) for packed ORM; BC7 only when banding is visible
sRGBON for color/albedo; OFF for normals, roughness, metallic, masks, and anything that's data, not color
Mip mapsOn for everything in the 3D world (needs power-of-two dimensions); off only for UI
Texture GroupAssign the right LOD group (World, Character, UI...) so platform scaling works for free
The classic bug

A normal map imported with sRGB on (or wrong compression) shades subtly wrong forever. It's the most common texture defect in real projects - the Asset Health Dashboard flags it automatically.

2.4Naming And Folder Structure

Reference card of standard Unreal asset naming prefixes
fig 15 - the prefix cheat card

Prefixes look fussy until the Content Browser has 40,000 assets. Then they become mercy. They also make validation scripts easy:

PrefixTypePrefixType
SM_Static MeshM_Material
SK_Skeletal MeshMI_Material Instance
T_TextureMF_Material Function
BP_BlueprintNS_Niagara System
WBP_Widget BlueprintDT_Data Table

Structure Content/ by feature, not file type. /Weapons/Rifle/ should contain its meshes, textures, materials, and Blueprints together. References stay local, and migrating the feature later is much less painful.

2.5Validate On The Way In

Every rule above is scriptable. Big studios wire naming, texture settings, and LOD checks into imports or CI. You can start smaller: run the Asset Health Dashboard export weekly and treat the report like unit tests for the content pipeline.