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.
Networked Root motion is only supported through the use of montages. There is no easy way around this unfortunately, it’s just how Epic designed it.
Thanks, so without rootmotion, how is the animation sync’ed up with the capsule and movement speed?
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”