Search Unity

Question Does DOTS hybrid renderer work on the quest 2?

Discussion in 'General Graphics' started by djhatvr, Sep 24, 2022.

  1. djhatvr

    djhatvr

    Joined:
    Sep 22, 2019
    Posts:
    53
    Does DOTS hybrid renderer work on the quest 2?
     
  2. DevDunk

    DevDunk

    Joined:
    Feb 13, 2020
    Posts:
    5,043
    If it works on VR and if it works on android, it should work on quest 2.
    If you read the first page of the docs you can read "Hybrid Renderer is not yet tested or supported on XR devices. XR support is intended in a later version."

    Just make a really small setup and try if you want to check properly
     
  3. djhatvr

    djhatvr

    Joined:
    Sep 22, 2019
    Posts:
    53
    Sorry, I should have been more elaborate in my question.

    I actually did do a test and a LOT of Googling and this is what triggered the question. I made a small project that works on the Oculus Rift S and when I tried to make a Quest 2 build, this is the error I got:

    Shader error in 'Universal Render Pipeline/Unlit': The DOTS_INSTANCING_ON keyword requires shader model 4.5 or greater ("#pragma target 4.5" or greater). at /Git Hub/Dots_Quest_Test/Dots Quest Test/Library/PackageCache/com.unity.render-pipelines.core@12.1.7/ShaderLibrary/UnityInstancing.hlsl(50)
    Compiling Subshader: 1, Pass: DepthNormalsOnly, Vertex program with DOTS_INSTANCING_ON
    Platform defines: SHADER_API_GLES30 SHADER_API_MOBILE UNITY_ENABLE_REFLECTION_BUFFERS UNITY_FRAMEBUFFER_FETCH_AVAILABLE UNITY_LIGHTMAP_DLDR_ENCODING UNITY_NO_CUBEMAP_ARRAY UNITY_NO_DXT5nm UNITY_NO_FULL_STANDARD_SHADER UNITY_NO_RGBM UNITY_NO_SCREENSPACE_SHADOWS UNITY_PBS_USE_BRDF3
    Disabled keywords: INSTANCING_ON UNITY_ASTC_NORMALMAP_ENCODING UNITY_COLORSPACE_GAMMA UNITY_ENABLE_DETAIL_NORMALMAP UNITY_ENABLE_NATIVE_SHADOW_LOOKUPS UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS UNITY_HARDWARE_TIER1 UNITY_HARDWARE_TIER2 UNITY_HARDWARE_TIER3 UNITY_LIGHTMAP_FULL_HDR UNITY_LIGHTMAP_RGBM_ENCODING UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_METAL_SHADOWS_USE_POINT_FILTERING UNITY_PBS_USE_BRDF1 UNITY_PBS_USE_BRDF2 UNITY_PRETRANSFORM_TO_DISPLAY_ORIENTATION UNITY_SPECCUBE_BLENDING UNITY_SPECCUBE_BOX_PROJECTION UNITY_UNIFIED_SHADER_PRECISION_MODEL UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS UNITY_VIRTUAL_TEXTURING
     
  4. DevDunk

    DevDunk

    Joined:
    Feb 13, 2020
    Posts:
    5,043
    Did you try opengl 3 and vulkan both?
    And did you try another android device as well to check of it's an android issue or not?
     
  5. djhatvr

    djhatvr

    Joined:
    Sep 22, 2019
    Posts:
    53
    Thanks for the reply!

    I did try Vulkan and that didn't work I understand that 'target 4.5' is equivalent to openGL ES 3.1 but not sure how to set it.

    I also noticed that the 'Universal Render Pipline/Unlit' shader overides the '#pragma target 4.5' preprocessor. Sould I just copy the system shader and turn off the override?

    Thanks again!
     
  6. DevDunk

    DevDunk

    Joined:
    Feb 13, 2020
    Posts:
    5,043
    I sadly don't have that much shader knowledge.
    In the player settings under the list where you can swap graphics API you can toggle 'require OpenGLES 3.1' or even 3.2.
    If that doesn't work maybe file a bug report and see it as not supported for now?
     
  7. djhatvr

    djhatvr

    Joined:
    Sep 22, 2019
    Posts:
    53

    Seems Unity's SRP/Unlit shader is incompatible with DOTS. I finally made my own shader and it worked fine. (?)
     
    DevDunk likes this.