- Home /
RPC Call Mix Up Issues
Hi there, recently we began working toward a grand-scale multiplayer game, but we've been bugged recently by the wrong RPC functions being called.
Example
Server sends RPC call for function "LoadLevelRPC" which is on a script on GameObject1 Client displays Error message "function 'ActivateGateVisualsRPC' does not exist on GameObject1"
The problem is "fixed" by restarting both PC's Unity Editors. But appears again some time after.
Our guess is that something causes the RPC ID's to get mixed up, resulting in the wrong functions being called on the right objects.
Does anyone know when RPC's are indexed, or have any information that could help??
EDIT1: Adding a new RPC always results in the happening, and restarting always fixes it.
This is very wierd, bump this should get attention
Are those GameObjects already present in the scene at the time of running, or are they prefabs that you instantiate during play? In the first case the networkviews viewID will be hardcoded in the scene and a confusion would be hard (although it happened to me already, usually it's fixed by removing and adding the networkviews again).
If they are prefabs, then the viewIDs will have to be allocated at run-time. If you instantiate them with Network.Instantiate Unity will deal with this by itself, otherwise you will need to do it manually (you got the details here http://docs.unity3d.com/Documentation/ScriptReference/Network.AllocateViewID.html).
Your answer
Follow this Question
Related Questions
RPC is called but it doesn't destroy some GameObject instances 1 Answer
Spawning Clients 1 Answer
Get RPC senders ID, or IP? 1 Answer
Networking RPC calls never sent to other clients 1 Answer
network.RPC behavior 1 Answer