oculus-samples / Unity-Discover

Discover is a showcase of the Meta Quest Mixed Reality APIs. This project demonstrate how to use Passthrough, Spatial Anchors, Scene API, Colocation and Shared Anchors.
MIT License
248 stars 59 forks source link

Objects in colocation don't apear in the same space in a room. #12

Closed Tony-j77 closed 9 months ago

Tony-j77 commented 10 months ago

I'm trying the default mountain bike app on 2 Quest 3s and the shared spatial anchors are not aligned. The bike appears to be in different places for both users. I am using the 'host' and 'join' buttons and not the join in a separate room. Am I doing something wrong?

AlexThiv commented 10 months ago

Hi @Tony-j77,

When each user is done with the colocation step, do you see the anchor in the same physical location? Just to make sure also, you don't see the other user as an avatar right?

If you can provide the logs of both devices that would be helpful. Thanks adb logcat -s Unity

Tony-j77 commented 10 months ago

Hello @AlexThiv, I played around with the sample again and it seems like it doesn't matter if I press 'join' or 'join remotely', I always get sent into the room remotely i.e. "joined remotely". Also, yes, I do see the other user as an avatar.

Here's my process: In headsest 1, I enter a room name, then click 'host', then I see "colocation ready". In headset 2, I enter the same room name, I click "join" ... but it says "joined remotely". Is there something immediately noticeable that I am doing wrong? If there isn't, I'll get the logs to you asap.

AlexThiv commented 10 months ago

Ok that means that the shared anchor was either not localized (didn't find that the 2 users were in the same room) or that the first user failed to share the shared spatial anchor.

Can you check that you accepted the permission to share the anchor and spatial data to the cloud? Settings -> Apps -> Permissions -> Spatial Data

AlexThiv commented 9 months ago

Hi @Tony-j77, I did some additional digging and figured out what is the issue you are running into. The scene loading requires an apk to be uploaded to App dashboard (where you do the configuration and get the AppId). Once the apk is uploaded and you have a subsequent build with the name application identifier the feature will work.

But we recently added a Scene feature flag for the android manifest and enabling that updating the manifest works without having to push and apk. You can see how we enabled it in this latest commit.

If you get the latest it should fix your issue. Thanks again for raising this.

MunzeKonza93 commented 9 months ago

Hi @AlexThiv , i currently am experiencing the same described issue. I build the Discover scene and sideloaded to a Quest 3 and Quest 2. I am able to host e.g. with quest 3 and join with Quest2 the same room. But everytime it joines remotely instead as colocation.

So i see the other players avatar (Grey Avatar not the Meta Avatar), and the anchor point is not at the same location.

Things i allready done:

A little help to figure out the problem would be very much appreciated :)

Thanks in advance :)

AlexThiv commented 9 months ago

@MunzeKonza93 can you verify in the logs if the application is entitled. If you have a unity log that says the app is not entitled, make sure to add both users to the organization. If that still doesn't work, try uploading a first apk to the Meta App Dashboard and make sure both users can go to the product page (PDP button on Overview page) and get the app.

MunzeKonza93 commented 9 months ago

@AlexThiv i checked last few days documentation about seting up shared spatial anchor and did everything from the docu:

Now When Starting Discover on both devices Quest 2 and Quest 3 i can see the Meta Avatar of the other User but still Colocation is not working.

I also installed the Discover Sample directly from the App Lab from the Devs and with that Version i also have the same problem.

So still no solution for this issue. Maybe its not compatible btw. Quest 3 and Quest 2 ?

EDIT:

The device setting ‘Share Point Cloud Data’ must be enabled for Shared Spatial Anchors to function. Users can find it under Settings > Privacy > Device Permissions > Share Point Cloud Data.

AlexThiv commented 9 months ago

@MunzeKonza93 I'm glad you figured it out. I updated the configuration details with these specific information for future users. commit https://github.com/oculus-samples/Unity-Discover/commit/bddb5e2ec89dd6d12af4345e7491ca861e930587