Mirror
One click bakes a left↔right mirrored copy of a take: a strafe-left
becomes a strafe-right, a right-hand reach becomes a left-hand reach -
halving what you have to capture for locomotion and interaction sets. Output
suffix: *_Mirrored.
The same playhead before and after - note the trail, the raised arm, and the success notification reporting what was paired and swapped:


What it does
- Reflects the motion across the character's symmetry plane. The lateral
axis is detected from the rig itself (where
_l/_rpairs sit in the reference pose), and what gets mirrored is each bone's delta from the reference pose - so every joint keeps its native axes and the reference pose mirrors to itself exactly. No skewing, no flipped joints. - Swaps left/right bone pairs:
clavicle_l↔clavicle_r,hand_l↔hand_r, and so on. Pairing is automatic by name -_l/_rsuffixes and infixes,L_/R_prefixes, andleft/rightwords, which covers MetaHuman body and face conventions. Center-chain bones (spine, neck, pelvis, root) mirror in place. - Root motion mirrors naturally - a veer-left path becomes veer-right.
- Foot sync markers and notify names swap sides (
foot_l↔foot_r), so blendspace sync groups stay correct on the mirrored clip.
Float curves, frame count, and timing are untouched. The notification reports how many tracks were mirrored, how many bones were paired, and how many marker/notify names swapped.
Why bake instead of the Mirror anim node?
UE's built-in mirroring (UMirrorDataTable + the Mirror node) happens at
runtime inside an Anim Blueprint. A baked *_Mirrored asset:
- drops straight into blendspaces, montages, and sync groups - zero AnimBP work,
- can be inspected, trimmed, smoothed, and fixed like any other take,
- needs no mirror table setup per skeleton.
Mirroring assumes a left/right symmetric reference pose - true for MetaHuman and most humanoid rigs. On an asymmetric skeleton the mirrored side will be subtly off no matter which tool does the mirroring.
Scripting:
ok, err = unreal.TakeForgeLibrary.mirror(seq)