I am trying to use root motion in multiplayer, but i faced a problem. The example presented is very simplified. Sorry for my bad english, maybe.
When I press button - i am setting TTT-variable as true or false (according on previous state).
I set Root Motion Mode to Root Motion From Everything. I am able to replicate blendspaces with root motion animations inside, but in example below i will use only one animation.
Of course, i saw warning, that root motion from everything is not suitable for networking.
Problem: if i am a server ( HasAuthority() == true ) it works fine, and i see clients moving correctly, and my animations work fine.
If i am a client, i see other clients moving correctly. But my own character has double animation play rate. He moves with normal speed, but it looks like animation play rate is doubled.
GlobalAnimRateScale variable in SkeletalMeshComponent do not change. Also, animations, that does not have root motion enabled, play in double rate too.
Why is this happening? Is it a bug?
On screenshots below: Dragon_walk_fwd_RM - has root motion enabled. Idle_10 - hasn’t.
I really want to use root motion from everything in my project, because it looks much better than using classic way to animate characters of big size. And there is no way to blend AnimMontages.
I tried to find the answer in code of UAnimInstace, USkeletalMeshComponent, UCharacterMovementComponents classes in C++, but i failed. I use C++ in my project, but i am junior.