/Godot 3.2


Inherits: Node < Object

A node to be used for advanced animation transitions in an AnimationPlayer.


Note: When linked with an AnimationPlayer, several properties and methods of the corresponding AnimationPlayer will not function as expected. Playback and transitions should be handled using only the AnimationTree and its constituent AnimationNode(s). The AnimationPlayer node should be used solely for adding, deleting, and editing animations.



bool active false
NodePath anim_player NodePath("")
AnimationProcessMode process_mode 1
NodePath root_motion_track NodePath("")
AnimationNode tree_root


void advance ( float delta )
Transform get_root_motion_transform ( ) const
void rename_parameter ( String old_name, String new_name )


enum AnimationProcessMode:

  • ANIMATION_PROCESS_PHYSICS = 0 --- The animations will progress during the physics frame (i.e. Node._physics_process).
  • ANIMATION_PROCESS_IDLE = 1 --- The animations will progress during the idle frame (i.e. Node._process).
  • ANIMATION_PROCESS_MANUAL = 2 --- The animations will only progress manually (see advance).

Property Descriptions

bool active

Default false
Setter set_active(value)
Getter is_active()

If true, the AnimationTree will be processing.

NodePath anim_player

Default NodePath("")
Setter set_animation_player(value)
Getter get_animation_player()

The path to the AnimationPlayer used for animating.

AnimationProcessMode process_mode

Default 1
Setter set_process_mode(value)
Getter get_process_mode()

The process mode of this AnimationTree. See AnimationProcessMode for available modes.

NodePath root_motion_track

Default NodePath("")
Setter set_root_motion_track(value)
Getter get_root_motion_track()

The path to the Animation track used for root motion. Paths must be valid scene-tree paths to a node, and must be specified starting from the parent node of the node that will reproduce the animation. To specify a track that controls properties or bones, append its name after the path, separated by ":". For example, "character/skeleton:ankle" or "character/mesh:transform/local".

If the track has type Animation.TYPE_TRANSFORM, the transformation will be cancelled visually, and the animation will appear to stay in place.

AnimationNode tree_root

Setter set_tree_root(value)
Getter get_tree_root()

The root animation node of this AnimationTree. See AnimationNode.

Method Descriptions

void advance ( float delta )

Manually advance the animations by the specified time (in seconds).

Transform get_root_motion_transform ( ) const

Retrieve the motion of the root_motion_track as a Transform that can be used elsewhere. If root_motion_track is not a path to a track of type Animation.TYPE_TRANSFORM, returns an identity transformation.

void rename_parameter ( String old_name, String new_name )

© 2014–2020 Juan Linietsky, Ariel Manzur, Godot Engine contributors
Licensed under the MIT License.