VR Multiplayer Questions.
I want to make a multiplayer game using Auto Hands and Final IK plugin, so will that be an issue to sync the hands, legs and body info across players and how how should I be approaching to do something like this?
6 Replies
Hi @Adarsh. I'm kapa.ai, your friendly support bot. I will try to answer your question by searching through the knowledge base. :wave:
----------------------
To create a multiplayer game using NormalVR, you need to ensure that all avatar prefabs used with RealtimeAvatarManager include a RealtimeAvatar component on the root of the prefab. This component is responsible for synchronizing the head and hands positions and active states. When it's first instantiated, RealtimeAvatar is given a set of transforms to track for the root of the prefab, the head, and the hands from RealtimeAvatarManager's
localPlayer
field, which is set in the editor inspector source (https://normcore.io/documentation/realtime/xr/avatars#realtimeavatar).
However, the information provided does not specifically mention the synchronization of legs and body info across players. For more complex avatar synchronization, you might need to extend the functionality of the RealtimeAvatar component or create custom components that handle this.
As for using Auto Hands and Final IK plugin, the provided sources do not mention these specific plugins. Therefore, it's hard to say if there will be any issues. You might need to check the documentation of these plugins or reach out to their support for more specific guidance.
Remember, when creating a multiplayer game, you need to ensure that all instances of the game objects that need to be synchronized across clients are instantiated using Realtime. For example, in a multiplayer drawing app, the Brush component is modified to use Realtime to instantiate all instances of the BrushStroke prefab, ensuring they’re instantiated on all clients source (https://normcore.io/documentation/guides/creating-a-multiplayer-drawing-app#brush-1).
I recommend checking out the Normcore documentation for more detailed guides on creating multiplayer experiences, such as synchronizing custom data and networked physics source (https://normcore.io/documentation/guides/creating-a-player-controller#making-it-multiplayer).
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------<@548818738561155082> kapa.ai is still learning and improving, please let us know how it did by reacting below
To add to this, VRIK solves for the legs locally, so you shouldn’t need to network them. If you network the head + hands using RealtimeAvatar, VRIK can solve the leg positions locally on each client.
Is VRIK provided with normcore?
@Max also is there a way to keep track of the bandwidth utilised by my client?
VRIK is not bundled with Normcore. You’ll need to purchase a copy of Final IK from the asset store
we’re shipping a bandwidth profiler in 2-3 weeks, but you can look at the billing tab on your account dashboard too. The bandwidth numbers are accurate and update every 24 hours at 10pm ET
@Max i am setting up my player with Final IK . Here is ref. imgs. In RealTimeAvatar Manager should i pass Player Prefab XR rig refrences ? I did it but refrences get null . Please share docs and basic flow with Final IK . Because in your sample XR RIG and your avatar is working sepratly .
![No description](https://cdn.answeroverflow.com/1244948996481482843/Screenshot_2024-05-28_150614.png)
![No description](https://cdn.answeroverflow.com/1244948996997251122/Screenshot_2024-05-28_145923.png)