We have been using root motion for all animations and using the “Root motion from everything” in the animation blueprint. It works great in single player mode, however when using it in multiplayer mode, for all networked clients the “root motion” is not getting applied. AI just simply drags the character, and for player controlled clients the character does not move at all. I have noticed that animation montages that use “root motion” works fine for all networked clients.
I have been looking online but not coming across any solutions. So hoping someone with more experience in this area can help out. Not sure whether I am doing something wrong or “root motion” is just not supported in networked gameplay. I am using UE4.14.
Unfortunately, as far as I can tell the easiest way to sync up non-root-motion animations with character movement is by trial and error. This is the way I’ve done it in the past:
For each animation you want to find the speed for:
Set your character mesh’s animation mode to “Use Animation Asset”
Select the animation from the drop down list
Approximate the “Max Walk Speed” on the CharacterMovement component
Tell your character to move to a random point on the navmesh using the AIMoveTo BP node
Play in level and see if the speed matches the animation, if it doesn’t, keep changing the speed value until it does. You can use the “SetGlobalTimeDilation” BP node to slow down the game if your animation is too fast.
The Animation level in the content examples should provide some good tips if you need more help - Just take a look at Owen’s (The rock dude in the leather coat) 3rd person animation blueprint “Owen_ExampleBP”