Staffan Olsson - Spline Motion Warping

Warp root motion along spline paths. Characters follow any USplineComponent during a montage window, with dynamic spline support that updates every frame at runtime.


Note: Extends Epic's Motion Warping plugin (currently in Beta) — drop-in integration, no refactoring needed.


🎬 Showcase | 🛠️ Tutorial | 📖 Docs | 📦 Demo Project | 💬 Discord

FEATURES
  • Dynamic Splines - Spline is re-read every frame. Move control points or reshape curves at runtime, character adapts mid-warp

  • Drop-in Integration - Works with your existing MotionWarpingComponent and Anim Notify States

  • 4 Rotation Modes - FaceSplineTangent, FaceTarget, Locked, UseWarpRotation. All include a Z-axis only toggle

  • Blend In – Smooth interpolation (BlendInRatio) onto the spline path to prevent teleport snapping.

  • Debug Visualization - Spline progress coloring, position markers, offset lines, progress %

  • Engine Native – Inherits from URootMotionModifier_Warp. All core engine warp properties carry through.

USE CASES
  • Traversal - Winding paths, rails, ziplines, ledges

  • Combat - Curving dash attacks, homing lunges

  • Platforming - Dynamic paths that reshape at runtime

VS BUILT-IN MOTION WARPING

UE's built-in system warps toward a single point — a straight line. This plugin warps along a curved spline path. Builds on top of the engine's system, not alongside it. Your existing setup keeps working.

💡 PRO-TIP: For best results, ensure the Spline Component is not a child of the actor being warped. If it is attached, the spline moves with the character's root, causing a "feedback loop" shift. Use a detached spline or a separate Spline Actor.