Photon my Character Controllers change swap places in objects

Hello, im have some promlem with PhotonView, when im start the game (maybe,i dont know), my charactercontrollers changed places…YouTubeVideo

public class PlayerControll : Photon.MonoBehaviour, IPunObservable
{

    [SerializeField] private PhotonView _photonView;
    [SerializeField] private CharacterController _character;

    [SerializeField] private float _rotSpeed;
    [SerializeField] private float _speed;
    Vector3 _moveDirection;
    private void Awake()
    {
       
    }

    private void Update()
    {
        if (photonView.isMine)
        {
            transform.Rotate(0, Input.GetAxis("Mouse X") * _rotSpeed, 0);
            _moveDirection = new Vector3(Input.GetAxis("Horizontal") * _speed, 0, Input.GetAxis("Vertical") * _speed);
            _moveDirection = transform.TransformDirection(_moveDirection);
            _moveDirection.y -= 20f * Time.deltaTime;
            _character.Move(_moveDirection * Time.deltaTime);
        }
    }

    public void OnPhotonSerializeView(PhotonStream stream,PhotonMessageInfo info)
    {
        Vector3 pos = transform.position;
        Quaternion rot = transform.rotation;
        stream.Serialize(ref pos);
        stream.Serialize(ref rot);
        if (stream.isReading)
        {
            transform.position = pos;
            transform.rotation = rot;
        }
    }

}
public class GameManager : Photon.PunBehaviour
{
    
    private void Awake()
    {
        PhotonNetwork.Instantiate("Player", new Vector3(Random.Range(-2f, 2f), 5f, Random.Range(-2f, 2f)), Quaternion.identity, 0);
    }
}

Hi,

each time OnPhotonSerializeView is called, something will be written to the stream. To make it work you must surround this writing to the stream with a if (stream.isWriting) condition, in order to have two different cases for writing and reading.