Search Unity

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

Discussion in 'Visual Effect Graph' started by Orangy-Tang, May 24, 2022.

  1. Orangy-Tang

    Orangy-Tang

    Joined:
    Jul 24, 2013
    Posts:
    39
    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
     
  2. Orangy-Tang

    Orangy-Tang

    Joined:
    Jul 24, 2013
    Posts:
    39
    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.
     
  3. VladVNeykov

    VladVNeykov

    Unity Technologies

    Joined:
    Sep 16, 2016
    Posts:
    550
    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! :)
     
  4. Orangy-Tang

    Orangy-Tang

    Joined:
    Jul 24, 2013
    Posts:
    39
    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.