Container and player of Animation resources.
    public class AnimationPlayer : Node

An animation player is used for general purpose playback of Animation resources. It contains a dictionary of animations (referenced by name) and custom blend times between their transitions. Additionally, animations can be played and blended in different channels.

Inheritance Chain


    public AnimationPlayer()


    "animation_changed" (String old_name, String new_name)

If the currently being played animation changes, this signal will notify of such change.

    "animation_finished" (String anim_name)

Notifies when an animation finished playing.

    "animation_started" (String anim_name)

Notifies when an animation starts playing.


    public string AssignedAnimation { get; set; }

If playing, the current animation; otherwise, the animation last played. When set, would change the animation, but would not play it unless currently playing. See also CurrentAnimation.

    public string Autoplay { get; set; }

The name of the animation to play when the scene loads. Default value: "".

    public string CurrentAnimation { get; set; }

The name of the current animation, “” if not playing anything. When being set, does not restart the animation. See also Play(string, float, float, bool). Default value: "".

    public float CurrentAnimationLength { get; }

The length (in seconds) of the currently being played animation.

    public float CurrentAnimationPosition { get; }

The position (in seconds) of the currently playing animation.

    public bool PlaybackActive { get; set; }

If true, updates animations in response to process-related notifications. Default value: true.

    public float PlaybackDefaultBlendTime { get; set; }

The default time in which to blend animations. Ranges from 0 to 4096 with 0.01 precision. Default value: 0.

    public AnimationProcessMode PlaybackProcessMode { get; set; }

The process notification in which to update animations. Default value: [enum ANIMATION_PROCESS_IDLE].

    public float PlaybackSpeed { get; set; }

The speed scaling ratio. For instance, if this value is 1 then the animation plays at normal speed. If it’s 0.5 then it plays at half speed. If it’s 2 then it plays at double speed. Default value: 1.

    public NodePath RootNode { get; set; }

The node from which node path references will travel. Default value: "..".


    public Error AddAnimation(string name, Animation animation)

Adds animation to the player accessible with the key name.

    public void Advance(float delta)

Shifts position in the animation timeline. Delta is the time in seconds to shift.

    public string AnimationGetNext(string animFrom)

Returns the name of the next animation in the queue.

    public void AnimationSetNext(string animFrom, string animTo)

Triggers the animTo animation when the animFrom animation completes.

    public void ClearCaches()

AnimationPlayer caches animated nodes. It may not notice if a node disappears, so clear_caches forces it to update the cache again.

    public void ClearQueue()

Clears all queued, unplayed animations.

    public string FindAnimation(Animation animation)

Returns the name of animation or empty string if not found.

    public Animation GetAnimation(string name)

Returns the Animation with key name or null if not found.

    public string[] GetAnimationList()

Returns the list of stored animation names.

    public AnimationProcessMode GetAnimationProcessMode()

Getter for PlaybackProcessMode

    public string GetAssignedAnimation()

Getter for AssignedAnimation

    public string GetAutoplay()

Getter for Autoplay

    public float GetBlendTime(string animFrom, string animTo)

Get the blend time (in seconds) between two animations, referenced by their names.

    public string GetCurrentAnimation()

Getter for CurrentAnimation

    public float GetCurrentAnimationLength()

Getter for CurrentAnimationLength

    public float GetCurrentAnimationPosition()

Getter for CurrentAnimationPosition

    public float GetDefaultBlendTime()

Getter for PlaybackDefaultBlendTime

    public NodePath GetRoot()

Getter for RootNode

    public float GetSpeedScale()

Getter for PlaybackSpeed

    public bool HasAnimation(string name)

Returns true if the AnimationPlayer stores an Animation with key name.

    public bool IsActive()

Getter for PlaybackActive

    public bool IsPlaying()

Returns true if playing an animation.

    public void Play(string name = "", float customBlend = -1f, float customSpeed = 1f, bool fromEnd = false)

Play the animation with key name. Custom speed and blend times can be set. If custom speed is negative (-1), ‘from_end’ being true can play the

animation backwards.

    public void PlayBackwards(string name = "", float customBlend = -1f)

Play the animation with key name in reverse.

    public void Queue(string name)

Queue an animation for playback once the current one is done.

    public void RemoveAnimation(string name)

Remove the animation with key name.

    public void RenameAnimation(string name, string newname)

Rename an existing animation with key name to newname.

    public void Seek(float seconds, bool update = false)

Seek the animation to the seconds point in time (in seconds). If update is true, the animation updates too, otherwise it updates at process time.

    public void SetActive(bool active)

Setter for PlaybackActive

    public void SetAnimationProcessMode(AnimationProcessMode mode)

Setter for PlaybackProcessMode

    public void SetAssignedAnimation(string anim)

Setter for AssignedAnimation

    public void SetAutoplay(string name)

Setter for Autoplay

    public void SetBlendTime(string animFrom, string animTo, float sec)

Specify a blend time (in seconds) between two animations, referenced by their names.

    public void SetCurrentAnimation(string anim)

Setter for CurrentAnimation

    public void SetDefaultBlendTime(float sec)

Setter for PlaybackDefaultBlendTime

    public void SetRoot(NodePath path)

Setter for RootNode

    public void SetSpeedScale(float speed)

Setter for PlaybackSpeed

    public void Stop(bool reset = true)

Stop the currently playing animation. If reset is true, the anim position is reset to 0.

Inner Types


Name Value Description
Physics 0 Process animation during the physics process. This is especially useful when animating physics bodies.
Idle 1 Process animation during the idle process.