I use photon PUN for creating a simple Unity game. When player joins room-- new scene is loading and one object spawns player. This code spawns player:
`using Photon.Pun;
using UnityEngine;
using Random = UnityEngine.Random;
public class MultiplayerManager : MonoBehaviourPunCallbacks
{
private const string TankFolder = "Tanks/";
private Transform\[\] \_spawns;
\[SerializeField\]private GameObject canvas;
private void Start()
{
SpawnPlayer();
}
public void LeaveRoom()
{
PhotonNetwork.LeaveRoom();
PhotonNetwork.LoadLevel("StartRoom");
}
private static Transform[] GetChildren(Transform parent)
{
var count = parent.childCount;
var list = new Transform[count];
for (var i = 0; i < count; i++)
{
list[i] = parent.GetChild(i);
}
return list;
}
private void CreateCanvas()
{
var curCanvas = Instantiate(canvas);
CanvasHandler.cameraSight = curCanvas.transform.GetChild(0);
CanvasHandler.gunSight = curCanvas.transform.GetChild(1);
}
private void SpawnPlayer()
{
_spawns = GetChildren(transform);
var spawn = _spawns[Random.Range(0, _spawns.Length)];
CreateCanvas();
var player = PhotonNetwork.Instantiate
(TankFolder + PlayerPrefs.GetString(PlayerPrefsKeys.TankModel),
spawn.position, spawn.rotation);
PhotonView.DontDestroyOnLoad(player);
}
}
`
But actually they don't see each other. I only recieve received onserialization for view id 1002. we have no such photonview! ignore this if you're joining or leaving a room\
Yes, my components have photon view.
I tried to change some setting and add PhotonView.DontDestroyOnLoad(player)
; but I don't know what to do. And post says there is to much code but it literally says everything so idk what to add.
Ok, forget about it. I just put here:
destroing of whole gameobject, not component. Problem solved)