I'm trying to set up root motion in Godot but it's not giving the expected result.

This is the original animation:

The base animation

After setting up the AnimationTree to use the root bone, the character correctly stays in place, but the interpreted movement is not at all what it should be:

Setting the root motion with a RootMotionView

As you can see, it just wiggles side to side (which is an expected part of the animation), but it doesn't move forward.

I can't figure out what could be causing it. As I understand it the motion is calculated by looking at the location keyframes of the root bone, so what could be going wrong?

Edit: I notice that the RootMotionView floor drops away if I uncheck "Zero Y", which doesn't happen with the model I have that's working correctly:

  • \$\begingroup\$ I think you should post this as an issue in GitHub, here: github.com/godotengine/godot/issues \$\endgroup\$
    – Theraot
    Mar 21, 2023 at 22:11
  • \$\begingroup\$ Thanks for the suggestion, I just posted it as an issue there. \$\endgroup\$
    – frnsys
    Mar 22, 2023 at 16:15
  • \$\begingroup\$ @frnsys was there any resolution to your issue? Adding a link here would help future readers follow up and learn from any comments posted there. \$\endgroup\$
    – DMGregory
    Oct 23, 2023 at 15:47

1 Answer 1


this is normal, you need to code the kinematic or character controller to move your character about

the function get_root_motion_position gives how much to move_and_slide each frame.... myself i'm still trying to get the rotation correct this depends on the model animations i believe

  • \$\begingroup\$ Thanks for your answer but the RootMotionView node is meant to show the root motion without needing to code up the full character controller. \$\endgroup\$
    – frnsys
    Apr 2, 2023 at 10:10

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .