I have been using networking recently in Unity and have been getting an error when using an RPC. Here is the code for my RPC Function. Code (csharp): [RPC] void updateLevelOne(NetworkPlayer player, string LevelName) { Application.LoadLevel(levelOne); } Then this is where the RPC Function is being called: Code (csharp): void HostMenu(){ if (isHostMenu) { GUI.Label(new Rect(leftIndent, 100, 200, 100), "Set up a Server", "Sub Menu Title"); GUI.Label(new Rect(leftIndent, Screen.height / 2 - 100, 380, 50), "Server Port: "); portNumber = int.Parse(GUI.TextField(new Rect(250, Screen.height / 2 - 110, 250, 50), portNumber.ToString())); GUI.Label(new Rect(leftIndent, Screen.height / 2 - 40, 380, 50), "Player Amount: "); numberOfPlayers = int.Parse(GUI.TextField(new Rect(290, Screen.height / 2 - 50, 250, 50), numberOfPlayers.ToString())); if(GUI.Button (new Rect(leftIndent, Screen.height / 2 + 80, 250, 50), "Isolation")){ multiplayerMap = levelOne; } if(GUI.Button (new Rect(leftIndent + 260, Screen.height / 2 + 80, 250, 50), "Get Rekt")){ multiplayerMap = levelTwo; } if(GUI.Button(new Rect(leftIndent + 160, Screen.height - 60, 150, 50), "Start!")){ Network.InitializeServer(numberOfPlayers, portNumber, true); networkView.RPC("updateLevelOne", RPCMode.AllBuffered, 2); isHostMenu = false; isConnectMenu = false; isMultiplayerMenu = false; } } } Then finally the error that is given to me when I try to use the start button: Code (csharp): Sending RPC failed because 'updateLevelOne' parameter 0 didn't match the RPC declaration. Expected 'UnityEngine.NetworkPlayer' but got 'System.Int32' UnityEngine.NetworkView:RPC(String, RPCMode, Object[]) Any help will be appreciated. Thanks!
Well, the procedure you are trying to call takes a Networkplayer argument and a string argument. You are passing an int to it. This obviously won't work. For an example on how to achieve what you are (presumably) trying to do, take a look at http://docs.unity3d.com/Manual/net-NetworkLevelLoad.html