Search Issue Tracker
By Design
Votes
0
Found in
6000.0.51f1
6000.1.7f1
6000.2.0b5
Issue ID
UUM-110061
Regression
No
Post processing effects do not work when an Overlay Camera is enabled in the Camera Stack
How to reproduce:
1. Open the attached “IN-104042” project
2. Open the “SampleScene” Scene
3. Enter Play mode
4. Click the Buttons “Enable drawings” and “Disable drawings”
5. Observe the result
Expected result: The orange overlay remains on the sphere
Actual result: The orange overlay disappears when drawings are enabled
Reproducible with: 6000.0.29f1, 6000.0.51f1, 6000.1.7f1, 6000.2.0b5
Not reproducible with: 2022.3.63f1
Could not test with: 2023.1.0a1 (Could not clear namespace errors from PrimalBlit.cs ), 6000.0.28f1 (Screen goes black with this message in the Console: “Missing types referenced from component UniversalRenderPipelineGlobalSettings on game object UniversalRenderPipelineGlobalSettings”)
Reproduced on: Windows 11
Not reproduced on: No other environment tested
Notes:
- Also reproducible in Player
- The project for 2022 and Unity6 are structured differently because of the Render Graph implementation
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Texture2D hash changes inside of an AssetBundle when rebuilding a SpriteAtlas bundle with an empty AssetPostprocessor Script enabled
- Aniso Level still applies when Generate MipMap is disabled in Texture Import Settings
- Mipmap Limit Groups long names are not truncated when creating a new Mipmap Limit Group with a long name
- “ArgumentException: Invalid double parameter.” error is thrown when Infinity is typed into the Fixed Timestep field
- GameObject becomes gray when using HDRP and STP together on macOS
Resolution Note:
Unfortunately, this behavior is by design, as each camera owns its own RenderGraph context and therefore does not share TextureHandles.
To work around this limitation, you can blit the destination texture back to the initial source texture within your Camera Stack setup. For example:
```
RenderGraphUtils.BlitMaterialParameters para = new(source, destination, m_BlitMaterial, 0);
renderGraph.AddBlitPass(para, passName: m_PassName);
var isSingleCamera = cameraData.resolveFinalTarget && cameraData.renderType == CameraRenderType.Base;
if (!isSingleCamera)
renderGraph.AddBlitPass(destination, source, Vector2.one, Vector2.zero);
resourceData.cameraColor = destination;
```
So when the overlay camera imports the previously used RTHandle (e.g. CameraTargetAttachmentA), your post-processing changes from the base camera will be conserved and reused.