Question by 
               BloodMarked · Jan 31, 2018 at 01:28 PM · 
                animatornetworkbug-perhapsbug report  
              
 
              [possible Bug] NetworkAnimator only synchronizes first animation layer
when using the NetworkAnimator to synchonize my Animator, only the first Animation Layer is Synchronized. which is a bit awkard because i use the second layer for walking animations.
am i missing something / is only one layer supported or is this a bug?
thers no mention of layers in the Manual / ScriptingApi.
furthermore, can i replicate the NetworkAnimator behaviour for the second layer in a script?
               Comment
              
 
               
              Answer by BloodMarked · Jan 31, 2018 at 05:19 PM
this is the custom script i made to synchronize animation layers via network. there you can select which layer to synchronize or add more layers.
 any recommendations for optimizations etc hugely appreciated
 using System.Collections;
 using UnityEngine;
 using UnityEngine.Networking;
 
 public class simpleNetworkTester : NetworkBehaviour {
 
     Animator anim;
 
     [SyncVar (hook = "OnServerVarUpdate")] 
     float XPos = 0f;
     [SyncVar]
     int animStateHash;
     [SyncVar]
     float animStateTime;
 
     void Start(){
         anim = GetComponent<Animator> ();
     }
 
     void Update () {
         if (!isLocalPlayer)
             return;    //only do input and logic on the own player
 
         Vector3 newPos = transform.position;
         newPos.x += Input.GetAxis ("Horizontal")*.1f;
         transform.position = newPos;
 
         AnimatorStateInfo animSI = anim.GetCurrentAnimatorStateInfo (0);
 
         CmdUpdateServerVars (newPos.x, animSI.fullPathHash, animSI.normalizedTime);
     }
 
     void OnServerVarUpdate(float newValue){
         if (isLocalPlayer)
             return;    //do not apply changes on own player
         Vector3 syncPos = transform.position;
         syncPos.x = newValue;
         transform.position = syncPos;    
  
         anim.Play (animStateHash, 0, animStateTime);
     }
 
     [Command(channel = 1)] //send it through the default unreliable channel
     void CmdUpdateServerVars(float newXPos, int _animStateHash, float _animStateTime){
         XPos = newXPos;
         animStateHash = _animStateHash;
         animStateTime = _animStateTime;
     }
 }
 
Your answer
 
 
              koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                