Netcode animation not working

Hi the client side animations doesnt work.
Animation for host works perfectly (client and host side can see the animations of the host).
Im also logging the speed variable which is used in the animator but it is for the client side always 0.

using System;
using System.Collections;
using System.Collections.Generic;
using Unity.Netcode;
using UnityEngine;
using UnityEngine.AI;

public class PlayerNetwork : NetworkBehaviour
{
    public NavMeshAgent agent;
    public float rotateSpeedMovement = 0.05f;
    private float rotateVelocity;


    public GameObject animGameObject;
    public Animator anim;
    float motionSmoothTime = 0.1f;


    private void Start()
    {
        anim = animGameObject.GetComponent<Animator>();
        agent = GetComponent<NavMeshAgent>();

    }
    void Update()
    {
        if (!IsOwner) return;

        if (Input.GetMouseButtonDown(1))
        {
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

                MoveServerRPC(ray);          
        }

        float speed = agent.velocity.magnitude / agent.speed;
        Debug.Log(speed);
        AnimationServerRPC(speed);
    }
    [ServerRpc]
    private void MoveServerRPC(Ray ray)
    {
        RaycastHit hit;
        if (Physics.Raycast(ray, out hit, Mathf.Infinity))
        {
            if(hit.collider.tag =="Ground")
            {
                //movement
                agent.SetDestination(hit.point);
                agent.stoppingDistance = 0;

                //rotation
                Quaternion rotationToLookAt = Quaternion.LookRotation(hit.point - transform.position);
                float rotationY = Mathf.SmoothDampAngle(transform.eulerAngles.y,
                    rotationToLookAt.eulerAngles.y,
                    ref rotateVelocity,
                    rotateSpeedMovement * (Time.deltaTime * 5));

                transform.eulerAngles = new Vector3(0, rotationY, 0);
            }
        }
    }
    [ServerRpc]
    private void AnimationServerRPC(float speed)
    {

        anim.SetFloat("Speed", speed, motionSmoothTime, Time.deltaTime);
        //Debug.Log(speed);
    }




    private void Animantion(float speed)
    {
        //float speed = agent.velocity.magnitude / agent.speed;
        anim.SetFloat("Speed", speed, motionSmoothTime, Time.deltaTime);
    }

    public void Move()
    {
        if(!IsOwner) return;
        if (Input.GetMouseButtonDown(1))
        {
            RaycastHit hit;

            if (Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out hit, Mathf.Infinity))
            {
                if (hit.collider.tag == "Ground")
                {
                    //movement
                    agent.SetDestination(hit.point);
                    agent.stoppingDistance = 0;

                    //rotation
                    Quaternion rotationToLookAt = Quaternion.LookRotation(hit.point - transform.position);
                    float rotationY = Mathf.SmoothDampAngle(transform.eulerAngles.y,
                        rotationToLookAt.eulerAngles.y,
                        ref rotateVelocity,
                        rotateSpeedMovement * (Time.deltaTime * 5));

                    transform.eulerAngles = new Vector3(0,rotationY, 0);   
                }
            }
        }
    }
}

unity_VngtZy77FXMDEg,
It looks like you are using an owner authoritative model for your players. Did you add an owner authoritative NetworkAnimator component to your player prefab?