Seamless VR teleoperation handover between two users at runtime (Reachy 2)

Hi everyone,

I’m setting up an experiment that requires two users, each equipped with their own VR headset and controllers, to be connected to the Reachy 2 simultaneously.

My main question is: Since the Reachy 2 teleoperation application runs in Unity, Would it be possible to implement a dynamic switch between the two users during runtime?

Ideally, I need to hand over control from one operator to the other on demand, without interrupting the robot’s active operation and without doing any sort of resets.

In my mind I’m planning to implement a “ghost hand” mechanism within the Unity environment. The idea is to provide visual feedback by rendering a semi-transparent “ghost” of the robot’s arm in VR, representing the actual, real-time position of the robot’s physical joints.

When User B needs to take over from User A, they will have a clear point of reference. User B would need to physically align their VR controllers with this “ghost hand” before “clutching in” to take manual control.

I just have the following questions in mind:

  1. What is the best way within the Reachy Unity SDK to expose the real-time joint positions and render a transparent mesh of the arms that the inactive user can see and align with before their teleoperation inputs are accepted?

  2. What is the recommended architecture for connecting two VR headsets simultaneously? Since a single Unity instance and Oculus Link typically only support one headset per PC.

Any insights, documentation, or pointers on how to handle this in Unity would be greatly appreciated!