Search Unity

  1. Unity Asset Manager is now available in public beta. Try it out now and join the conversation here in the forums.
    Dismiss Notice

Bug URP Rendering bug - breaking full pipeline

Discussion in '2021.2 Beta' started by SevenPointRed, Sep 16, 2021.

  1. SevenPointRed

    SevenPointRed

    Joined:
    Feb 3, 2016
    Posts:
    218
    Randomly getting this error that causes all rendering to stop.

    Code (CSharp):
    1. NullReferenceException: Object reference not set to an instance of an object
    2. UnityEngine.Rendering.Universal.Internal.MainLightShadowCasterPass.Configure (UnityEngine.Rendering.CommandBuffer cmd, UnityEngine.RenderTextureDescriptor cameraTextureDescriptor) (at Library/PackageCache/com.unity.render-pipelines.universal@12.0.0/Runtime/Passes/MainLightShadowCasterPass.cs:123)
    3. UnityEngine.Rendering.Universal.ScriptableRenderer.ExecuteRenderPass (UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Rendering.Universal.ScriptableRenderPass renderPass, UnityEngine.Rendering.Universal.RenderingData& renderingData) (at Library/PackageCache/com.unity.render-pipelines.universal@12.0.0/Runtime/ScriptableRenderer.cs:950)
    4. UnityEngine.Rendering.Universal.ScriptableRenderer.ExecuteBlock (System.Int32 blockIndex, UnityEngine.Rendering.Universal.ScriptableRenderer+RenderBlocks& renderBlocks, UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Rendering.Universal.RenderingData& renderingData, System.Boolean submit) (at Library/PackageCache/com.unity.render-pipelines.universal@12.0.0/Runtime/ScriptableRenderer.cs:921)
    5. UnityEngine.Rendering.Universal.ScriptableRenderer.Execute (UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Rendering.Universal.RenderingData& renderingData) (at Library/PackageCache/com.unity.render-pipelines.universal@12.0.0/Runtime/ScriptableRenderer.cs:669)
    6. UnityEngine.Rendering.Universal.UniversalRenderPipeline.RenderSingleCamera (UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Rendering.Universal.CameraData cameraData, System.Boolean anyPostProcessingEnabled) (at Library/PackageCache/com.unity.render-pipelines.universal@12.0.0/Runtime/UniversalRenderPipeline.cs:414)
    7. UnityEngine.Rendering.Universal.UniversalRenderPipeline.RenderSingleCamera (UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Camera camera) (at Library/PackageCache/com.unity.render-pipelines.universal@12.0.0/Runtime/UniversalRenderPipeline.cs:323)
    8. UnityEngine.Rendering.Universal.UniversalRenderPipeline.Render (UnityEngine.Rendering.ScriptableRenderContext renderContext, System.Collections.Generic.List`1[T] cameras) (at Library/PackageCache/com.unity.render-pipelines.universal@12.0.0/Runtime/UniversalRenderPipeline.cs:278)
    9. UnityEngine.Rendering.RenderPipeline.InternalRender (UnityEngine.Rendering.ScriptableRenderContext context, System.Collections.Generic.List`1[T] cameras) (at <14c3e404c974480fb218229516cafd50>:0)
    10. UnityEngine.Rendering.RenderPipelineManager.DoRenderLoop_Internal (UnityEngine.Rendering.RenderPipelineAsset pipe, System.IntPtr loopPtr, System.Collections.Generic.List`1[T] renderRequests, Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle safety) (at <14c3e404c974480fb218229516cafd50>:0)
    11. UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)
    12.  
    Edit: This will error every frame and crash unity after about 30 sec, I'm assuming due to a memory leak as it takes >30gb ram when it crashes.
     
    Last edited: Sep 16, 2021
  2. SevenPointRed

    SevenPointRed

    Joined:
    Feb 3, 2016
    Posts:
    218
    If I toggle the camera on and off I get:

    Code (CSharp):
    1. AssertionException: Editor camera must resolve target upon finish rendering.
    2. Assertion failure. Value was False
    3. Expected: True
    4. UnityEngine.Assertions.Assert.Fail (System.String message, System.String userMessage) (at <14c3e404c974480fb218229516cafd50>:0)
    5. UnityEngine.Assertions.Assert.IsTrue (System.Boolean condition, System.String message) (at <14c3e404c974480fb218229516cafd50>:0)
    6. UnityEngine.Rendering.Universal.UniversalRenderer.Setup (UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Rendering.Universal.RenderingData& renderingData) (at Library/PackageCache/com.unity.render-pipelines.universal@12.0.0/Runtime/UniversalRenderer.cs:841)
    7. UnityEngine.Rendering.Universal.UniversalRenderPipeline.RenderSingleCamera (UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Rendering.Universal.CameraData cameraData, System.Boolean anyPostProcessingEnabled) (at Library/PackageCache/com.unity.render-pipelines.universal@12.0.0/Runtime/UniversalRenderPipeline.cs:410)
    8. UnityEngine.Rendering.Universal.UniversalRenderPipeline.RenderCameraStack (UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Camera baseCamera) (at Library/PackageCache/com.unity.render-pipelines.universal@12.0.0/Runtime/UniversalRenderPipeline.cs:561)
    9. UnityEngine.Rendering.Universal.UniversalRenderPipeline.Render (UnityEngine.Rendering.ScriptableRenderContext renderContext, System.Collections.Generic.List`1[T] cameras) (at Library/PackageCache/com.unity.render-pipelines.universal@12.0.0/Runtime/UniversalRenderPipeline.cs:264)
    10. UnityEngine.Rendering.RenderPipeline.InternalRender (UnityEngine.Rendering.ScriptableRenderContext context, System.Collections.Generic.List`1[T] cameras) (at <14c3e404c974480fb218229516cafd50>:0)
    11. UnityEngine.Rendering.RenderPipelineManager.DoRenderLoop_Internal (UnityEngine.Rendering.RenderPipelineAsset pipe, System.IntPtr loopPtr, System.Collections.Generic.List`1[T] renderRequests, Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle safety) (at <14c3e404c974480fb218229516cafd50>:0)
    12. UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)
     
  3. SevenPointRed

    SevenPointRed

    Joined:
    Feb 3, 2016
    Posts:
    218
    After some debugging it appears this only happens with an overlay camera on the stack, if I disable my overlay camera the bug stops. But so does my whole game :)

    It also works fine in the player (android + windows)

    Just toggling the game window when not in play mode gives:

    Code (CSharp):
    1. AssertionException: Editor camera must resolve target upon finish rendering.
    2. Assertion failure. Value was False
    3. Expected: True
    4. UnityEngine.Assertions.Assert.Fail (System.String message, System.String userMessage) (at <0dc26211fc6f43128da1d70c2c3a8abc>:0)
    5. UnityEngine.Assertions.Assert.IsTrue (System.Boolean condition, System.String message) (at <0dc26211fc6f43128da1d70c2c3a8abc>:0)
    6. UnityEngine.Rendering.Universal.UniversalRenderer.Setup (UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Rendering.Universal.RenderingData& renderingData) (at Library/PackageCache/com.unity.render-pipelines.universal@12.0.0/Runtime/UniversalRenderer.cs:841)
    7. UnityEngine.Rendering.Universal.UniversalRenderPipeline.RenderSingleCamera (UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Rendering.Universal.CameraData cameraData, System.Boolean anyPostProcessingEnabled) (at Library/PackageCache/com.unity.render-pipelines.universal@12.0.0/Runtime/UniversalRenderPipeline.cs:410)
    8. UnityEngine.Rendering.Universal.UniversalRenderPipeline.RenderCameraStack (UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Camera baseCamera) (at Library/PackageCache/com.unity.render-pipelines.universal@12.0.0/Runtime/UniversalRenderPipeline.cs:561)
    9. UnityEngine.Rendering.Universal.UniversalRenderPipeline.Render (UnityEngine.Rendering.ScriptableRenderContext renderContext, System.Collections.Generic.List`1[T] cameras) (at Library/PackageCache/com.unity.render-pipelines.universal@12.0.0/Runtime/UniversalRenderPipeline.cs:264)
    10. UnityEngine.Rendering.RenderPipeline.InternalRender (UnityEngine.Rendering.ScriptableRenderContext context, System.Collections.Generic.List`1[T] cameras) (at <0dc26211fc6f43128da1d70c2c3a8abc>:0)
    11. UnityEngine.Rendering.RenderPipelineManager.DoRenderLoop_Internal (UnityEngine.Rendering.RenderPipelineAsset pipe, System.IntPtr loopPtr, System.Collections.Generic.List`1[T] renderRequests, Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle safety) (at <0dc26211fc6f43128da1d70c2c3a8abc>:0)
    12. UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)
    I've tried rolling back to an older beta, same issue.
    I've tried reimporting all.

    If I upgrade to the alpha I dont get the error, but that isnt a real option.

    EDIT: If I disable gizmoes the errors no longer appear.
     
    Last edited: Sep 17, 2021
    AwaiiStudio likes this.
  4. LeonhardP

    LeonhardP

    Unity Technologies

    Joined:
    Jul 4, 2016
    Posts:
    3,136
    Hi @SevenPointRed,

    Could you please submit a bug report for this issue, ideally with a reproduction project attached?
     
  5. SevenPointRed

    SevenPointRed

    Joined:
    Feb 3, 2016
    Posts:
    218
    The first error i think is fixed now, see https://forum.unity.com/threads/cas...rows-an-error-when-exiting-play-mode.1161944/

    As for the others, I could not create a reproduction and its impossible to strip the project down. So I was just hoping someone else might have had it. Sorry I can't be much more help.
    The only "fix" i have is to disable gizmos.
     
    LeonhardP likes this.
  6. TomasZi

    TomasZi

    Unity Technologies

    Joined:
    Jul 21, 2016
    Posts:
    4
    Hi,
    Thank you for reporting the bug! I can confirm that the fix for rendering issue with camera stack and gizmos enabled is on its way and it will land in the newer version of URP.
     
  7. JustMaulik007

    JustMaulik007

    Joined:
    Oct 3, 2018
    Posts:
    11
    I get this on unity 2022.2.14 and URP 14.0.7
     
    Lorrak likes this.
  8. SSm19

    SSm19

    Joined:
    Jan 6, 2021
    Posts:
    5
    got this error on 2022.3.4 + URP 14.0.8
     
  9. hektorj

    hektorj

    Joined:
    Aug 13, 2016
    Posts:
    3
    i am writting this in case someone have my problem that is related with URP in Unity 2022.3.
    I just updated my project to 2022.3, then in console appered a bunch of errors NullReferenceException.
    I solved the problem going to the main camera > rendering > renderer, there was 2 options: was on "Default Renderer (URP-Balanced_Renderer)" and swap to "0:URP-Balanced-Renderer" as you can see in the image. Problem solved :)
    upload_2023-10-13_11-22-43.png

    I hope this help you. Good luck in your projects!
     
    Lorrak likes this.