Skip to content
← Back to Blog 3d-modeling

Blender to Unreal Engine 5: The Complete Export Workflow for Game-Ready Assets

By BitSoul3D6 min read4,080 views

Every 3D artist who's moved from Blender to Unreal Engine 5 has felt it — the pivot of dread when the mesh lands in the engine looking nothing like what you built. Wrong scale, missing materials, broken normals. Here's how to build a bulletproof Blender-to-UE5 pipeline so your assets arrive game-ready, every time.

Blender to Unreal Engine 5: The Complete Export Workflow for Game-Ready Assets

Setting Up Blender for UE5 Export

Unreal Engine 5 works in centimeters; Blender defaults to meters. This single mismatch causes the majority of scale issues. Before you model a single vertex, configure your scene:

In Blender, go to Scene Properties → Units and set:

Alternatively, model at normal Blender scale and apply a 100x scale multiplier on FBX export — but the scene-unit method is cleaner and prevents surprises.

For the origin point, always place your mesh with the pivot at the base center (bottom of the bounding box, centered on XY). UE5 uses this as the actor's placement origin in the world. A misplaced origin means every instance you drag into a level will float or sink.

Finally, apply all transforms before export: Object → Apply → All Transforms (Ctrl+A). Unapplied scale and rotation are the second-most-common source of import headaches.

FBX Export Settings That Actually Work

Blender's FBX exporter has a lot of knobs. Most tutorials leave them on defaults, which is fine for casual use — but production pipelines need precision.

Open File → Export → FBX (.fbx) and set:

SettingValueWhy
Scale1.0Let the scene unit handle scale
Apply ScalingsFBX AllBakes transforms cleanly
Forward-Z ForwardMatches UE5 coordinate system
UpY UpUE5 is Y-up
Apply Unit✅ EnabledConverts to cm
SmoothingFace or EdgeAvoid normals-only for hard-surface
Tangent Space✅ EnabledRequired for normal maps
Only Deform Bones✅ (for characters)Strips helper/control bones

For static meshes (no rig), uncheck Armature and Animation — it keeps the file small and import fast.

# Blender Python: batch-export selected objects as individual FBX files
import bpy, os

export_dir = "/path/to/export/"

for obj in bpy.context.selected_objects:
    if obj.type == 'MESH':
        bpy.ops.object.select_all(action='DESELECT')
        obj.select_set(True)
        bpy.context.view_layer.objects.active = obj
        filepath = os.path.join(export_dir, obj.name + ".fbx")
        bpy.ops.export_scene.fbx(
            filepath=filepath,
            use_selection=True,
            apply_scale_options='FBX_SCALE_ALL',
            axis_forward='-Z',
            axis_up='Y',
            bake_space_transform=True,
            mesh_smooth_type='FACE',
            use_tspace=True
        )
        print(f"Exported: {filepath}")

This script exports each selected mesh as its own FBX — useful when building a library of props.

FBX Export Settings That Actually Work — illustrated

For Blender 5's updated glTF export path (GLB instead of FBX), see Blender 5 glTF export settings for game-ready GLB — the settings differ enough to be worth a separate read.

Importing into UE5: Import Dialog Demystified

Drag the FBX into the Content Browser and the import dialog opens. The defaults are not always your friend.

Static Mesh imports:

For Nanite meshes, enable Nanite after import: open the Static Mesh editor, go to Details → Nanite Settings → Enable Nanite Support. Do NOT enable Nanite on assets that will use LODs manually — the two systems don't mix well. Nanite excels on hero props, environmental geometry, and landscape rocks with dense poly counts (50k+). For small gameplay props under 5k tris, standard meshes with LODs are still faster.

Collision setup: UE5 can auto-generate collision from the mesh, but it's rarely ideal for complex shapes. The cleanest approach is to model a simplified UCX (Unreal Collision) mesh in Blender and name it UCX_MeshName_01. Include it in the FBX export and UE5 will automatically assign it as the mesh's collision body.

Materials: Bridging Blender PBR to UE5

Blender's Principled BSDF maps almost directly to UE5's M_Standard material inputs:

BlenderUE5
Base ColorBase Color
RoughnessRoughness
MetallicMetallic
Normal MapNormal (set to Normal map sampler)
Alpha / TransmissionOpacity / Blend Mode

The snag is that UE5 expects textures in specific formats. For best results:

For packed ORM textures (Occlusion-Roughness-Metallic in RGB channels — standard for UE5), set up a single texture sample node and split the RGB channels with Append nodes. This cuts texture memory by ~3x vs. three separate maps.

If you're managing a large asset library, consider uploading your source FBX and texture sets to the BitSoul marketplace before import — it gives you version-controlled cloud storage for source files that your whole team can pull from.

Materials: Bridging Blender PBR to UE5 — illustrated

Character Rigs and Skeletal Meshes

Exporting rigged characters adds complexity. A few rules that prevent 90% of failures:

  1. Use a single root bone — name it root, positioned at world origin. UE5's Mecanim-equivalent (IK Rig) expects this.
  2. Freeze all bone rolls in Blender before export: in Edit Mode, select all bones, Armature → Recalculate Roll → Global -Z Axis.
  3. Export animations as separate FBX files from the base mesh. One FBX per animation clip is easier to manage and re-import.
  4. Set the frame range per animation clip in the NLA editor — bake actions before export with NLA → Bake Action.

For the import in UE5, import the skeletal mesh first (no animation), then import each animation FBX pointing to the existing skeleton. This keeps the skeleton shared across all animation assets — changes to the rig only need to be updated once.

Quick Pre-Export Checklist

A consistent export checklist eliminates the majority of "why does it look broken in engine" debugging sessions. Treat it as part of your asset finalization step, not an afterthought.

Wrapping Up

The Blender-to-UE5 pipeline has more friction than it should, but once you've standardized your export settings and import workflow, it becomes second nature. The biggest wins are: correct scene units from day one, disciplined UV channel management, and separating textures by color-space type on import.

If you're building an asset library for games, having production-ready source files cuts the Blender-to-UE5 prep time considerably. BitSoul's marketplace offers 747 game-ready models — characters, vehicles, environments, and props — already exported with correct UE5 units, clean FBX/GLB variants, and PBR-ready textures. Before committing to a full import, use BitSoul's 3D Studio to inspect pivot points, polygon counts, and animation timings directly in your browser.

A free account includes two downloads a month for evaluation; commercial use across your projects is covered by paid memberships. Compare plans.


This post is part of the Ultimate Guide to Free 3D Game Assets — BitSoul's complete reference for formats, texturing, rigging, optimization, and engine integration.


Build with real assets: grab the 98-model Character Pack on the BitSoul marketplace and drop them straight into your project.

Tags: characters

Skip the modeling — download it instead

A free BitSoul3D account gets you 2 GLB downloads every month for personal use plus 25 one-time AI Engine credits, no card required. PBR-textured GLB downloads with a full 3D preview before you buy, for Unreal, Unity, Godot or Blender — OBJ and 3D-printable STL come with any purchase or paid plan.

Browse 1,051 models — from $4.99 → or start free (2 downloads a month)