Rigidbody and humanoid mecanim avatar. Root motion best practices?

We’ve recently switched our main character from using a CharacterController to using a Rigidbody and capsule collider in order to take advantage of some physics functionality.

Currently we’re handling character movement by calculating a move vector and applying the desired velocity directly to Rigidbody.velocity. This works alright for the most part, but we’d really like to use root motion to drive our character instead, and I was wondering if anyone has attempted this before?

Basically I’m looking for ideas or best practices for combining root motion and non-kinematic rigidbodies. Is it possible for Mecanim to interact with the rigidbody and impart force on it through animated motion? Or will we be required to use OnAnimatorMove and script the motion ourselves?

Ideally we’d like character motion to work with physics, maintaining momentum where appropriate while allowing the animations to drive the character.

It works with a rigidbody just fine. I believe that is what they expect you to use. There are a few things you need to be careful of - ie, be sure to bake in the vertical movement, or it will make your characters very gravity resistant. I believe the only times you do not want to do this is when your character actually needs to jump etc.