Unity3d Network - Cant See Connected Players

Hello everyone

i was working on Network Script but i got 1 problem

that the new player cant see the old players

for example :

there is 3 Clients are Connected and Players are Instantiated

the Client1 can See Client 2 and Client 3 Players
the Client 2 can see Client 3 Player
Client 3 Cant see any players

so only the first Player can see connected People

i’m totally sure that the problem in the way i use to change Level

i use :

	void Awake(){
	DontDestroyOnLoad(this);	
	}
	


void OnServerInitialized(){
		Debug.Log("Created! and now go to the map");
		Application.LoadLevel(1);
		
	}


	void OnPlayerConnected(NetworkPlayer networkPlayer)
	{
	
		networkView.RPC("TellPlayerServerName", networkPlayer, serverName);
			
	}


	[RPC]
	void TellPlayerServerName (string servername)
	{
		Application.LoadLevel(1);
		serverName = servername;	
	}



//// and now after the map is loaded  i call Spawn Function

private void SpawnPlayer(){
	Debug.Log("Spawning PlayeR");
	Network.Instantiate(Player,new Vector3(0,0,0),Quaternion.identity,0);
	}

thats not my full script its just the part of Changing the Scene from MainMenu to Map Scene

Hello,

Most of the code you have posted is completely irrelevant, however I believe I can predict what you are doing wrong XD

My guess is that you have built your own spawning system.

//my guess is that you have a list of players
List<Player> playerList = new List<Player>()

//then when someone joins (as you already have)
void OnPlayerConnected(NetworkPlayer networkPlayer) {
    //you simply iterate through your players and spawn them for the newcomer
    foreach (player p in playerList) {
        networkView.RPC("SpawnPlayer", networkPlayer, \*etc*\);
    }
}

Hope this helps,
Benproductions1

Here is an example, change where needed

networkView.RPC("YourFunction", RPCMode.AllBuffered, VariablesToPassToFunction);

[RPC]
void YourFunction(int Something){
	//Do stuff here
}

Use RPC mode buffered…