API Overview
Every TakeForge action is also a function on UTakeForgeLibrary, callable
three ways:
| Route | For | Page |
|---|---|---|
| Python | Whole-folder pipelines, CI steps, quick console one-liners | Python |
| Blueprint | Editor Utility Widgets / Blutilities - custom in-editor tooling with UI | Blueprint |
| C++ | Editor modules and plugins that build on TakeForge | C++ |
The functions
| Function | Does | Menu equivalent |
|---|---|---|
ApplyRootMotion(seq, mode) | Pelvis travel → root bone (exact / smoothed), or removed (in place) | Root Motion outputs |
MakeLoopable(seq) | Blends the end into the start pose | Make Loopable |
AlignTravelDirection(seq) | Rotates the take onto the forward axis | Align Travel Direction |
Mirror(seq) | Baked left↔right mirrored version | Mirror |
RezeroToOrigin(seq, zero_z, zero_yaw) | Take starts at (0,0,0) | Start at Origin |
TrimToRange(seq, start, end) | Keeps only frames [start, end] | Trim to Range |
RetimeToSpeed(seq, cm_s) | Rate Scale for an exact travel speed | Retime to Speed |
AdjustMotion(seq, speed, amplitude) | Playback-speed and sway-amplitude tuning | Adjust Motion |
IsolateBones(seq, bones, hold_first) | Keeps animation only on the given branches | Isolate Bones (keep) |
StripBones(seq, bones, hold_first) | Cleans animation from the given branches | Isolate Bones (remove) |
GraftBones(target, source, bones, s0, s1, t0, t1, blend) | Splices source's branches onto the target | Graft Bones |
StitchTakes(target, second, blend) | Appends second after target with a crossfade | Stitch Takes |
SmoothBones(seq, bones, ranges, radius, blend) | Windowed Gaussian smoothing of branches | Smooth Bones |
AddMotionMatchingCurves(seq, warping, constant, value, contact) | Writes enable_warping, movedata_speed, phase, and optionally the contact curves | Add Motion Matching Curves |
GetAverageSpeed(seq) | Average travel speed in cm/s (read-only) | Check Take (part of) |
Shared semantics
Whatever the language, the same rules apply:
- Direct modification. Functions modify the given asset - there is no implicit duplication. Duplicate first for the menu actions' non-destructive behavior (recipes on the Python page show how).
- Settings at call time. Pelvis bone, smoothing strength, markers, curves, forward axis - read from Editor Preferences → Plugins → TakeForge when the function runs. There are no per-call overrides for these.
- Undoable. Each mutating call opens an editor transaction, so Ctrl+Z works after scripted edits just like after menu actions.
- Editor-only. The library lives in an editor module: available in the editor (including commandlets), never in packaged games.
- Errors, not exceptions. Mutating functions return
boolsuccess plus an error string describing why a take was rejected (no keys, no measurable travel, unknown bones, …).