VRMADA/ultimatexr-unity

Hand.shader compiler error in URP

Opened this issue · 2 comments

Steps to reproduce:
Create a new URP Template project from Unity Hub using Unity 2021.3.2f1.
Import in the 'UltimateXR_0.8.1' Unity package file downloaded from website.
Switch the editor's build platform to "Android".
Install XR Plugin Management and set plugin provider to "Oculus" for both Android and desktop.
Set Oculus render settings to Single Pass Instanced/Multiview.
Build and Run to Quest 2 headset.
Both "Build", install with ADB tool and "Build And Run" options result in compiler errors.

Compiler error with the following message: Shader error in 'UltimateXR/Hands/Hand': invalid subscript 'sh' at line 7003 (on gles3)

Unity 2021.3.2f1 and URP 12.1.6

Capture

Shadergraph Inspector window for Hand.shadergraph:

Capture

@fatboxSoftware Thanks for reporting!

After having a deeper look I found out that the Built-In Render Pipeline compatibility in the Unity ShaderGraph doesn't seem to work correctly. If you remove the Built-In from the Active Targets, it doesn't output eny errors.

image

There are 2 workarounds at this point:

  • Remove the Built-In compatibility from the list.
  • Build, without the Run, and manually install the .apk.

I will check if there is a specific node that introduces the error to remove it. Meanwhile I should send a bugreport to Unity to hopefully get it fixed.

I have temporarily disabled Built-in Render Pipeline compatibility on the Hand.shadergraph until this is fixed