Search Issue Tracker

By Design

By Design in 6000.3.X

Votes

0

Found in

6000.0.63f1

6000.2.14f1

6000.3.0f1

Issue ID

UUM-128600

Regression

No

"Assertion failed" and "ArgumentNullException" errors when selecting a GameObject with Mesh while using reflection shader Blit in custom Renderer Feature with RTHandles

SRP Foundation

-

Reproduction steps:
1. Open the attached “IN-125833.zip” project
2. Open the “SampleScene”
3. From the Project window, select “PC_Renderer”
4. In the Inspector, make sure the “BlurReflectionsFeature” is added as a Renderer Feature
5. Clear the Console
6. From the Hierarchy, select the “Cube” GameObject
7. Observe the Console

Expected result: The Renderer Feature works without errors
Actual result: “Assertion failed UnityEngine.Rendering.Blitter:BlitCameraTexture” and “ArgumentNullException: Value cannot be null.” errors are shown

Reproducible with: 2023.1.0b1, 6000.0.63f1, 6000.2.14f1, 6000.3.0f1
Couldn’t test with: 6000.4.0a5, 6000.5.0a2 (“CS0115: 'BlurReflectionsPassRTH.OnCameraSetup(CommandBuffer, ref RenderingData)': no suitable method found to override” and “ CS0115: 'BlurReflectionsPassRTH.Execute(ScriptableRenderContext, ref RenderingData)': no suitable method found to override” unfixable errors)

Reproducible on: Windows 11
Not reproducible on: no other environments tested

Notes:
- To reproduce in 6000.3 or later, “URP_COMPATIBILITY_MODE” must be added in Scripting Define Symbols (Edit > Project Settings > Player)
- In Unity 6, even with the compatibility mode enabled, the assertion error appears. In 2022.3, even without any RenderGraph requirement, the assertion error still appears

  1. Resolution Note:

    The error message comes from rendering the preview in the inspector. The issue is that renderer.cameraColorTargetHandle is not a valid handle when rendering a preview, because the preview does not actually use a camera. An easy way to fix this is to add the following code to the beginning of your Execute function:

    if (renderingData.cameraData.isPreviewCamera) return;

  2. Resolution Note (6000.3.X):

    The error message comes from rendering the preview in the inspector. The issue is that renderer.cameraColorTargetHandle is not a valid handle when rendering a preview, because the preview does not actually use a camera. An easy way to fix this is to add the following code to the beginning of your Execute function:

    if (renderingData.cameraData.isPreviewCamera) return;

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.