Root Motion From Evrything Cuases Clients To Play Animations Faster

I have been making a Dark Souls like combat system and when I set the Root Motion in the Anim BP to Root Motion From Everything it causes all clients to play animations very quick while the sever plays at the right speed. I can’t figure out what is causing this.

Hi Vul Sil,

I’m having trouble getting this to reproduce. Could you explain how you’ve got your character and AnimBP set up? Possibly send an example project.

If you’d like to send an example project, you can upload it to a cloud service and PM me a link on the forums.

-.

I have a simple running animation system set up in my Anim Blueprint. Then under edit defaults I set Root Motion From Everything. Then in my animations that I wanted root motion to be enabled on I checked enable Root motion and set Root Lock to Ref Pose. Now after this I have an animation for an attack play in the Anim BP it plays at roughly double speed for the client only. The client on the server looks normal but on the clients side everything is faster.

My current fix is to set the global animation speed to .5 on the client.

Hey Vul Sil,

Root motion over networks is only expected to be handled via montages. See the warning in the red box here in our documentation. I cannot recommend using Root Motion for Everything in a multiplayer environment. Also see here

-.

1 Like

Fix it cmon !!! :smiley:

How did you do that ?

Also depending on computer used it runs faster or slower…

Also depending on computer used it runs faster or slower…

This is a blocker for me. Depending on computer speed, client animations play at different rates. I need to have RootMotionFromEverything since not only montages have root motion (most of my animations have rootmotion, including navigation, using a custom motion matching implementation). This is a multiplayer game. I can deal with network movement prediction myself in my movementcomponent. But having random deltatime on client’s animinstance seems like a bug that needs a fix. The easiest way to reproduce the problem is to set RootMotionFromEverything in the ThirdPersonSample’s animbp, and play as a client. If the machine is fast, the run animation plays faster. I can try to come up with a workaround by going in the anim nodes and computing a better deltatime (looking at the clock?, at the cost of giving up all timescales?..), but I hope that some anim prog from Epic can help (I know this might be a tough one to fix, since it’s been there forever).

We reproduce this bug in single player game.

  1. Set anim blueprint to Root Motion From Everything
  2. Call CharacterMovement->AddTickPrerequisiteComponent(Mesh) in character’s BeginPlay()
  3. Hit play and you will see a roughly 2x anim speed character