Skip to content

Multiuser Sessions

A multiuser session puts several browsers into the same running twin. Drive positions, moving parts and signal values arrive from one authority, so everyone sees the same machine in the same state at the same moment — not each their own local simulation that has drifted apart.

That authority is the host: a Unity session running the twin, either reached directly on the network or through a relay server. The browsers are participants, and what a participant may do is decided by their role.

Every participant joins as one of two roles. Enforcement is on the host, not in the browser.

ObserverOperator
See the scene, the machine state and the other participantsyesyes
Show an avatar and a pointing ray to the othersyesyes
Write signal valuesnoyes
Jog and stop drivesnoyes

Observer is the default and the right answer for most participants: a review, a remote acceptance, a training session. Give Operator to the one person who is meant to drive the machine — two people jogging the same axis is not a scenario the twin resolves for you.

The role is set in Settings ▸ Multiuser, together with your display name and the server or relay to use.

Open the Multiuser panel from the left bar. Disconnected, it asks for two things:

  1. Your name — what the others see next to your avatar.
  2. A session code — the room, shared by whoever set the session up.

Join & Share connects and copies a join link to the clipboard in one step, which is usually what you want: joining a session and telling the next person how to get in are the same errand.

Under Direct connection you can instead enter a ws://… address to reach a host directly on the local network, without a relay.

The Multiuser panel before joining: the name field, the session code field, the Join & Share button and the collapsed Direct connection section below it

Once connected, the panel lists everyone in the room with their colour and role, and Share Session Link copies the join link again at any time.

A join link carries the server or relay, the session code, a default name for the recipient and the model. Opening it joins the same session directly — there is nothing to type.

Values in the link win over the settings stored in the recipient’s browser, so a link always lands in the session it names.

Each participant is drawn in the 3D scene as a small avatar with their name and colour at their camera position, so you can tell where somebody is looking. A pointing ray shows what they are pointing at and fades out shortly after they stop. A participant wearing a headset also shows their controllers.

Someone who joins late is brought up to date: current signal values and drive positions are sent once on join, so a latecomer sees the machine as it is rather than waiting for the next change.

If a connection drops, the client says so and reconnects on its own; on reconnect the same catch-up runs again.

ModeWhen to use it
DirectEveryone is on the same network as the host. Lowest latency, nothing in between
RelayParticipants are outside the host’s network — home office, a customer site, a firewall, a Teams meeting. Host and browsers all connect out to the relay, so no inbound port has to be opened

A relay is a small server that forwards messages between the host and the participants of a room. A default relay is preconfigured, and you can run your own for a private network or an on-premises deployment; set the same relay address on the host and in the browser settings rather than relying on either default.

The viewer can be added to a Teams channel as a tab. The tab is configured once with the model, the tab name and — for a shared session — the relay address and the session code. Everyone who opens the tab then joins the same session automatically, and their Teams name is used as the display name.

This is the path for a design review or a remote acceptance that is already happening in a Teams meeting: no link to paste, no separate application.

  1. Open Settings ▸ Multiuser, enter your display name and choose Observer unless you are the one operating.
  2. Open the Multiuser panel and enter the session code you were given.
  3. Press Join & Share and confirm that you appear in the participant list.
  4. Watch the machine move — the state comes from the host, not from your browser.
  5. Paste the copied link to whoever should join next.