void HandleAnimMsg(int stateHash, float normalizedTime, int layerId, float weight, NetworkReader reader) { if (hasAuthority && clientAuthority) { return; } // usually transitions will be triggered by parameters, if not, play anims directly. // NOTE: this plays "animations", not transitions, so any transitions will be skipped. // NOTE: there is no API to play a transition(?) if (stateHash != 0 && animator.IsActive) { animator.Play(stateHash, layerId, normalizedTime); } animator.SetLayerWeight(layerId, weight); ReadParameters(reader); }