G—P / FMX 430 / Blender / Day 05

Day 05 · Pipeline & proof

The export pipeline, and the round trip 70 min

The day that decides whether any of the previous four survives the journey — and then proves it, by putting your terrain and your character in one Unreal scene and walking one across the other.

Start Files you already have: Day 4’s .blend (the animated character), Day 2’s .blend (the terrain), and your Unreal project. Nothing new is modeled today Time 70 minutes · 15 reading, 55 at the keyboard Need Day 2's terrain and Day 4's walk cycle Serves Every asset you make this term, in every project
By the end of this session you can

Brief · 15 min Decide before you animate

There are two ways a character can move through a world, and the decision has to be made before the animation exists — not discovered afterwards, when changing it means redoing the clip.

In-placeRoot motion
What movesThe feet cycle; the character stays at the originThe root bone carries the character forward
What drives positionThe game moves the collision capsuleThe animation moves the capsule
StrengthSimple, forgiving, easy to blendHigher fidelity — feet stay planted, weight reads properly
CostFeet can slide if the speeds disagreeMore setup, and it needs Day 3's root bone to exist
Use it whenMost student work, most of the timeThe motion itself matters — a stumble, a turn, a jump

Pick one per clip and stay consistent. Mixing them is what produces the two classic bugs: the character who moonwalks, sliding across the ground while their legs cycle at a different speed, and the character who runs away from their own collision capsule, leaving the thing the game thinks they are behind.

Build · 55 min Export, import, prove it

  1. Name your clips like assets, not like accidents

    A_Walk, A_Idle, A_Turn_L. Not Action.001, not walk_final_v3_REAL. You will be reading these names inside an animation blueprint at some point, in a list, under time pressure.

    Where: the Dope Sheet’s header has its own mode dropdown — switch it to Action Editor and the clip’s name appears in the header field, ready to retype.

    The Dope Sheet with the armature's action named A_Wave. Rename the action in the Dope Sheet's Action Editor mode, or in the Properties editor — never leave it as Action.001.
  2. Match the frame rate to the engine before exporting

    Set the Blender scene fps to whatever your Unreal project uses. A mismatch is nasty precisely because nothing errors — everything simply plays at a subtly wrong speed, and the character feels slightly rushed or slightly drugged in a way that is hard to name and easy to blame on the animation.

    Output properties: Frame Rate set to 30 fps, frame range 1–24. Match this to the Unreal project before you export, not after.
  3. Export with Bake Animation on

    Baking resolves all your constraints, drivers and IK into plain per-bone keyframes, which is what FBX can actually carry. Select the mesh, Shift-click the rig — the same pair, in the same order, as binding on Day 3 — and tick Limit to Selected Objects so stray lights and cameras stay home. While you are learning, one FBX per clip has the fewest moving parts and the fewest ways to go wrong.

    File → Export → FBX with the character and its rig selected. 3 Limit to Selected Objects. Then open 2 Armature (tick Only Deform Bones, untick Add Leaf Bones) and 1 Animation (Bake Animation on). The panels are collapsed by default; click their headers.
  4. Import the character first — then the animations

    Getting in: importing in Unreal is a drag — literally: drag the FBX into the Content Drawer (Ctrl+Space), and the FBX Import Options dialog opens. Order matters. Import the skeletal mesh first, which creates a Skeleton asset. Then import each animation FBX — and the Skeleton dropdown at the top of that dialog is the one that matters: point it at that same skeleton.

    Skip this and Unreal helpfully creates a second skeleton, and now you have two characters that look identical and cannot share a single animation between them. It is a confusing afternoon, and it is entirely avoidable by reading that one dropdown.

  5. Retarget with IK Rig and IK Retargeter

    If you need to move animation between skeletons, UE5 does it with IK Rig + IK Retargeter. Be warned when you go looking for help: a great many tutorials still demonstrate the pre-UE5 retargeting flow, which no longer resembles what is in your editor. If a tutorial's panels do not match your screen, it is not you — check its date.

  6. The round trip — put it all together

    One level. Day 2's terrain, and Day 4's character standing on it. Then check all of it at once:

    Correct scale against the mannequin. Character on the ground, not floating above it or sunk into it. The walk loops cleanly. No junk bones in the skeleton. No 90° rotation. No terracing on the slopes. If all of that is true, your pipeline works end to end, and you know it because you watched it.

The last drill, and the most useful one

Work down the triage table below and produce each symptom on purpose. Export an 8-bit heightmap and look at the terracing. Export the Rigify control bones and see the junk skeleton. Mismatch the frame rate and watch the walk speed up.

Being able to cause a bug deliberately is what makes you able to recognize it instantly later. Ten minutes of breaking things now is worth more than any amount of reading.

Reference The triage table

Keep this open all semester. Almost every Blender-to-Unreal problem you hit this term is one of these sixteen, and each one has a single most-likely cause.

SymptomAlmost alwaysFix
Imports 100× too big or too smallUnit mismatchCheck export scale; measure it in Unreal
Arrives rotated 90°, or on its backForward/up axis pair, or armature rotationVerify by importing, not by trusting a setting
A modifier or export behaves strangelyUnapplied scale or rotationCtrl+A → All Transforms
Terrain stair-steps on slopes8-bit heightmapRe-export at 16-bit
Landscape has seams, or LODs badlyNon-recommended landscape resolutionUse the sizes the editor suggests
Cliff overhang will not sculpt in LandscapeIt is a heightfield — one height per pointModel it as a mesh in Blender
Rock collides wrong, or tanks performanceAuto-collision on complex geometryAuthor a UCX_ collision mesh
Skeleton is full of junk bonesExported Rigify control bonesExport deform bones only
Character slides, or moonwalksRoot motion vs in-place mismatchPick one per clip, consistently
Animation plays at the wrong speedFrame-rate mismatchMatch the Blender scene fps to Unreal
Walk cycle stutters at the loopDoubled frame at the loop pointDuplicate frame 1 to the end, play one short
Shoulder or hip crumples when posedWeight paintingPaint weights; hunt for stray influences
Mirror or pose-flip stopped workingBone namingRestore the .L / .R suffixes
Two incompatible characters in UnrealImported a second skeleton by accidentImport animations against the existing skeleton
Retargeting tutorial does not match the editorUE5 uses IK Rig + IK RetargeterIgnore pre-UE5 tutorials
Model looks inside-outFlipped normalsSelect all → Shift+N
The acceptance test

After Day 5

You now have the Blender half of this course. It is not the whole of Blender and it is not meant to be — box modeling, UV layout, texturing, baking, Geometry Nodes, Cycles rendering and physics are all outside these five days. What you have is the part that touches Unreal, which is the part this course runs on.

The habit worth keeping: when something arrives broken, read the triage table before you read a forum. The answer is on it about four times out of five, and finding it there takes a minute instead of an evening.