Search Unity

  1. Unity 2020.1 has been released.
    Dismiss Notice
  2. We are looking for feedback on the experimental Unity Safe Mode which is aiming to help you resolve compilation errors faster during project startup.
    Dismiss Notice
  3. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice

Bug URP not rendering right-eye in VR (2019.3.0b7)

Discussion in '2019.3 Beta' started by TwilightSquire, Oct 16, 2019.

  1. TwilightSquire

    TwilightSquire

    Joined:
    Apr 3, 2019
    Posts:
    8
    Couldn't find anything about this in the issue tracker, but my Valve Index HMD will not render the right-eye in any URP project Multi-Pass or Single Pass rendering. Normal 3D projects work just fine—it's specific to the URP template.

    Looking for help on this issue, otherwise I will post a bug report.

    Thanks,
    TS
     
    Last edited: Oct 16, 2019
    threebeerhonesty and crude_slick like this.
  2. LeonhardP

    LeonhardP

    Unity Technologies

    Joined:
    Jul 4, 2016
    Posts:
    2,114
    Could you please submit a bug report for that issue?
     
  3. DoctorShinobi

    DoctorShinobi

    Joined:
    Oct 5, 2012
    Posts:
    134
    I can confirm this has been happening to me too for a few weeks now.
     
  4. RHylland

    RHylland

    Unity Technologies

    Joined:
    Oct 31, 2016
    Posts:
    2
    This may be due to post processing in the URP template. There is a known issue where post processing does not work correctly. Try turning it off and see if that helps. Multipass rendering with URP will also not work right now and you can get one eye that won't render.
     
  5. Idodi1337

    Idodi1337

    Joined:
    Jul 7, 2014
    Posts:
    10
    Hi it has been 2 months and this problem still persists. Is there a solution for this?
     
    Claytonious likes this.
  6. Claytonious

    Claytonious

    Joined:
    Feb 16, 2009
    Posts:
    710
    Is there any news about this?
     
  7. EstudioVR

    EstudioVR

    Joined:
    Jul 26, 2013
    Posts:
    118
    Still not working, even in latest beta. Multipass don´t render right eye
     
  8. KospY

    KospY

    Joined:
    May 12, 2014
    Posts:
    97
    Got the same issue with multipass.
    Fortunately I use single pass for performance reason but I feel bad for people having to use multi pass as it's broken right now.
    Unity should add this to the known issues by the way.
     
  9. DoctorShinobi

    DoctorShinobi

    Joined:
    Oct 5, 2012
    Posts:
    134
    It's a shame it wasn't fixed yet as it's a pretty critical problem. URP feels like it's been neglected for a while.
     
    ROBYER1 likes this.
  10. Jichaels

    Jichaels

    Joined:
    Dec 27, 2018
    Posts:
    229
    Using single pass instanced and urp / new XR package, my terrain only renders on the left eye aswell...
     
  11. LeonhardP

    LeonhardP

    Unity Technologies

    Joined:
    Jul 4, 2016
    Posts:
    2,114
  12. ROBYER1

    ROBYER1

    Joined:
    Oct 9, 2015
    Posts:
    865
    Hi Leonhard, we are having several other issues with URP on Android VR (Oculus Go/Quest) where we feel there has been slow progress since October last year when we had a response from the XR Graphics Lead on it but more issues have come up since then than fixes, see below.

    -UniversalRP on Oculus Quest/Go won't render depth pass/UI/transparent shaders with MSAA on (this includes UI and Shader Graph materials that use Depth) - case 1184810 with a detailed explanation from DeniDeRyke here but no PR to fix it since
    https://github.com/Unity-Technologies/ScriptableRenderPipeline/pull/5060#pullrequestreview-321337559

    -Fixed-Foveated Rendering currently doesn't work with UniversalRP unless we edit the Forwardrenderer.cs to remove a blit that prevents FFR from working, we have to use this branch to get around it or an alternative solution in a forum post below: https://github.com/prefrontalcortex/ScriptableRenderPipeline/tree/ffr-hack
    Forum post: https://forum.unity.com/threads/fix...-quest-not-working.686662/page-2#post-5374089

    The FFR issue is mentioned by Oculus here https://developer.oculus.com/downloads/package/unity-integration/

    "Using the Unity Universal Render Pipeline may break Fixed Foveated Rendering on Oculus Quest and Oculus Go when using the linear color space or modifying the eye texture resolution scale."
     
  13. LeonhardP

    LeonhardP

    Unity Technologies

    Joined:
    Jul 4, 2016
    Posts:
    2,114
    This issue seems to stem from a driver issue on Oculus side. We're currently waiting for Oculus to check up on that suspicion.

    This bug is scheduled to be tackled in the team’s next sprint.
     
  14. Claytonious

    Claytonious

    Joined:
    Feb 16, 2009
    Posts:
    710
    Fantastic!
     
    ROBYER1 likes this.
  15. KospY

    KospY

    Joined:
    May 12, 2014
    Posts:
    97
    FlightOfOne and ROBYER1 like this.
  16. ROBYER1

    ROBYER1

    Joined:
    Oct 9, 2015
    Posts:
    865
    A PR on the SRP repo was made for this to include a test scene for their automated testing and merged into master like a month ago https://github.com/Unity-Technologies/ScriptableRenderPipeline/pull/4803

    The test flags up that Opaque Texture sampling is broken so it should be very clear to them it isn't working. Haven't seen it fixed yet..
     
  17. LeonhardP

    LeonhardP

    Unity Technologies

    Joined:
    Jul 4, 2016
    Posts:
    2,114
    ROBYER1 likes this.
  18. lassade

    lassade

    Joined:
    Jan 27, 2013
    Posts:
    72
    This issue still does not have a solution but, if you can, by disable opaqueTexture in your PipelineAsset. with this I was able to keep both transparency and MSAA working with both URP 7.2 and 7.3 in Multiview mode. It may have some other gochas but here is the post I got the idea from https://github.com/Unity-Technologies/ScriptableRenderPipeline/pull/5060#issuecomment-562692795
     
    ROBYER1 likes this.
  19. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    8,468
    I try to port an image effect to URP for VR and seems impossible, i cannot even get a simple Blit work, the sampling of the main texture seems wrong whatever i tried

    Code (csharp):
    1.  
    2. struct v2f {
    3.         float4 pos : SV_POSITION;
    4.         float2 uv : TEXCOORD0;
    5. //#if UNITY_UV_STARTS_AT_TOP
    6.         float2 uv1 : TEXCOORD1;
    7. //#endif  
    8.         UNITY_VERTEX_OUTPUT_STEREO
    9.     };
    10.  
    11. //UNITY_DECLARE_SCREENSPACE_TEXTURE(_MainTex);
    12.     half4 fragAdd(v2f i) : SV_Target{
    13.         UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);
    14.    
    15.         //half4 colorA = tex2D(_MainTex, UnityStereoScreenSpaceUVAdjust(i.uv.xy, _MainTex_ST));
    16.         //half4 colorA = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, UnityStereoScreenSpaceUVAdjust(i.uv.xy, _MainTex_ST));
    17.         half4 colorA = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv.xy);
    18.         //half4 colorA = SAMPLE_TEXTURE2D_ARRAY(_MainTex, sampler_MainTex, i.uv.xy, unity_StereoEyeIndex);
    19.         return  colorA;
    20.     }
    21.  
    22.     struct Attributes
    23.     {
    24.         float4 positionOS       : POSITION;
    25.         float2 uv               : TEXCOORD0;
    26.         UNITY_VERTEX_INPUT_INSTANCE_ID
    27.     };
    28.     v2f vert(Attributes v) {
    29.         v2f o = (v2f)0;
    30.         //UNITY_SETUP_INSTANCE_ID(o);
    31.         UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); //0.2
    32.            
    33.         VertexPositionInputs vertexInput = GetVertexPositionInputs(v.positionOS.xyz);
    34.    
    35.         o.pos = float4(vertexInput.positionCS.xy, 0.0, 1.0);
    36.         float2 uv = v.uv;
    37. #if !UNITY_UV_STARTS_AT_TOP
    38.         uv = uv * float2(1.0, -1.0) + float2(0.0, 1.0);  
    39. #endif
    40.         o.uv = uv;
    41.         return o;
    42.     }
    43.  
    Any help on this would be greatly appreciated. In the post image effect i just blit the background in a temporary texture and render it with this pass, this works ok on normal pass VR, but single pass instanced is not working.

    Code (csharp):
    1.  
    2. Blit(cmd, source, m_TemporaryColorTexture.Identifier()); //KEEP BACKGROUND      
    3.  
    4. Blit(cmd, m_TemporaryColorTexture.Identifier(), source, material, 4);
    5.  
    this is what i see in single pass instanced VR (using the mock VR module of Unity)
    upload_2020-4-25_0-12-54.png
     
  20. DionisioLuisPT

    DionisioLuisPT

    Joined:
    Feb 20, 2020
    Posts:
    1
    I changed my project to use URP, and the right eye stopped working ( Oculus Rift / Quest )
    I've read on the top that this issue is fixed ? or I read it wrong ?
     
  21. ROBYER1

    ROBYER1

    Joined:
    Oct 9, 2015
    Posts:
    865
    Use Opengles not Vulkan
     
  22. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    8,468
    I now have the same issue trying to convert a image effect to VR with standard pipeline, i get black in right eye with Mock HMD in single pass instanced even though i have followed all instruction in the docs, is this a known bug ?
     
unityunity