Direct Preview
In the development process, building APKs repeatedly in Unity is time-consuming. Direct Preview lets developers skip the build process by letting developers preview in both the Unity Editor and their headset simultaneously.
NOTE: The rendering path for Android applications differs from the rendering path used for game previews. Therefore, there may be differences in the look-and-feel and performance.
Feature | DP Support | VBS OpenXR Dependency | XR Elite | Focus Vision |
Hand Tracking |
V |
V |
V |
V |
Rendering |
V |
V |
V |
V |
HMD Pose |
V |
V |
V |
V |
Controller Pose |
V |
V |
V |
V |
Controller Button |
V |
V |
V |
V |
Eye Gaze |
V |
V |
V |
V |
Composition Layer | ||||
Passthrough |
V |
V |
V |
V |
HTC Hand Interaction (Pinch) | ||||
KHR Hand Interaction | ||||
Eye Expression |
V |
V |
V |
V |
Lip Expression |
V |
V |
V |
V |
Advanced Eye Tracking |
V |
V |
V |
V |
XR_Tracker | ||||
Wrist_Tracker | ||||
Body Tracking | ||||
Hand Gesture | ||||
Anchor | ||||
Plane Detection |
Supported Platforms and Devices
Platform | Headset | Supported | Plugin Version | |
PC | PC Streaming | Focus 3/XR Elite/Focus Vision | X | |
Pure PC | Vive Cosmos | X | ||
Vive Pro series | X | |||
AIO | Focus 3 | V | 2.5.0 and above | |
XR Elite | V | 2.5.0 and above | ||
Focus Vision | V | 2.5.0 and above |
Specification
Direct Preview is separated into three parts:
-
VIVE Business Streaming app on your target device
This is the app on headset for Direct Preview. It leverages the streaming technology from VIVE Business Streaming to work over USB or wireless connection. It is the same app for VIVE Business Streaming on your headset. 2. wvr_plugins_directpreview.dll on your Unity Editor
Unity Editor will load wvr_plugins_directpreview.dll when you start playing. After initialization and connection, it provides all data (pose, event and state of device) from your target device to Unity which operates all routines and draws images on texture.
After drawing texture is completed, wvr_plugins_directpreview.dll will send texture images from Unity with corresponding pose data to Streaming server.
-
Streaming server on PC
Streaming server takes over the Unity textures and the poses sent from wvr_plugins_directpreview.dll. And then, Streaming server encodes these information and sends them to the target device.
Environment Settings
- Install VIVE Hub (verified: 2.2.4a)
-
Configure VIVE Hub:
Navigate to Settings > About > VIVE Streaming and click "Update" of VIVE Streaming (Headset).
-
Install SteamVR
- Configure SteamVR:
Navigate to Settings > OpenXR and click "SET STEAMVR AS OPENVR RUNTIME".
Golden Sample
-
Create Unity project (have to use Unity 2021 or newer).
-
Download ViveOpenXRInstaller.unitypackage and install Vive OpenXR Link
Inside Unity: Import Package . (Assets > Import package > Custom Package choose the downloaded package.)
-
Option A: If you have Git installed go to VIVE > OpenXR Installer > Install or Update latest version.
-
Option B: If you don’t have Git installed then go to Link, and download file com.htc.upm.vive.openxr-2.5.0.tgz. Go back to Unity and open package manager, click add sign > add package from tarball, and select the downloaded file to install.
-
-
With Package Manager still open, go to Samples tab and import Vive OpenXRSamples.
-
Switch platform to windows in build settings.
-
Under Project Settings check OpenXR checkbox under XR Plug-in Management. Go under OpenXR and add Vive Focus 3 Controller Interaction under Enabled Interaction Profiles and check the unity extension you want to test.
-
Install and open Vive Business Streaming app in headset’s library page and turn on unity play mode. Make sure the headset is connected to your computer, Headset’s Settings > Connectivity > Computer connection.