Unity XR SDK Compatibility
Note: you are currently viewing documentation for a beta or an older version of Varjo
The Unity XR SDK is meant to be used with the HDRP and URP pipelines in Unity versions 2019 and higher. As these rendering pipelines have multiple versions and are updated regularly by Unity, we have discovered that some of these combinations encounter issues with the Unity XR SDK. This document provides an overview of suitable combinations where users can expect Varjo Unity XR SDK to work.
Unity version compatibility
Unity version | Notes |
---|---|
2019.3.0f1 - 2019.3.14f1 | Works. HDRP fix required with HDRP |
2019.3.15f1 - 2019.4.12f1 | Does not work. |
2020.1.6f1 → | Works. HDRP fix required with HDRP |
2020.2.0b2 → | Works. |
HDRP version compatibility
HDRP version | Notes |
---|---|
7.0.0 - 7.4.3 | Works. HDRP fix required |
7.5.1 | Works. |
8.0.0 - 8.2.0 | Works. HDRP fix required |
9.0.0 | Works. HDRP fix required |
10.0.0 | Works. |
URP version compatibility
URP version | Notes |
---|---|
7.0.0 - 9.0.0 | Works (multipass only). URP fix required |
10.0.0 | Works. |
Fixing HDRP for Varjo
Note! This script directly modifies your HDRP source files, which may have unwanted side effects. In our tests we have not found any issues caused by our patching tool. Whenever you update HDRP in your project, you need to re-apply this tool.
Use at your own risk.
We have created a simple editor script that fixes some HDRP incompatibilities with our Unity XR SDK. This tool can be downloaded from here.
Usage
- Make sure you have High Definition Render Pipeline installed in your project
- Copy folder VarjoHDRPPatch in Assets folder of your Unity project.
- In Unity Editor, go to Edit -> Render Pipeline -> Fix HDRP bugs affecting Varjo XR Plugin.
- Click Continue.
Fixing URP for Varjo
Note! This fix directly modifies your URP source files, which may cause unwanted side effects for which Varjo takes no responsibility. In our tests we have not found any issues caused by this patch. Whenever you update URP in your project, you need to re-apply this fix.
Use at your own risk.
Follow these instructions to enable URP to work with your project. This fix has been tested with URP 7.4.1, and there’s no guarantee it will work on other versions.
-
Make sure you have Universal Render Pipeline installed in your project.
-
Open the file UniversalRenderPipeline.cs under the Packages -> Universal RP -> Runtime folder in the Project Window. In the
#if ENABLE_VR
block, change thenumberOfXRPasses
from 2 to 4:#if ENABLE_VR && ENABLE_VR_MODULE if (cameraData.isStereoEnabled && !cameraData.isSceneViewCamera && !CanXRSDKUseSinglePass(baseCamera) && XR.XRSettings.stereoRenderingMode == XR.XRSettings.StereoRenderingMode.MultiPass) { cameraData.numberOfXRPasses = 4; cameraData.isXRMultipass = true; } #endif
-
Under the Project Settings, enable the Varjo provider under the XR Plug-in Management, and then under the Varjo settings, make sure Stereo Rendering Mode is set to Multi Pass. Two Pass rendering is still not compatible with Varjo Unity XR SDK.