I have a simple effect graph which just pulses a meshes emission colour (an Output Mesh node, some inputs and a few Time/Sine/Lerp nodes to tie it together). No particles or systems. On desktop (win64) this renders normally, but when built for Quest 2 (Android + VR) the model doesn’t display. It clearly exists because I can see the non-mesh bits (eg. TextMeshPro) and all the behaviour is there, but no visual.
The shader used is a Shader Graph shader, which displays normally on other objects in the scene. It is pretty vanilla.
No errors are seen in the console when run as a development build. No errors are seen when selecting any of the assets in the project. No shaders or compute kernels are present inside the .vfx file (which I think is expected).
Mesh is marked as ‘readable’, mesh compression is off. It’s ~700 vertices. Displaying it normally (MeshFilter+MeshRenderer+same shader) works fine.
I’ve tried ‘Runtime mode (forced)’ and ‘Shader validation (forced)’ and they don’t appear to show anything.
The project is using OpenGL ES3 (I have tried Vulcan, which seems to hang on a black screen at boot).
Any workarounds or pointers would be appreciated.
Unity 2021.3.1f1
URP 12.1.6
Visual Effect Graph 12.1.6
OpenXR 1.3.1
Oculus XR 3.0.1
Android API level 29