Vertical root motion and rigidbody / character controller

I have created a simple motion in Unity that moves 5 points up the Y axis over a second and then moves back to original spot and want to use it as a basic motion for jump prototyping.

This motion works fine on objects that don’t have Rigidbody or Character Controller, but simply doesn’t work on objects that have either. Though, if i add X and Z axis movements to the motion, they work just fine. I imagine this is something to do with gravity, but since this motion is created in Unity it has no animation import tab where i can change the gravity settings.

Any way to make it work?

EDIT: if the rigidbody is set to kinematic, the vertical root motion works. Kinematic rigidbody is way too far from what i need, though.

EDIT2: discovered a piece of downright weird behaviour. A character controller in itself has no gravity. However, once i add Animator and enable root motion, this in itself - even with animation having no root motion whatsoever - causes gravity to be applied. So apparently Animator has decided that it has something to do with gravity and there is no good way to control it.

Reset the Animator Component and try these few things.

  1. Enable Apply Root Motion
  2. Update Mode Animate Physics.

alt text

https://forum.unity.com/threads/how-to-fix-animation-gravity-weight-issue-with-root-motion-solved.442342/