Hello, The second player does not see how the first picks up the object. How to fix it? Code (CSharp): using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Animations.Rigging; using UnityEngine.UI; using Photon.Pun; using Photon.Realtime; public class WeaponPick : MonoBehaviourPun, IPunObservable { public Transform equipPosition; public float distance = 10f; GameObject currentWeapon; GameObject wp; Vector3 realPosition = Vector3.zero; Quaternion realRotation = Quaternion.identity; public GameObject camera; public Transform cameraa; private int targetValue; PhotonView PV; bool canGrab; void Awake() { PV = GetComponent<PhotonView>(); } void Start() { rig = GameObject.Find("CameraRig").GetComponent<Rig>(); equipPosition = GameObject.Find("Destination").GetComponent<Transform>(); } public void Update() { if (PV.IsMine) { realPosition = transform.position; CheckWeapons(); if (canGrab) { if (Input.GetKeyDown(KeyCode.E)) { if (currentWeapon != null) Drop(); PickUp(); } } if (currentWeapon != null) { { Drop(); } } } } public void CheckWeapons() { RaycastHit hit; if (Physics.Raycast(Camera.main.transform.position, Camera.main.transform.forward, out hit, distance)) { if (hit.transform.tag == "CanGrab") { canGrab = true; wp = hit.transform.gameObject; } } else canGrab = false; } public void PickUp() { camera.gameObject.tag = "Cameraoff"; currentWeapon = wp; currentWeapon.transform.position = equipPosition.position; currentWeapon.transform.parent = equipPosition; currentWeapon.transform.localEulerAngles = new Vector3(0f, 0f, 0f); currentWeapon.GetComponent<Rigidbody>().isKinematic = true; currentWeapon.GetComponent<BoxCollider>().isTrigger = true; } public void Drop() { camera.gameObject.tag = "CanGrab"; currentWeapon.transform.parent = null; currentWeapon.GetComponent<BoxCollider>().isTrigger = false; currentWeapon.GetComponent<Rigidbody>().isKinematic = false; currentWeapon = null; } public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info) { if (stream.IsWriting) { stream.SendNext(transform.position); stream.SendNext(transform.rotation); } else { realPosition = (Vector3)stream.ReceiveNext(); realRotation = (Quaternion)stream.ReceiveNext(); } } }