ue-animation-system

Implements skeletal mesh animation in Unreal Engine using AnimInstance, state machines, montages, and notifies.

55|5|Updated Mar 26, 2026
One-click install
npx skills add https://github.com/kevinpbuckley/unreal-engine-skills --skill ue-animation-system-kevinpbuckley
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ue-animation-system
Source: https://github.com/kevinpbuckley/unreal-engine-skills/tree/main/skills/core/ue-animation-system
Command: npx skills add https://github.com/kevinpbuckley/unreal-engine-skills --skill ue-animation-system-kevinpbuckley

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Setting up character animation in Unreal Engine requires coordinating C++ AnimInstance code, Animation Blueprints, state machines, montages, and notifies across game and worker threads, and mistakes cause crashes, desynced events, or broken poses. ## Core Features & Use Cases - C++ AnimInstance Architecture: Build a UAnimInstance base class with NativeInitializeAnimation, NativeUpdateAnimation, and NativeThreadSafeUpdateAnimation following the correct game-thread/worker-thread split. - Montages & Notifies: Play one-off action animations with section control and completion delegates, and fire gameplay events at precise frames using UAnimNotify and UAnimNotifyState. - Modern Animation Systems: Integrate Motion Matching (Pose Search plugin), Motion Warping, linked anim layers, inertialization, and layered bone blending. - Use Case: You are building a character that needs locomotion blending, attack montages with combo sections, and footstep sounds synced to animation frames; this Skill provides the exact class structure, API calls, and engine source citations to implement it correctly on UE 5.8. ## Quick Start Ask the agent to set up a C++ AnimInstance base class that drives a locomotion blend space and plays an attack montage with a completion delegate for your character.

Frequently Asked Questions about ue-animation-system

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a C++ AnimInstance class in Unreal Engine?

Subclass UAnimInstance and override NativeInitializeAnimation to cache owner references, NativeUpdateAnimation for light game-thread updates, and NativeThreadSafeUpdateAnimation for heavy per-frame logic. Expose variables as UPROPERTY(BlueprintReadOnly) so AnimGraph nodes can read them, then assign the class with SetAnimInstanceClass.

How do I play an animation montage from C++ in Unreal?

Call Montage_Play on the mesh's AnimInstance, or use the ACharacter convenience wrapper PlayAnimMontage with an optional start section. Bind FOnMontageEnded via Montage_SetEndDelegate to react when the action finishes or is interrupted.

What is the difference between UAnimNotify and UAnimNotifyState?

UAnimNotify is a single point event fired at one frame, such as a footstep sound. UAnimNotifyState spans a time range with NotifyBegin, NotifyTick, and NotifyEnd callbacks, suited for weapon trace windows or hit detection during a swing.

Why does my animation code crash in NativeThreadSafeUpdateAnimation?

The anim worker thread forbids UWorld queries, spawning objects, and non-thread-safe engine calls. Cache all actor and component references in NativeInitializeAnimation on the game thread and only read them from the worker thread.

Does Unreal Engine 5.8 include Motion Matching?

Yes, the PoseSearch plugin ships with UE 5.8 and has been production-ready since 5.4. Enable it in the Plugins window and use the Motion Matching AnimGraph node with a UPoseSearchDatabase and schema; no separate download is required.

When should I use Motion Warping instead of editing animations?

Use Motion Warping when root-motion clips must land on runtime targets like ledges or vault points. Add a UMotionWarpingComponent, annotate the montage with a warp notify state, and register the target with AddOrUpdateWarpTargetFromTransform before playing.