Importing 3D models into Unreal Engine

Unreal is centimetres, opinionated about materials, and generous with automation you may not want.

Unreal's importer does more for you than Unity's, which is helpful until it does something you did not intend.

Scale and orientation

Unreal works in centimetres — one unit is one centimetre — and is Z-up. Most DCC tools are Y-up, and the FBX importer handles the conversion, but a model that arrives rotated ninety degrees usually means the axis conversion was applied twice.

Static mesh settings

  • Generate Lightmap UVs. On by default. Creates a second UV channel for baked lighting. If you author your own lightmap UVs, turn it off — Unreal's generated ones are adequate rather than good.
  • Auto Generate Collision. Creates a simple collider. Convenient for props, wrong for anything with a hollow. See collision meshes.
  • Build Nanite. Whether this mesh becomes a Nanite mesh. Powerful and not universal — see Nanite.
  • Combine Meshes. Merges separate objects in the file into one asset. Useful for a prop split across parts; destructive if the parts needed to move.

Materials

Unreal creates a material per imported material slot, and they are almost always placeholders. The real workflow is a small set of master materials with parameters, and material instances per asset. That is not a stylistic preference — instances share a compiled shader, and a project with hundreds of unique materials pays for hundreds of shader permutations.

Skeletal meshes

  • Import a skeleton or reuse an existing one. Reusing is what makes animation retargeting straightforward.
  • Import Morph Targets if the mesh has blend shapes; they are off by default and their absence is a common surprise.
  • Physics Asset is generated automatically and is usually a reasonable starting point, unlike auto collision on static meshes.

Textures

  • sRGB off for anything carrying data rather than colour.
  • Compression Settings must match the map type — Normalmap for normals, Masks for packed ORM textures — using the default on a mask texture costs quality and memory both.
  • Virtual Textures for very large texture sets, at the cost of some complexity.