AnimStitch
Documentation
AnimStitch is a C++ Unreal Engine plugin — an NLE-style animation timeline editor. Arrange clips, overlap them into crossfades, fix feet and bones, then bake one clean AnimSequence.
It is non-destructive by design: your source animations are never modified.
Getting Started
Installation
Install AnimStitch from Fab into your Vault, then add it to your project and enable it. See the Fab listing for supported Unreal Engine versions.
Opening AnimStitch
Create or open an AnimStitch timeline project asset — the AnimStitch tool window opens on it, and the window tab takes the asset's name.
Quick Start — your first blend in five steps
- Add clips. Drag animation clips onto the timeline (clips already on the timeline are badged in the Content Browser). New clips place end-to-butt as straight cuts.
- Overlap to crossfade. Drag a clip over its neighbor; the overlap becomes a crossfade — set its length and choose a Linear or Smoothstep curve. Dragging a clip away from its neighbor opens a gap that automatically becomes a crossfade spanning the gap, drawn in a distinct color.
- Foot lock. Turn on Foot Lock with its toggle button on the main toolbar, then check the plant lane: click a plant to lock or unlock it, or drag to paint a locked region.
- Correct. Right-click below the clip lanes to add a bone track, then pose the bone with the control shapes in the preview viewport — posing writes a key at the playhead.
- Bake. Press Bake. You get one new AnimSequence on the same skeleton at the source framerate. Your source clips are never touched.
Keyboard shortcuts
| Shortcut | Action |
|---|---|
| A or Enter | Add a key on the selected bone track at the playhead |
| W / E / R | Move / Rotate / Scale tools |
| F | Focus the viewport on the selected control |
| G | Toggle helpers (control shapes, gizmo, grid, root path) |
| T | Toggle the gizmo between world and local space |
| Alt+drag a clip | Rate-stretch it |
| Ctrl+C / Ctrl+V | Copy / paste keys at the playhead |
| Ctrl+Z | Undo |
| Delete | Delete the selected keys or track |
| Mouse wheel | Zoom the timeline |
| Zoom to Fit (toolbar button) | Frame the whole timeline |
The Timeline
Clips sit in lanes arranged end-to-butt — those joins are straight cuts. Drag a clip over its neighbor to overlap: the overlap becomes a crossfade with an adjustable length and a Linear or Smoothstep curve. Drag a clip away to open a gap: the gap automatically becomes a crossfade spanning it, drawn on the timeline in a distinct color from overlap crossfades and updating live as you drag; dragging back to zero gap returns to a straight cut.
- Trim handles set non-destructive in/out points on a clip. Alt+drag rate-stretches a clip.
- Transport: a Sequencer-style bottom bar with play, pause, stop, scrub, loop, previous/next key jumps, go to start/end, and a timeline scrollbar; the mouse wheel zooms the timeline.
- An embedded preview viewport shows the blended result; a mesh picker chooses the preview mesh.
- Clips on the timeline are badged in the Content Browser with a checkmark badge (with a ×N count when a clip is used more than once); selecting a badged asset selects its clip on the timeline.
Baking
Pressing Bake produces one baked AnimSequence: same skeleton as the sources, at the source framerate. Baking is non-destructive — the output is always a new asset and sources are never touched.
- Root motion authority: designate one clip as the authority and each subsequent clip's root motion continues from it, so long chains stay coherent.
- Every baked asset is stamped with provenance — a record of the timeline and sources that produced it.
- The Baked Assets tab lists everything AnimStitch has baked, as Content Browser-style tiles: double-click opens the asset in the Animation editor; right-click offers "Show in Content Browser".
Foot Lock
What it fixes: foot sliding and skating in baked crossfades. Foot lock is an optional bake pass that pins foot plants and solves the legs with IK.
- Plant detection uses velocity and height thresholds against a ground plane height; the foot-bone picker is remembered per skeleton.
- The tool suggests plants automatically; a manual lock persists until you unlock it.
- The plant lane: click a plant to lock or unlock it; drag to paint a locked region; drag a region's start/end handles to resize it. A locked plant exposes its pin as a draggable free-IK target.
Foot Lock is a toggle button on the main toolbar, sitting right after the Predict Feet button, and it is off by default. It assumes flat ground.
Pre-blend Foot Prediction
ExperimentalWhere foot lock works on the blended result, prediction detects plants in each source clip before blending, so the crossfade itself becomes plant-aware. Pin targets come from the incoming clip's own positions; the pelvis is predicted read-only, for reachability.
Predict Feet is a toggle button on the main toolbar, off by default. Prediction composes with foot lock — you can use either or both.
Inspecting Bones
- Bone visibility modes: Hidden, Selected bone, or Full skeleton.
- Click any bone in the preview viewport to select it, or pick it from the dropdown — selecting from the dropdown switches you to the Details tab.
- The Details panel shows the selected bone's live transform (translation, rotation, scale) at the current scrub position. The readout is read-only: edits happen through correction controls, not by typing bone values.
Manual Correction
Add a bone track by right-clicking below the clip lanes, through the Add Bone Track dialogue, or with the toolbar's Add Core Bone / Add Limb buttons.
Two track modes
The mode is chosen when the track is created:
- Additive — keys hold transform offsets layered over the blend.
- Absolute — the track owns the bone: on creation, the bone's current evaluated pose is keyed on every frame across the timeline, and you edit from there.
Keys and controls
Keys live on Sequencer-style lanes. Pose Control Rig-style control shapes in the viewport with the move/rotate/scale gizmo — posing at a frame writes a key. A or Enter keys the control's current value; Ctrl+C / Ctrl+V copy and paste keys at the playhead; dragging a marquee selects keys across tracks; the selected control's transform can also be typed numerically in the Details panel.
Core bones (pelvis, spine, head) get one shape per bone and direct manipulation. Limbs are per-limb FK (a shape on each joint) or IK (one end-effector shape plus a pole-vector control for elbow/knee direction; the pole vector gets its own track so it can be keyframed independently).
IK keys
IK keys are weighted world keys: weight 1 means fully driven, 0 means released, and easing the weight to 0 releases smoothly with no pop. Foot and hand IK targets are free world-space targets, so planted feet are never dragged by root motion.
The Root offset track
The Root offset track (added via the "Root — motion offset" entry or by picking the root bone) holds additive translation and yaw offsets for the root. Unlike other correction tracks it evaluates with the blend, before foot lock, so foot-lock pins are computed against the corrected root path.
Ordering
Manual corrections apply after the automatic passes (prediction, foot lock) — manual edits win. The Root offset track is the exception: it evaluates with the blend.
Left and right limb controls are color-coded (blue left, red right, neutral center). Control size, opacity, and shape are adjustable globally and per control. The pelvis track offers a "keep feet planted" option.
Batch Mode
A timeline can be saved as a reopenable AnimStitch project asset. That asset doubles as a template: apply one template across a folder of clips and AnimStitch produces one baked output per clip.
Diagnostics
- Ghost preview at joins: shows the last frame of one clip and the first frame of the next at their join, so you can judge the transition.
- Root trajectory visualization: draws the root's ground path as a line in the viewport, styled after the Animation Sequence editor's root motion path.
Both are toggles and both are off by default; G toggles the root path together with the other viewport helpers.
FAQ
- Does AnimStitch modify my source animations?
- No. Baking always creates a new AnimSequence; sources are never touched.
- Can I reopen a bake session later?
- Yes. Save the timeline as an AnimStitch project asset and reopen it any time — it also works as a batch template.
- Additive or Absolute bone tracks — which do I want?
- Additive layers small offsets over the underlying animation. Absolute replaces the bone's motion with your keyed pose — use it when a bone needs to be fully re-authored.
- Which Unreal Engine versions are supported?
- See the Fab listing for the current compatibility list.
Troubleshooting
- Feet still skate in the baked output
- Foot lock is off by default — turn on Foot Lock with its toggle button on the main toolbar and confirm the plants are locked in the plant lane.
- Root motion jumps at a join
- Set the root motion authority clip so following clips continue from it, or add a Root offset track to adjust the path.
- A planted foot gets dragged along
- Planted feet hold when they are IK targets (free world-space targets). If the foot is on an FK track it follows the animation — switch the limb to IK for plants.
- My correction did not appear in the bake
- Check that the keys sit on the intended track and frames; on an Absolute track, keys exist on every frame, so edit the frames you actually scrubbed to.
Changelog
Version history will be published here, starting with the Fab launch.