Hololight Stream for Unity extension - Video passthrough

Video passthrough

Hololight Stream supports passthrough XR. Passthrough XR is using an XR device and being able to see both the real-world environment and the digital objects created by the application at the same time.

Transparency when using passthrough

When using Hololight Stream passthrough there are some unexpected behaviors that most client devices have when rendering transparent objects.

For all devices, except the Apple Vision Pro, digital objects are either rendered fully opaque or not rendered at all, regardless of the alpha value set to the object. In fact, objects are always fully opaque unless they are completely black in color and their alpha value is set to "0".

On Apple Vision Pro, objects are instead rendered as you would expect, regardless of their color, with their level of transparency reflecting their alpha value.

Additional package requirements

  • None

Supported client devices

  • Apple Vision Pro

  • Apple iOS and iPadOS

  • HTC VIVE devices

  • Lenovo ThinkReality VRX[1]

  • PICO 4 Ultra

  • Meta Quest devices

Set up passthrough to use with a Unity render pipeline

In older versions of Unity, the default render pipeline was Unity’s Built-In Render Pipeline. In newer versions of Unity, this render pipeline has been deprecated. In those newer versions, the default pipeline is now the Universal Render Pipeline.

For more information on Unity’s Built-In Render Pipeline, check out Using the Built-In Render Pipeline.

Set up passthrough for use with the Universal Render Pipeline

This guide uses the 3D Sample Scene (URP) available through the Unity Hub.

Even if the version of Unity you are using has the Universal Render Pipeline set by default, your should still follow the steps matching your Unity version to make sure that all necessary settings to get passthrough working are configured.

Set up passthrough for use with the Universal Render Pipeline in Unity 2022.3
  1. Create a 3D URP Unity project.

  2. Follow the instructions in Hololight Stream for Unity - Example project.

  3. Go to Assets > Settings > UniversalRP-High Quality > Quality. Uncheck the box next to HDR.

    hololight stream installation videopassthrough 04

  4. Open Package Manager. Import the URPAlphaPassthrough sample from the Hololight Stream Examples package.

  5. Go to Assets > Settings > Universal Renderer (Univeral Renderer Data) > Post-processing > Enabled. Set Data to URPPostProcessDataWithAlpha (Post Process Data).

    hololight stream installation videopassthrough 03

  6. Right-click the Scene section and select XR > Convert Main Camera to XR Rig to use the scene with an XR device.

  7. Go to XR Rig > Camera Offset > Main Camera and, in the Background section, set:

    Background Type

    Solid Color

    Background Color - R

    0

    Background Color - G

    0

    Background Color - B

    0

    Background Color - A

    0

  8. Enter Play mode and connect with Hololight Stream Client.

Set up passthrough for use with the Universal Render Pipeline in Unity 6 and up
  1. Create a 3D URP Unity project.

  2. Follow the instructions in Hololight Stream for Unity - Example project.

  3. Go to Assets > Settings > UniversalRP-High Quality > Quality. Uncheck the box next to HDR.

    hololight stream installation videopassthrough 04

  4. Go to Assets > Settings > Universal Renderer (Univeral Renderer Data) > Post-Processing > Enabled.

  5. Go to Assets > Settings > UniversalRP-High Quality > Post-processing. Check the box next to Alpha Processing.

    hololight stream installation videopassthrough 06

  6. Right-click the Scene section and select XR > Convert Main Camera to XR Rig to use the scene with an XR device.

  7. Go to XR Rig > Camera Offset > Main Camera and, in the Background section, set:

    Background Type

    Solid Color

    Background Color - R

    0

    Background Color - G

    0

    Background Color - B

    0

    Background Color - A

    0

  8. Enter Play mode and connect with Hololight Stream Client.

Set up passthrough to use the High Definition Render Pipeline

To enable alpha rendering in the cases where it is supported:

  1. Open the HDRP Asset in the Inspector.

  2. Go to Rendering > Color Buffer Format.

  3. Select R16G16B16A16.

For more information, check out Unity’s documentation, Alpha channel configuration.

Troubleshooting

If you are having trouble getting passthrough to work, check the following:

  • Check that you enabled the Passthrough setting on the client device.

  • Check that both the client and server are using the same color space.

  • Check that the Main Camera’s background is solid black with an alpha value of 0.


1. Hololight Stream Client for Lenovo VRX and Magic Leap 2 is in maintenance. This means that these versions of Hololight Stream Client is either feature complete or deprecated.