Network Animation(ServerRPC) change it's params but not animated

Hello, i’m trying to make a 2d PvP Game using the Lobby, Relay, Netcode-for-GameObjects.
It’s success to changing Animator’s params, but the animation didn’t played… not even a idle animation


It’s params changed and trasition is find, but the animation not actually played.

Here’s My Script:

using System.Collections.Generic;
using UnityEngine;
using Unity.Netcode;
using DefineCharacterClass;
using Unity.Netcode.Components;
 
public class PlayerScript : NetworkBehaviour
{
    [SerializeField] private Vector3 _hostSpawn;
    [SerializeField] private Vector3 _guestSpawn;
 
    [SerializeField] private Animator _anim;
    [SerializeField] private NetworkAnimator _netAnim;
 
    private NetworkVariable<CharacterClass.CharacterClassEnum> classType = new NetworkVariable<CharacterClass.CharacterClassEnum>(CharacterClass.CharacterClassEnum.None, NetworkVariableReadPermission.Everyone, NetworkVariableWritePermission.Owner);
 
    public float Speed { get; set; } = 3f;
 
    public override void OnNetworkSpawn()
    {
        classType.OnValueChanged += (CharacterClass.CharacterClassEnum previousValue, CharacterClass.CharacterClassEnum newValue) =>
        {
            SetClass(newValue);
        };
 
        if (IsOwner)
        {
            SetPosServerRPC(IsHost ? _hostSpawn : _guestSpawn);
            classType.Value = GameManager.Instance.CharacterClass.CharacterClassType;
        }
    }
 
    public void Start()
    {
        SetClass(classType.Value);
    }
 
    public void Update()
    {
        if (IsOwner == false)
        {
            return;
        }
 
        if (transform.childCount == 0)
        {
            return;
        }
 
        Move();
    }
 
    public void SetClass(CharacterClass.CharacterClassEnum classType)
    {
        if (classType == CharacterClass.CharacterClassEnum.None)
        {
            return;
        }
 
        if (transform.childCount > 0)
        {
            return;
        }
 
        GameObject spumObj = Resources.Load<GameObject>("SPUM/SPUM_Units/" + classType.ToString());
        spumObj.transform.position = Vector3.zero;
        spumObj = Instantiate(spumObj, transform);
        spumObj.name = "Unit";
 
        PlayAniServerRpc(0, 0);
    }
 
    public void Move()
    {
        float moveX = Input.GetAxisRaw("Horizontal");
        float moveY = Input.GetAxisRaw("Vertical");
 
        MoveServerRPC(moveX, moveY);
    }
 
    [ServerRpc]
    public void PlayAniServerRpc(int aniGroupNum, int aniSpecNum)
    {
        if(aniGroupNum != _anim.GetInteger("AnimGroupNum") || aniSpecNum != _anim.GetInteger("AnimSpecNum"))
        {
            _anim.SetInteger("AnimGroupNum", aniGroupNum);
            _anim.SetInteger("AnimSpecNum", aniSpecNum);
            _anim.SetTrigger("AnimTrigger");
        }
    }
 
    [ServerRpc]
    public void MoveServerRPC(float moveX, float moveY)
    {
        if (moveX != 0 || moveY != 0)
        {
            transform.Translate(new Vector3(moveX, moveY, 0f) * Time.deltaTime * Speed);
         
            if (moveX > 0)
            {
                transform.localScale = new Vector3(-1, 1, 1);
            }
            else if(moveX < 0)
            {
                transform.localScale = new Vector3(1, 1, 1);
            }
 
            PlayAniServerRpc(1, 0); // Run
        }
        else
        {
            PlayAniServerRpc(0, 0); // Idle
        }
    }
 
    [ServerRpc]
    public void SetPosServerRPC(Vector3 pos)
    {
        transform.position = pos;
    }
}
 

I fount that animation only work after disable and enable the Animator component. But that’s all, i can’t make animated after build.

Is anyone tell me what’s wrong?


PS:

I make the Sprite with SPUM then remove all script and Animator from it. my new Animator is on root player prefab. so i think the SPUM scripts not relate about it