Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Not working for multiplayer #86

Open
smittenz opened this issue Sep 15, 2024 · 11 comments
Open

Not working for multiplayer #86

smittenz opened this issue Sep 15, 2024 · 11 comments

Comments

@smittenz
Copy link

If I set the movement enabled player to a networked player prefab once it is instantiated the tracking turns off I get these errors when manually attempting to allow these scripts to.
[OVRBody] Failed to start body tracking with joint set FullBody.
UnityEngine.Debug:LogWarning (object)
OVRBody:StartBodyTracking () (at ./Library/PackageCache/[email protected]/Scripts/Movement/OVRBody.cs:126)
OVRBody:OnEnable () (at ./Library/PackageCache/[email protected]/Scripts/Movement/OVRBody.cs:95)
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

@luffy-yu
Copy link

I have figured out a solution to make it support multiplayer.

The basic idea refers to the Building Blocks multiplayer implementation based on Unity.Netcode.

FYI, I have attached the source files.

MovementMultiplayer.zip

Apply changes to the HighFidelityFirstPerson prefab.
2024-09-23_131113

BTW, you may need a simple network manager.

@smittenz
Copy link
Author

smittenz commented Sep 23, 2024 via email

@luffy-yu
Copy link

@smittenz You are welcome! I'm glad it helps.

@smittenz
Copy link
Author

smittenz commented Sep 24, 2024 via email

@luffy-yu
Copy link

@smittenz The core change is the NetworkOVRBody class, which substitutes the original OVRBody class. All other classes are to support the NetworkOVRBody class. It means as long as the original game object has an OVRBody component, it can be simply replaced with the NetworkOVRBody class to enable multiplayer.

@Polyphemous
Copy link

I have figured out a solution to make it support multiplayer.

The basic idea refers to the Building Blocks multiplayer implementation based on Unity.Netcode.

FYI, I have attached the source files.

MovementMultiplayer.zip

Apply changes to the HighFidelityFirstPerson prefab. 2024-09-23_131113

BTW, you may need a simple network manager.

Where do you put these files? I added to project and created an assembly definition so that it could find the referenced scripts from the meta packages but it seems its still not quite working.

@luffy-yu
Copy link

@Polyphemous Hi,

These files are taken from my project. You may try to remove the namespace, so no need to create an assembly definition.

If possible, you can share the console log here. I can take a look then.

@asgharas
Copy link

Des anyone has any idea on how to make this sdk work with Normcore?

@luffy-yu
Copy link

Des anyone has any idea on how to make this sdk work with Normcore?

According to my experience, most parts are the same. You only need to adapt the Networking part, such as network topology (host/client), lobby, game matching, transform/animation synchronization (NetworkTranform, NetworkAnimation), RPC, etc.

I heard of Normcore, but I didn't use it. I guess they should have corresponding components.

@asgharas
Copy link

@luffy-yu Thanks for your reply.
Normcore wasn't able to handle all the bones data. It was too much for it.
Went for Photon Fusion 2.

@luffy-yu
Copy link

@luffy-yu Thanks for your reply. Normcore wasn't able to handle all the bones data. It was too much for it. Went for Photon Fusion 2.

Welcome.

FYI, from my experience, Unity Multiplayer Networking is better as it provides the new Distributed Authority.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants