- Home /
attached prefabs before client joins
Hello Guys,
I try to show the problem in short sentences: - ServerPayer pickups a weapon, which is attached to his hand, works perfectly, (player and weapon prefabs are in networkmanager of course) - when ClientPlayer joins he can see the ServerPlayer model with the weapon in his hand, but if ServerPlayer starts to moving, his weapon (on the ClientPlayer's view) is staying in the air. - it means ClientPlayer doesn't know that server's weapon is attached to the ServerPlayer's hand. On Client's Hierarchy tab the ServerPlayer weapon is in the root (which mean it's not attached), on ServerPlayer's Hierarchy the weapon is a child of his hand, so it's OK.
What can I do at ClientPlayer's side to realize the attachings which was made before his joining? (similar problem when ServerPlayer opens a door and a ClientPlayer joins, the ClientPlayer cannot see the opened door, before he didn't get the information from the server about that door is already opened)
Any idea how can I fix this?
Answer by OmarMoya · Dec 13, 2017 at 08:56 PM
You should have a network syncrnized variable that keeps the actual owner of the picked weapon in the weapon. That could be the network id of that object, so every time a client is connected, the weapo at client side will search for the transform with that network id and be attached to that transform. The same happens to the door: set a syncronized variable that keeps the state of the door (open or closed), so the clients can get that data from the server and update the game at loading or whenerver it happens.
Thanks! I added a SyncVar variable about the joint which is the parent of the gun and used it in the OnStartClient function.
Answer by Andriska07 · Dec 14, 2017 at 08:24 AM
Tried it, but doesn't fixed 100%. Added "@SyncVar" before "private var owner : GameObject;" added a line to print the owner's name and it writes the ServerPlayer's name on Client's Console view well, but in Hierarchy these weapons are all in the root.
The weapon didn't attach yet to ServerPlayer's hand, staying in the air.
Your answer
Follow this Question
Related Questions
Unity networking tutorial? 6 Answers
Networking RPC calls never sent to other clients 1 Answer
Character Animation Lags in Multiplayer 2 Answers
Can a person be both a client and a server? (and more) 0 Answers
multi-player android and IOS 2 Answers