Issue with animation
I have two players, Host and Client. Whenever I activate an animation on Client that animation plays for both Client and Host. However if I activated an animation on Host, Only the Host can see the animation
(^ my animator and Network Mecanim Animator)
(^ the scripts responsible for running the animation)
Im really not sure why this outcome happens as both players share the same code
Best Answer
-
First thing, be sure to get current with your Fusion version - that looks to be a very old version of beta you are running there.
One thing to note about the NetworkMecanAnimator is that it is ONLY a StateAuthority -> Proxy sync. It does not push changes from StateAuthority -> InputAuthority, because that would interfere with client prediction. So typically you will want to apply changes only on Forward ticks and if input is available.
A typical check would look like:
void FixedUpdateNetwork(){
if (GetInput(out var input && Runner.IsForward)){
// Apply inputs to Animator
}
}
1
Answers
-
First thing, be sure to get current with your Fusion version - that looks to be a very old version of beta you are running there.
One thing to note about the NetworkMecanAnimator is that it is ONLY a StateAuthority -> Proxy sync. It does not push changes from StateAuthority -> InputAuthority, because that would interfere with client prediction. So typically you will want to apply changes only on Forward ticks and if input is available.
A typical check would look like:
void FixedUpdateNetwork(){
if (GetInput(out var input && Runner.IsForward)){
// Apply inputs to Animator
}
}
1 -
Same problem happening to us.
This is where we're sending information to both Movement and Animator:
0