MSMotion is an all-in-one Unity animation editor and zero-GC runtime framework. Extract, blend, and edit clips, overlay procedural IK, and seamlessly trigger FX.MaharajaStudio MSMotion — Animate. Simulate. React. All in One Place.Your game's attack has a sword trail. A footstep kicks up dust and plays a crunch. A leap follows a perfect arc and lands with a camera shake. MSMotion is built around this reality— it is the only Unity tool that connects your animations, visual effects, physics, and gameplay logic on a single shared timeline.No more jumping between an Animator window, a Particle System, and a script. MSMotion does it all, in one editor, with real-time preview — and zero performance cost at runtime.🌟 Why MSMotion Is DifferentMost animation tools stop at the clip. MSMotion starts there and goes much further.✅ Place an IK Override on the same timeline as your attack animation — the arm reaches exactly where you want, exactly when you want.✅ Drop an Audio event on the same frame as the impact — frame-perfect sync, every time.✅ Add Jiggle Physics to a ponytail, a cape, or a chain — it reacts to movement automatically.✅ Draw a Bezier path for a dash or a leap — the character follows it smoothly without touching root motion baking.✅ Trigger your own gameplay code (hitboxes, combo windows, state changes) directly from the timeline — no polling, no guessing.Everything previews live in the Scene View, inside the Unity Editor, without entering Play Mode.🎛️ The Composition EditorThis is your main workspace. Think of it like a video editor, but for character animation and gameplay events.🔹 Stack unlimited layers — blend full-body animations, upper-body overrides, and physics reactions all at once.🔹 Mix Override and Additive layers with AvatarMasks — for perfect upper/lower body blending.🔹 Every layer accepts Animation Clips, Pose Holds, IK Nodes, Physics Nodes, and FX Events as slots.🔹 Drag, trim, split, duplicate, and ripple-delete any slot — a full non-destructive editing workflow.🔹 Set crossfade curves per slot with 6 transition shapes.🔹 Place color-coded Markers to annotate combo windows, impact frames, or cutscene beats.🔹 Real-time IK handle dragging in the Scene View — keyframes write back automatically.🧩 Modifier Nodes — The Power Behind the AnimatorThese are stackable, timeline-driven solvers that run live on top of your animation:🦾 IK Override Node — Keyframe a hand or foot position in world space over time. Drag interactive handles in the Scene View. Add Squash & Stretch on impact frames — all without touching the base clip.👣 Foot IK Node — Automatically plants feet on uneven terrain, stairs, and slopes. Handles pelvis drop, foot locking, and toe rotation. Works out-of-the-box on Humanoid rigs, and supports Generic rigs via manual bone mapping.👀 Look-At Node — Makes a character's head, spine, and eyes smoothly track a target. Includes realistic eye micro-jitter (saccades) and soft angle limits. Reusable across any character.🌊 Jiggle Physics Node — Secondary motion for hair, tails, capes, and chains. Add wind, turbulence, gravity, and collision bodies. Results feel physical and alive, not hand-keyed.🛤️ Spline Trajectory Node — Draw a Bezier path in the Scene View and the character follows it during playback. Great for dashes, leaps, and cutscene movement — with ground snapping and banking.🔒 IK Lock Node — Freeze a hand or foot to a surface contact point while the body continues to animate freely.✨ FX & Gameplay Event NodesPlace events directly on the composition timeline, in sync with your animation:🔊 Audio — Trigger a sound at any frame, with volume, pitch, and 3D distance settings.💥 Particle FX — Spawn particles attached to any bone, with movement paths and blend envelopes.🎇 VFX Graph — Drive Unity VFX Graph effects and their parameters from the timeline.📷 Camera Shake — Cinemachine Impulse shakes triggered on a specific frame.📦 Spawn FX — Instantiate any prefab (sword trails, decals, muzzle flashes) from the timeline.🦴 Transform FX — Animate any bone or object property from the timeline (great for eye blinks, wing folds, shield raises).⚙️ Script Event — Notify your own C# code at any point in the animation, passing typed parameters (float, int, bool, string, or GameObject). Great for signalling gameplay systems, triggering sound managers, or driving UI — pair it with the runtime query API for critical logic.Change the look of spawned effects per-character without making duplicate prefabs — just override the properties you need, per slot.🎬 Animation EditorFor when you need to go deep into a clip:🔓 Extract any locked FBX animation into a fully editable .anim asset in one click.✂️ Trim, scale, reverse, insert, and crop time ranges directly.📐 Edit individual keyframes — time, value, tangents, and tangent modes.🔁 Mirror animations, smooth curves, remove redundant keys, and extract root motion.🎯 Move bones in the Scene View and Auto-Key writes the keyframes for you.👻 Ghost preview — edit a clip while seeing the full composition context blended behind it.⚡ Runtime — Zero GC. Maximum Performance.At runtime, MSMotion uses Unity's low-level PlayableGraph API. There are no Animator Controller state machines. No GC spikes. No string lookups.▶️ Play, CrossFade, and sequence animations with a simple C# API.🎭 Unlimited animation layers, allocated only when needed.🎚️ FX events fire frame-accurately alongside the animation, with automatic intensity scaling during crossfades.🔗 IK constraints activate and deactivate per animation — point a hand at a weapon target with one line of code.♻️ All audio and particle effects are pooled — zero Instantiate/Destroy calls during gameplay.🛠️ CompatibilityEngine: Unity 6 and aboveRig Support: Full support for both Humanoid and Generic rigsSource Code: Full C# source included — no DLLs, no black boxesOptional Integrations: Cinemachine · Unity VFX Graph · Unity Animation RiggingDocumentation: Full guides included in the Documentation~ folder📞 Support & Community📧 Email: maharajastudiocustomerservice@gmail.com🌐 Website: link💬 Discord: link📖 Docs: Online Docs▶️ Tutorials: Coming soonMSMotion is built for developers who want AAA-quality animation pipelines without sacrificing performance, flexibility, or creative control.MSMotion — Technical Details & Feature Reference📖 Full Documentation: https://maharajastudiocustomerservice-cell.github.io/MaharajaStudioWeb/ms-motion-docs.html📦 Package Contents✔ Full C# source code — no DLLs, no black boxes✔ UI Toolkit editor scripts and USS stylesheets✔ High-performance runtime API (PlayableGraph-based, Zero-GC)✔ Comprehensive local documentation (Documentation~ folder)✔ Example scenes and starter guides🛠️ Compatibility| Property | Detail ||-----------------------|------------------------------------------------------|| Unity Version | Unity 6+ || Runtime Architecture | PlayableGraph API — no AnimatorController at runtime || Editor Architecture | Unity UI Toolkit || Cinemachine | Optional — for CameraShakeFX nodes || Unity VFX Graph | Optional — for VFXGraphFX nodes || Unity Anim. Rigging | Optional — for MSMotionRigController |🎛️ Composition EditorMulti-layer, non-destructive character timeline.Layers→ Unlimited named layers · Override or Additive blend mode→ Per-layer weight: static or AnimationCurve-driven over time→ Per-layer AvatarMask (upper/lower body isolation)→ Enable · Disable · Solo · Lock · Drag-to-reorder · DuplicateSlot Operations→ Move across layers · Trim from either edge · Split at playhead→ Duplicate (independent embedded clip copy) · Cut / Copy / Paste→ Ripple-delete · Custom tint color · Speed override with easing curve→ Per-slot Blend-In/Out with 6 curve shapes (Linear, Smooth, EaseIn, EaseOut, Cubic, Bounce)Slot Types🎞 AnimationClip · Pose Hold · IK Override · Foot IK · Look-At🌊 Jiggle Physics · Spline Trajectory · IK Lock🔊 AudioFX · ParticleFX · VFXGraphFX · SpawnFX · TransformFX · CameraShakeFX · ScriptEventFXOther Features→ Color-coded Composition Markers with drag-to-reposition→ Configurable Loop Region for rapid authoring iteration→ Real-time Scene Preview — live PlayableGraph inside AnimationMode, no Play Mode needed→ IK Scene Controller — drag effector/pole handles in Scene View; keyframes auto-write back→ Breadcrumb Navigation — drill into any slot's clip and return with one click→ Bone Scene Overlay — all bones visible, animated bones highlighted🧩 Modifier NodesAll nodes are stackable, timed, and blend in/out on the composition timeline.🦾 IK Override NodeMultiple IK chains · Animated effector + pole keyframes in Scene ViewPer-chain Squash & Stretch scale handles · FBIK solver👣 Foot IK NodeRaycast terrain adaptationPelvis drop · Foot lock · Toe rotation · Ground normal alignment · Humanoid auto-detect / Generic support👀 Look-At NodeHead · Spine chain · Left/Right eye — independently weightedBiological saccade micro-jitter · Soft angle limits · Humanoid auto-detect / Generic support🌊 Jiggle Physics NodeSpring-mass chain simulation · Stiffness, Damping, Mass, Gravity, Centrifugal forcePer-bone falloff curves · Wind + Turbulence · Self-collision4 collider shapes: Sphere, Capsule, Box, Plane · Volume preservation (Squash & Stretch)🛤️ Spline Trajectory NodeBezier root motion path in Scene View · Relative or Absolute spaceProcedural rotation + banking · Easing curve · Ground-snap raycastingSpeed heatmap HUD · Closed-loop paths🔒 IK Lock NodeFreeze a limb at world-space contact while the body continues animating✨ FX Event Nodes — 7 Types🔊 AudioFX — Volume, Pitch, SpatialBlend, StereoPan, 3D distance · Blend envelope💥 ParticleFX — OneShot or Sustained · Bone attachment · Detach mode · Trajectory path🎇 VFXGraphFX — Drive all VFX Graph parameter types (float, Color, Texture, Gradient, Mesh, etc.)📷 CameraShakeFX — Cinemachine Impulse trigger on a specific frame📦 SpawnFX — Instantiate any prefab at a bone-relative position · Zero Instantiate/Destroy🦴 TransformFX — Bone override (Local/World/Bone-Relative space) · Blend-In/Out envelope⚙️ ScriptEventFX — Typed C# callbacks via MSMotionScriptEventBus · Passes float/int/bool/string/GameObjectShared FX Features→ Property Overrides — override any spawned prefab field (Light intensity, Material color, etc.) per slot→ FX Trajectory Paths — Bezier movement paths for Particle/VFX effects in Scene View→ Three-tier Override System: Manifest → Global FXRegistry → per-instance runtime API→ AvatarMask-aware dispatch — lower-body layers don't fire upper-body FX events→ Layer-weight-scaled intensity — FX volume/emission scales with blend weight during crossfades🎬 Animation Editor→ 1-click FBX clip extraction to editable standalone .anim assets→ Range operations: Insert, Delete (with ripple), Scale, Reverse, Crop, Remove with Transition→ Three paste modes: Merge · Overwrite · Insert→ Keyframe edit: time, value, in/out tangent, tangent mode (Auto, Linear, Manual)→ Snap to frame · Bake curves to target frame rate→ Keyframe Optimizer — remove redundant keys within position/rotation tolerances→ Curve Smoother — Median, Gaussian, or Average filter · configurable window and iteration→ Root Motion Extractor — per-axis (X/Y/Z) extraction to Humanoid RootT/RootQ or Generic root→ Mirror · Tween slider · Auto-Key in Scene View→ Sync-to-Composition Ghost Preview — author a clip with the full composition context behind it⚠️ Known Limitation — FX Event Dispatch (Current Version)FX events are currently triggered via Unity's AnimationEvent system embedded in the exportedanimation clip. While this works reliably in most cases, Unity's AnimationEvent mechanism canskip events under certain conditions — for example, during fast time jumps, large frame ratedrops, or when a CrossFade causes the clip time to advance non-linearly.Because of this, we strongly recommend the following:✔ Use FX events for visual and audio effects (particles, sounds, camera shakes, VFX).✘ Do NOT rely on FX events for critical gameplay logic such as hitbox activation,damage dealing, collision triggers, or state machine transitions.For gameplay-critical timing, use the MSMotionAnimator state query API (GetNormalizedTime,GetCurrentTime, IsPlaying) to drive logic from your own Update loop, or use the ScriptEventFXnode as a signal — but always guard it with a fallback in your gameplay code.🔜 Upcoming: A future update will replace the AnimationEvent dispatch system with anevent-free FX cursor driven directly by MSMotionAnimator's PlayableGraph time. This willeliminate skipped events entirely and make FX dispatch 100% reliable regardless of crossfade,time scale, or frame rate. Existing authored compositions will migrate automatically.⚡ Runtime API SummaryMSMotionAnimator→ Play(config) · CrossFade(config) · PlayThenCrossFade(a, b) — async-await sequencing→ Stop · StopSmoothly · StopAll · Pause · Resume→ Delay-start-during-crossfade — holds clip at frame 0 during blend-in to preserve root motion→ Query: IsPlaying · IsFading · GetNormalizedTime · GetTimeRemaining · GetActiveWeightMSMotionFXPlayer→ Fires all 7 FX types frame-accurately · Fully pooled (AudioSource + ParticleSystem)→ Layer-weight-scaled intensity · AvatarMask-aware per-layer FX dispatchMSMotionRigController *(requires Unity Animation Rigging)*→ Named IK constraint registry — activate/deactivate per animation config→ SetTarget(id, transform) — point IK at any runtime target (enemy, ledge, weapon)→ Cross-layer IK suppression via AvatarMaskMSMotionAnimationConfig *(ScriptableObject per animation)*Clip · FX Manifest · Layer · AvatarMask · Additive flag · Loop flagFade-In/Out · Playback Speed · IK Override entries · FX Registry override · Delay-start flagMarketting image and asset store description made with help of gemini3.1 Pro and chatgpt5.2




