Client not finding camera in scene but host is

I am making a third person multiplayer game, and I’m getting an error with initializing the camera for the client. On the host, everything works fine, but for the client, the camera is never found and stays null. I could use some help on why it is acting differently on the client only. This is the code on the player that controls getting the camera.

[SerializeField] CinemachineFreeLook thirdPersonCam;
private void Awake()
    {
        thirdPersonCam = GameObject.FindObjectOfType<CinemachineFreeLook>();
    }
public override void OnNetworkSpawn()
    {
        base.OnNetworkSpawn();

        if (IsClient && IsOwner)
        {
            thirdPersonCam.Follow = followTarget.transform;
            thirdPersonCam.LookAt = followTarget.transform;
            thirdPersonCam.GetComponent<CM>().player = gameObject.transform;
        }
    }

Each player is spawned in when the level loads.

public class CharacterSpawner : NetworkBehaviour
{
    [SerializeField] private CharacterDatabase characterDatabase;

    public override void OnNetworkSpawn()
    {
        if (!IsServer)
            return;

        foreach (var client in ServerManager.instance.clientData)
        {
            Character character = characterDatabase.GetCharacterByID(client.Value.characterId);
            if (character != null)
            {
                Vector3 spawnPos = new Vector3(Random.Range(-3, 3), 2, Random.Range(-3, 3));
                NetworkObject characterInstance = Instantiate(character.CharacterPrefab, spawnPos, Quaternion.identity);
                characterInstance.SpawnAsPlayerObject(client.Value.clientId);
                DontDestroyOnLoad(characterInstance.gameObject);
            }
        }
    }
}