private void Start() { localPlayer = NetworkManager.Instance.InstantiatePlayer() as NetworkedPlayer; if (!NetworkManager.Instance.IsServer) { return; } NetworkManager.Instance.Networker.playerDisconnected += (player, networker) => { MainThreadManager.Run((() => { List <NetworkObject> toDelete = new List <NetworkObject>(); foreach (var obj in networker.NetworkObjectList) { if (obj.Owner == player) { toDelete.Add(obj); } } if (toDelete.Count > 0) { for (int i = toDelete.Count - 1; i >= 0; i--) { networker.NetworkObjectList.Remove(toDelete[i]); toDelete[i].Destroy(); } } })); }; }