The information on this page applies the same whether you're using Animancer or regular Animator Controllers and the scripts are included in Animancer Lite so feel free to just grab them if you aren't using Animancer.
It's usually a good idea to keep a character's logical components separate from their model for organizational purposes, so you might have a hierarchy like this:
In that case, the
Animator will apply any Root Motion to itself by default, causing it to move away from the
Rigidbody if they aren't on the same object.
Animancer includes several scripts which solve this problem by redirecting the Root Motion to a various different object types.
|Default Root Motion
|Redirected Root Motion
To use these components, simply add one of them to the same object as the
Animator and set its
Target to the object you want to apply the Root Motion to. If a component of the
Target type is on a parent object, it will be assigned automatically.
Those scripts are located in Assets/Plugins/Animancer/Utilities/Redirect Root Motion and have no external dependencies so feel free to just grab that folder if you want to use them without Animancer.