Overview
BetterModel provides a powerful animation system that supports looping, single-play animations, speed control, blending, and per-player animation states.Basic Animation Playback
Playing an Animation
Play an animation by name:Play Once
Play an animation a single time:Animation with Callback
Execute code when an animation finishes:Animation Modifiers
Creating Custom Modifiers
AnimationModifier controls how animations play:
Animation Types
Speed Control
Adjust animation speed:Lerp (Blend) Transitions
Smooth transitions between animations:Conditional Animations
Play animations based on conditions:Stopping Animations
Stop by Name
Stop a specific animation:Stop for Specific Player
Stop a per-player animation:Animation Replacement
Replace Running Animation
Seamlessly transition from one animation to another:Using Blueprint Animations
Replace with a blueprint animation object:Per-Player Animations
What are Per-Player Animations?
Per-player animations show different animations to different players for the same model. This is essential for:- Custom player emotes visible only to nearby players
- Player-specific effects
- Individualized NPC interactions
Playing Per-Player Animations
Use theplayer() modifier to target specific players:
Per-Player Events
Listen for per-player animation events:Built-in Animations
Spawn Animation
Automatic animations on tracker creation:Damage Animation
Automatic damage animation on entity hit (if enabled inTrackerModifier):
Animation Layering
Override vs. Blend
Bone-Specific Animations
Play animations on specific bones:Advanced Patterns
Animation State Machine
Implement a simple state machine:Combo Attacks
Chain animations together:Synchronized Group Animations
Animate multiple trackers together:Animation Debugging
Checking Running Animations
Listing Available Animations
Performance Considerations
- Use
LOOPfor continuous animations (idle, walk) - Use
PLAY_ONCEfor actions (attack, jump) - Avoid starting/stopping animations every tick
- Cache
AnimationModifierinstances when possible - Limit per-player animations to visible range
Next Steps
Custom Hitboxes
Add interactive hitboxes to animated parts
Per-Player Animation
Deep dive into per-player animation system
