How to set up collaborative streaming sessions in Omniverse with Live Sync
Before reading this article, please familiarize with Innoactive capabilities regarding launch arguments and deep linking.
Now that we know how to visualize a USD file, we are ready to talk about collaborative streaming sessions in Omniverse, which means setting up a live sync session and let users from different devices easily join.
In this article we will use two browser streaming sessions as an example, but the most common use-case will involve users joining from an XR or MR headset and others from browsers or tablets. For example we demonstrated how one user can join from Apple Vision Pro and another one can collaborate from an iPad.
There are three steps to achieve a collaborative session:
Set up live sync session
Build a deep link with the session name
Use the deep link to join from several device and collaborate
Set up a live sync session
A live sync session is traditionally created from within an Omniverse application and it is linked to a USD file. As a requirement the USD file has to be hosted on Nucleus server.
After starting an Omniverse streaming session you can click on top right corner, on the Live drop down:

And then from the menu choose Create session:

You can choose any name, for this example we used session_01

Once the session has been created, you should see the button on top right corner becoming green and some notifications from the Omniverse application.

The result of creating a session is associating a new live session file on the Nucleus server to the main USD file. As long as this live session file is present on the Nuclues server, the session name can be used and the users can join the session.
Build a deep link with the session name
In the How to visualize additional USD files from Nucleus server article, we saw how to create a deep link to stream a USD file. Starting from that, it is fairly easy to build a deep link launching a live sync session with a dedicated session name. Here is an example:
https://portal.innoactive.io/apps/d771dbd0-6bf6-4295-83cf-cc8499b52504/launch/cloud/browser?args=--usd "omniverse://nucleus.innoactive.io/Projects/JetEngine/JetEngine.usd?live_session_name=session_01"
The main note here is that the session name is not used as an additional argument of the deep link, but it is contained in the same --usd
argument of the USD file on the Nucleus server and it is appended right after the USD file path as a value for live_session_name
.
Use the deep link to join from several device and collaborate
Once the deep link is created and as long as this live session file is present on the Nuclues server, the deep link can be used on many devices.

Users will be able to change variants of the USD model synchronously and start and stop timelines, so that every participant of the session can see the same details at the same time.
In our example, the deep link specifies that the steaming session will run on browsers, but changing the device in the deep link will give the users the possibility to join the same live sync session from the XR headset, for example with this deep link:
https://portal.innoactive.io/apps/d771dbd0-6bf6-4295-83cf-cc8499b52504/launch/cloud/standalone?args=--usd "omniverse://nucleus.innoactive.io/Projects/JetEngine/JetEngine.usd?live_session_name=session_01"
Related articles
- NVIDIA Omniverse
- How to visualize additional USD files from Nucleus server
- Authoring and optimizing USD workflows for industrial use with Omniverse
- How to set up collaborative streaming sessions in Omniverse with Live Sync
- Omniverse components and synergies with Innoactive Portal
- Leverage on Innoactive Portal as an Omniverse expert user
- Stream Omniverse to XR headsets
- How to create and stream your own Kit app
- Your first Omniverse streaming session in Innoactive Portal
- How to request a new cloud rendering machine when starting a streaming session
- How to manually select a specific location for cloud rendering
- How to manually select more powerful hardware for cloud rendering
- How to auto-select VR or desktop access mode
- How to use launch arguments