Skip to main content
The AnimationPlayer node is the primary way to play and control animations in Godot. It manages animation playback, blending between animations, and provides extensive control over timing and playback.

Creating an AnimationPlayer

Add an AnimationPlayer node to your scene:
1

Add the node

In the Scene dock, right-click your node and select “Add Child Node”, then search for AnimationPlayer.
2

Create animations

With the AnimationPlayer selected, use the Animation panel at the bottom to create new animations.
3

Add tracks

Click “Add Track” to animate properties of nodes in your scene.

Basic Playback

The AnimationPlayer provides simple methods for controlling animation playback:

Play Method Parameters

The play() method accepts several parameters:
  • name: Animation name to play (empty uses assigned animation)
  • custom_blend: Blend time in seconds (default uses playback_default_blend_time)
  • custom_speed: Speed multiplier (negative values play backwards)
  • from_end: Start from the end of the animation

Animation Properties

Current Animation

current_animation changes the animation but doesn’t play it unless already playing. Use play() to start playback.

Playback State

Animation Blending

One of AnimationPlayer’s most powerful features is smooth blending between animations.

Default Blend Time

Custom Blend Times

Set specific blend times between particular animations:

Manual Blend Override

Speed Control

Control animation playback speed globally or per-animation:
The actual playing speed is speed_scale × custom_speed. Use get_playing_speed() to get the combined value.

Seeking and Sections

Seeking to a Position

Playing Animation Sections

Play only part of an animation:

Animation Queue

Queue animations to play in sequence:

Auto-Advance

Automatically play another animation when one finishes:

Auto-Capture

Auto-capture smoothly transitions from the current state to the animation:
Auto-capture is useful when objects are procedurally animated or affected by physics, ensuring smooth transitions to keyframed animations.

Autoplay

Set an animation to play automatically when the scene starts:

Signals

AnimationPlayer provides signals for animation events:

Advanced Features

Movie Quit on Finish

Useful for rendering animations:

Manual Advancement

Complete Example

Here’s a complete character animation controller:

Next Steps

AnimationTree

Create complex animation blending with state machines

Skeletal Animation

Animate 3D characters with bones and IK