'Output Mesh' works in-editor but not on Quest 2

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

After trying a bunch of workarounds, I tried the simplest possible case - a single Output Mesh node, with the default cyliner, and the default shader. This produces the same bug (visible in-editor, not visible in a Quest build). I can only assume the Output Mesh node is completely broken on Android.

Hi @Orangy-Tang ,

I believe this is a known issue and happens when using mesh outputs and the new (since 2021.2) ShaderGraph integration with the VFX Graph. I believe the issue only reproduces when using Oculus Link with Single Pass Instanced. Multi Pass, if I remember correctly, should work fine.

Either way, if it’s the same issue, it’s a known one and we’ll take a look. Thanks for raising it! :slight_smile:

Hello @VladVNeykov , thank you for your reply.

This is incorrect. I am seeing this behaviour on a native Quest/Android build (ie. an apk) not an Oculus Link build.

Also the bug you linked references a particle mesh, not an Output Mesh node. Therefore I belive this to be a separate bug.