Demonstrate how to program with NVIDIA CloudXR Client Unity Plugin for VIVE Focus 3 and VIVE XR Elite headset. You can start to develop your own CloudXR application based on this sample client.
Below are the instructions to build from source. Alternatively you can find a pre-built APK in the Releases section.
- HTC VIVE Focus 3 or VIVE XR Elite
- Unity Minimum Version 2022.3.9f1 LTS or later
- Unity 2021.3.31f1 LTS has been tested and is functioning correctly.
- VIVE OpenXR Plugin - Android 1.0.5
- NVIDIA CloudXR Client Unity Plugin
- XR Interaction Toolkit 2.5.4
- Switch to Android platform.
- Load NVIDIA CloudXR Client Unity Plugin from
Window > Package Manager
.- the plugin is included labeled "sans-libc++"
- Ensure OpenXR and VIVE XR Support feature group are checked from
Edit > Project Settings > XR Plug-in Management
. - Check and fix for any red or yellow flags from
Edit > Project Settings > XR Plug-in Management
. - Ensure VIVE XR Support and CloudXR Tuned Pose Capture are checked from
Edit > Project Settings > XR Plug-in Management > OpenXR
.
- Open Server and check server ip.
- Modify the IP address in CloudXRLaunchOptions.txt.
- Push CloudXRLaunchOptions.txt to /storage/emulated/0/Android/data/PackageName/files/CloudXRLaunchOptions.txt
- Push cxrUnityConfig.json to /storage/emulated/0/Android/data/PackageName/files/cxrUnityConfig.json
- PackageName from
Edit > Project Settings > Player > Other Settings > Package Name
- pre-built APK PackageName :
com.htc.vive.cloudxr.unitysample
- PackageName from
- Launch the apk to start streaming.
- If controller model position not fit, please follow these steps to fix it.
- Please open CxrUnityXRManager.cs from
Project > Packages > NVIDIA CloudXR Client for Unity > Runtime
- Replace /input/grip/pose to /input/aim/pose
- Please open CxrUnityXRManager.cs from
- If you want to change the resolution, please follow these steps to fix it.
- Check the device's default resolution via XRSettings.eyeTextureHeight and XRSettings.eyeTextureWidth.
- Calculate the scale value between your desired resolution and the current device resolution, and set it in Assets/Settings/URP-Performant.asset under Quality > Render Scale