Issue in TabletopKit Sample scene + shared immersive space

Hello Community,

I am currently developing an experimental VisionOS app, to investigate the social effects of the new Spatial Persona feature, for my bachelor thesis. My setup includes a simple board game for the participants, in which they can engage with their persona avatars.

I tried to use the TabletopKit for this setup, but ran into issues when starting the SharePlay session. When I testes my app, I couldn't see the other spatial persona anymore, despite the green SharePlay button indicating the session started. The other person can see my actions in their version of the app on the board, but can not interact with anything. Also, we are both seat on the default side of the seat.

I tried to remove the environment I added, because it doesn't seem to synch with the other player. When I tried the FaceTime feature in the simulator without the environment, I could then see the test robot avatar, but at a totally wrong place. It's seems like it isn't just my environment occluding the seats, but a flaw in the seating process as well.

When I tried the FaceTime feature in the simulator on the official test scene (TabletopKit Sample), I got the same incorrect placement and the warning "role(for:inSeatNumber:): The provided role identifier does not match a role in the current template."

So my questions are:

  • What needs to be changed so the TabletopKit can handle seating correctly?
  • How can I correctly use immersive scenes in combination with the TabletopKit?

I tried to keep the implementation of the TabletopKit example as close as possible, so I think it will enough to look into this codebase for now.

I debugged the position of seats and they are placed correctly in front of their equipment. The personas are just not placed on them.

Answered by DTS Engineer in 827213022

@niklas_prahl as mentioned, the Simulator is not supported in this case even there appears to be a workaround using Simulator features.

@matt_novoselov thank you for elaborating.

Hi Community, this issue is really important to me too. It would be really awesome to get a quick resolution here 🙂

Hello,

In order to help we need more information.

Please provide us with the steps to reproduce the screenshot.

Note: SharePlay doesn't work on the Simulator as it a requires connection between two or more actual devices.

Thanks for your reply!

You are right that SharePlay doesn't work entirely on the simulator, however the virtual FaceTime feature allows to create (simulated) spatial persona entities, as seen in the screenshot. Because I originally found the issue while testing on the real hardware, it can't be just caused by the simulator.

Reproduction:

  1. loading the sample project
  2. start the simulator
  3. open a virtual FaceTime call (via ‘features’)
  4. activate the Spatial Persona function for the call via the FaceTime interface
  5. build the example project on the simulator
  6. start the SharePlay session via button

Hey @niklas_prahl

The Spatial Personas feature is not available in the Simulator. What you're seeing is just a person's photo/avatar, which can be set in the Contacts app. Currently, seat placement in TabletopKit is not working correctly in the Simulator—so to get accurate results, you need to test on a real device.

Testing with Spatial Personas

To properly test Spatial Personas, you need two physical Vision Pro devices with two users who have already set up their Spatial Personas. Additionally, both devices must run the same app version with identical bundle and team identifiers. Here are two ways to achieve this:

  • Using Xcode: Connect both Vision Pros to the same Mac and build the app under the same development team.
  • Using TestFlight: Upload the app to TestFlight (internal testing) and install it on both devices.

This ensures that both devices are running the exact same build, which is essential for SharePlay sessions.

Shared Immersive Space & TabletopKit

I've previously attempted to integrate a shared immersive space into a TabletopKit app. However, it seems that Spatial Personas are not currently interactive within TabletopKit when using a custom immersive space.

If your goal is better control over Spatial Persona interactions, I recommend using the Group Activities framework instead, as it may provide more flexibility in handling shared experiences.

Hope this helps! Let me know if you need further clarification.

@niklas_prahl as mentioned, the Simulator is not supported in this case even there appears to be a workaround using Simulator features.

@matt_novoselov thank you for elaborating.

Amending for accuracy / clarity:

Spatial Persona templates in SharePlay in particular aren't supported in the Simulator. See Customize spatial Persona templates in SharePlay.

-- Re: Shared Immersive Space & TabletopKit

"However, it seems that Spatial Personas are not currently interactive within TabletopKit when using a custom immersive space."

This isn't accurate.

TabletopKit can be used in immersive experiences so let us know if we can help solve any problems you encountered.

For an example of app that handles an immersive space see Interacting with virtual content blended with passthrough.

Issue in TabletopKit Sample scene + shared immersive space
 
 
Q