Can't send RPC function since no connection was started

Hello everyone !

I have this error, but I can’t figure it out … There is no reason !

Before calling the RPC function, I use Network.Connect to be connected to the server. The weird thing is that with the following code :

function Start() {
	if (Network.isClient)
	{
		networkView.RPC("AddNickname", RPCMode.All);
		enabled = false;
	}
	else
	{
		networkView.RPC("AddNickname", RPCMode.All);
	}
}

I always go into the “else” part, even if I am the client …

I also tried :

function Start() {
	if (!Network.isServer)
	{
		networkView.RPC("AddNickname", RPCMode.All);
		enabled = false;
	}
	else
	{
		networkView.RPC("AddNickname", RPCMode.All);
	}
}

And I always go to the “else” part too … Is it possible that the RPC call is too soon after the network connection and fails ?

EDIT : I noticed that my client player ID is set after the RPC call is done. How is it possible when I connect him before ? I thought that RPC calls kept the same order (the first RPC call is always the first applied …)

By your description, you aren’t connected as a client or server. The falsehood in both ifs may be due to not being connected at all and not by being a client or server. Network.Connect by itself doesn’t check if the connection has been successful.

If you don’t have it, add a OnServerInitialized and OnPlayerConnected functions with a debug message. Something like:

function OnServerInitialized() {
    Debug.Log("Server initialized and ready");
}

function OnPlayerConnected(player: NetworkPlayer) {
    Debug.Log("Player " + " connected from " + player.ipAddress);
}

And check if any of the debug messages are printed. If they are not no connection has been made.