Search Unity

VFX Graph effects are not rendered on Oculus Quest devices (Android)

Discussion in 'Visual Effect Graph' started by masta-yoda, Oct 14, 2020.

  1. masta-yoda

    masta-yoda

    Joined:
    Apr 19, 2020
    Posts:
    91
    I've followed this guide to ensure that my VFX graph is rendered but nothing is displayed on my Oculus Quest device (no errors, no effects):



    If I run this on desktop (Oculus Rift), it works just fine.
    But it doesn't work at all on my Oculus Quest device.
    I'm using:

    1. Unity 2020.1.9f1 (latest as of today)
    2. Vulkan graphics API
    3. Android API Level 23 (Android 6.0)
    4. Latest XR plugin with Oculus integration enabled
    5. URP

    What else can I check to make it work?
     
  2. VladVNeykov

    VladVNeykov

    Unity Technologies

    Joined:
    Sep 16, 2016
    Posts:
    550
    Hi @masta-yoda ,

    I'm afraid there are some known driver issues with Android devices, you can find out more in this thread or check out this issue. I believe these issues are resolved in Android 9.

    The VFX Graph is only out of preview for HDRP, so the development focus has been mainly there. We have started looking now into the full URP integration and mobile device support for compute-capable devices. You can track the status and upvote the features on our product roadmap.
     
    Ali_V_Quest and masta-yoda like this.
  3. fadedmemory_unity

    fadedmemory_unity

    Joined:
    Apr 29, 2021
    Posts:
    1
    @VladVNeykov , I also tried to build a VFX visual effect and output to oculus quest 2.
    my Unity version is 2019.4.12f.
    not using Vulkan
    API level 23
    URP.

    I can get the effect I want in my macbook pro (picture 1) , but end up fail on the oculus (picture 2)
    do you think that's due to the same issue?


    Screen Shot 2021-08-07 at 11.03.12 PM.png Screen Shot 2021-08-07 at 11.10.16 PM.png
     
  4. VladVNeykov

    VladVNeykov

    Unity Technologies

    Joined:
    Sep 16, 2016
    Posts:
    550
    Hi @fadedmemory_unity, it definitely looks like it can be the same issue!
     
  5. YanaArtis

    YanaArtis

    Joined:
    Sep 15, 2015
    Posts:
    10
    I have the same issue :(
     
  6. YanaArtis

    YanaArtis

    Joined:
    Sep 15, 2015
    Posts:
    10
    I just follow the video tutorial topic starter has mentioned. Everything is work for me.
    6. (2:03 in video) I have added Hidden/VideoDecodeAndroid shader in Graphics tab.
    7. (2:25) II have added Ultra quality level, and set its values accordingly the values in tutorial video.
    After all these steps my builds shows correct VFX:
     
  7. nukadelic

    nukadelic

    Joined:
    Aug 5, 2017
    Posts:
    78
    Tried upgrading to 2021.2b but it now has problems with hashes , says twice
    ```
    syntax error: unexpected token '#' at kernel CSMain
    ```
    in all of the compute shader sub files inside the asset upload_2021-10-19_18-6-15.png

    thinking maybe i should try create a new graph from scratch and copy the nodes over since now the visual effect graph package version is 12.1.0 ( also urp and shader graph have similar version numbering )
     
  8. nukadelic

    nukadelic

    Joined:
    Aug 5, 2017
    Posts:
    78
    upload_2021-10-19_18-11-15.png

    maybe its OpenGLES3 ?
    when i try to show compiled code that's all i see :
    Code (csharp):
    1.  
    2. **** Platform OpenGL ES 3:
    3. Compiled code for kernel CSMain
    4. keywords: <none>
    5.   Failed to compile compute shader.
    6.  
     
  9. nukadelic

    nukadelic

    Joined:
    Aug 5, 2017
    Posts:
    78
    Also just tried creating a " new_vfx " graph and it looks like im getting the same errors

    upload_2021-10-19_18-20-59.png

    Code (csharp):
    1.  
    2. Shader error in '[vfx_particles] [System] Update Particle': syntax error: unexpected token '#' at kernel CSMain at C:/Projects/DreamMeditationVR/Library/PackageCache/com.unity.visualeffectgraph@12.1.0/Shaders/VFXCommon.hlsl(136) (on gles3)
    3. [Worker3] Attempting to get Camera relative temporary RenderTexture (width || height <= 0) via a CommandBuffer  in a Sriptable Render Pipeline.
    4. [Worker3] Trying to get RenderBuffer with invalid antiAliasing (must be at least 1)
    5. ...
    6.  
     
  10. nukadelic

    nukadelic

    Joined:
    Aug 5, 2017
    Posts:
    78
    so basically adding the vfx to the scene it will not render the particles, however oddly enough the inspector does

    upload_2021-10-19_18-25-47.png
     
  11. nukadelic

    nukadelic

    Joined:
    Aug 5, 2017
    Posts:
    78
    Switched to vulkan instead of OpenGL , no more errors , everything seems ok now
    Seems like i missed that one , this what was preventing it from rendering in scene.
    upload_2021-10-19_18-54-11.png

    just build the apk and tried on the quest2 , seems to work just fine )))
     
    Ali_V_Quest likes this.
  12. VladVNeykov

    VladVNeykov

    Unity Technologies

    Joined:
    Sep 16, 2016
    Posts:
    550
    Hi VVad (and anyone seeing these issues); please try upgrading to latest 2021.2 beta.
    A number of fixes addressing the stretched particles as well as some OpenGL-specific issues were fixed in the VFX package which ships in 2021.2.0b14.

    If you still experience issues after, there might be some GPU-specific issues running gles.3.1 in which case switching to vulkan is recommended (as you saw yourself :) )