- Home /
RPC Function RpcSpawnCameras called on client.
Hi I have a setup where there is one server, and multiple clients which only displays things, so I'm configuring cameras on server, and send that data to clients via RPC so they can spawn right amount of cameras. Earlier I was using depreciated RPC function and it kinda works (sometimes it freezes) so I decided to move to newer network system but i'm getting that error "RPC Function RpcSpawnCameras called on client.". I tried if(isSerer), but this didn't help, there is no way that RpcSpawnCameras is called somewhere on client.
void OnPlayerConnected(NetworkPlayer player)
{
Spwan(player.ipAddress);
}
void Spwan(string ipAddress)
{
foreach (SaveToolbox.Slave s in SaveToolbox.Instance.slaves)
{
if (ipAddress.Equals(s.ip))
{
foreach (SaveToolbox.Monitor m in SaveToolbox.Instance.monitors)
{
if (s.id == m.slaveID)
RpcSpawnCameras(ipAddress, m.displayID - 1, m.resolutionX, m.resolutionY);
}
break;
}
}
}
[ClientRpc]
void RpcSpawnCameras(string target, int id, int resX, int resY)
{
if (target == Network.player.ipAddress)
{
GameObject camera = Instantiate(cameraPrefab) as GameObject;
camera.GetComponent<Camera>().targetDisplay = id;
Display.displays[id].Activate(Display.displays[1].systemWidth, Display.displays[1].systemHeight, 60);
camera.transform.SetParent(cameraParent);
camera.transform.localPosition = Vector3.zero;
camera.transform.localEulerAngles = Vector3.zero;
}
}
Run the client from the editor, set a breakpoint where spawn is called and let the debugger help you finding out why the client is calling that function. If Unity says so, it is called on the client.
Nope, client is connecting to server, and then do nothing. $$anonymous$$aybe Unity thinks that server is also client? I don't really get the Unity network components, and only use Network Identity (added on start so it don't disable my gameobject).
? added on Start? that sounds wrong already. how do you expect the server to tie network identities together if they're not known? if you want something visible without being connected it cannot be the networked object, that has to be in the scene from the start or network spawned.
Your answer

Follow this Question
Related Questions
Unity vs client-side prediction 0 Answers
UNet ClientRPC does not fire 2 Answers
UNet Portal 2 Like Object Interaction Client to Server 1 Answer
Networking: Client-spawned Objects do not appear on Server 0 Answers
How does AssignClientAuthority work? 1 Answer