Singleplayer camera works, but Multiplayer camera not following.

I am following a tutorial to make my Coursework and when I implement CameraTracking.cs it works on Singleplayer, but it doesn't work on Multiplayer. When create room and start the game the camera stop working. I did attach the Multiplayer Player prefab to the Main Camera Script and nothing. There is not even an errors to show you what I mean. I am sorry if my explanation is bad.
Here is my CameraTracking code:

using Photon.Pun;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CameraTracking : MonoBehaviour
{
    public Transform playerCharacter;
    Vector3 cameraOffset;

    void Start()
    {
        if (playerCharacter != null)
        {
            cameraOffset = transform.position - playerCharacter.position;
            Debug.Log("Player character transform is assigned: " + playerCharacter.name);
        }
        else
        {
            Debug.LogError("Player character transform is not assigned to CameraTracking script!");
        }


    }

        void Update()
    {
        if (playerCharacter != null)
        {
            transform.position = playerCharacter.position + cameraOffset;
        }
    }
}

And here is Multiplayer.cs:

using Photon.Pun;
using Photon.Pun.UtilityScripts;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Multiplayer : MonoBehaviour, IPunObservable
{
    [HideInInspector]
    public float movementSpeed = 10f;
    public float fireRate = 0.75f;
    public int health = 100;
    public Slider healthBar;

    Rigidbody rigidBody;
    public GameObject bulletPrefab;
    public Transform bulletPosition;
    float nextFire;

    public AudioClip playerShootingAudio;
    public GameObject bulletFiringEffect;

    PhotonView photonView;

    // Start is called before the first frame update
    void Start()
    {
        rigidBody = GetComponent<Rigidbody>();
        photonView = GetComponent<PhotonView>();
    }

    // Update is called once per frame
    void FixedUpdate()
    {
        if (!photonView.IsMine)
            return;
        Move();
        if (Input.GetKey(KeyCode.Space))
            photonView.RPC("Fire", RpcTarget.AllViaServer);
    }

    private void OnCollisionEnter(Collision collision)
    {
        if (collision.gameObject.CompareTag("Bullet"))
        {
            MultiplayerBulletController bullet = collision.gameObject.GetComponent<MultiplayerBulletController>();
            TakeDamage(bullet);
        }
    }

    void TakeDamage(MultiplayerBulletController bullet)
    {
        health -= bullet.damage;
        healthBar.value = health;
        if (health <= 0)
        {
            bullet.owner.AddScore(1);
            PlayerDied();
        }
    }

    void PlayerDied()
    {
        health = 100;
        healthBar.value = health;
    }

    void Move()
    {
        if (Input.GetAxisRaw("Horizontal") == 0 && Input.GetAxisRaw("Vertical") == 0)
            return;

        var horizontalInput = Input.GetAxis("Horizontal");
        var verticalInput = Input.GetAxis("Vertical");

        var rotation = Quaternion.LookRotation(new Vector3(horizontalInput, 0, verticalInput));
        transform.rotation = rotation;

        Vector3 movementDir = transform.forward * Time.deltaTime * movementSpeed;
        rigidBody.MovePosition(rigidBody.position + movementDir);
    }
    [PunRPC]
    void Fire()
    {
        if (Time.time > nextFire)
        {
            nextFire = Time.time + fireRate;
            GameObject bullet = Instantiate(bulletPrefab, bulletPosition.position, Quaternion.identity);
            bullet.GetComponent<MultiplayerBulletController>()?.InitializeBullet(transform.rotation * Vector3.forward, photonView.Owner);
            AudioManager.Instance.Play3D(playerShootingAudio, transform.position);
            VFXManager.Instance.PlayVFX(bulletFiringEffect, bulletPosition.position);
        }
    }

    public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info)
    {
        if (stream.IsWriting)
        {
            stream.SendNext(health);
        }
        else
        {
            health = (int)stream.ReceiveNext();
            healthBar.value = health;
        }
    }


}

I got tons of scripts and don't know what more I can send you, but if you need anything, just let me know.
Thank you in advance.