- Home /
How to sync networkViewIDs
Hi,
I really searched for a long time but I just don't get it. If I have two network views. One on the client and one on the server. How do I connect them?
I read somewhere that they would sync automatically if they are in the same scene. But in my case they are in different ones.
The Documentation says they should be linked by using AllocateViewId and sending this ID over network via RPC afterwards. What I really don't get is: How can I send an RPC to sync the networkViewID if it is not synced before? The RPC would not get where it should. Seems like a paradoxon to me, but maybe I have some misconceptions about networking in Unity.
I tried it without explicitely setting networviewIds and it worked fine in one scene but in another one I got this error:
"Couldn't invoke RPC function 'LogRemoteMsg' because the NetworkView 'SceneID: 1 LevelPrefix: 0' does not exist"
I hope somebody can help me understanding this.
Yes, an RPC call only works for IDs already synced. I don't know how you got your networkviews, but if you instantiate or create them on each game instance individually, you should probably network.instantiate them. This would also make the first instance with a working networkviewID. Could be a manager, a player... capable of receiving RPCs.
I would really like to avoid using network instantiate because the objects are already in the scene. In the unity example they send the viewid via rpc call. That wouldn't make sense of its already synced would it?
Your answer
Follow this Question
Related Questions
Network views wrong on re join to server 0 Answers
Network Views from separate scenes causing conflicting IDs? 1 Answer
SetLevelPrefix not working as intended? 0 Answers
Get NetworkPlayer from ViewID 1 Answer
Networking: RPC To Specific Player? 1 Answer