Search Issue Tracker
Won't Fix
Votes
2
Found in
2021.3.37f1
Issue ID
UUM-69926
Regression
No
[iOS] Stacked camera does not render when using post effects
How to reproduce:
1. Download and open the attached project
2. Change the target platform to iOS
3. Enter Play mode
4. Observe the Game view window
Expected outcome: The text floats around the screen
Actual outcome: The text instead blends with itself
Reproducible with: 2021.3.37f1, 2022.3.25f1, 2023.2.19f1, 2023.3.0b10, 6000.0.0b15
Reproduced on: macOS Sonoma 14.4.1 (Apple M1 Max)
iPhone 12 Pro (iOS 14.2.1)
Note: Does not reproduce if platform is not set to iOS.
Note: Workaround in https://forum.unity.com/threads/how-can-i-camera-with-post-fx-and-a-stacked-camera.1571611/ does not work when platform is set to iOS
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
- Input from the "Backslash" key is not detected in the Web Player when using the Japanese 106/109 key keyboard
- High "Total" value of the "TerrainManager.CullAllTerrains" when generating terrain
- UI Layout rebuild triggered by a rounding error when using TextMesh Pro
- Sprite Shape Corners and Edges are invisible when a closed Sprite Shape is used
- Script icon Gizmos cause lag/performance issues in Scene view even when the Scene Camera is not pointed at Gizmos
Resolution Note:
There are two issues with user's script code
1. CameraEvent.BeforeDepthTexture event is used to add command buffer. This is used only when Camera's depth texture used, and the usual case it is implicitly done is when cascaded shadows are used; since they are disabled on iOS by default, this never triggers (this can be confirmed by enabling cascaded shadows in iOS Graphics Tiers settings)
2. After the fix above, the rendering in Editor will still be broken. In Command Buffer Blit(rt, null) is used, but setting camera targetTexture to null does not guarantee we are rendering to the actual backbuffer, so the blit needs to be changed to
Blit(rt, BuiltinRenderTextureType.CurrentActive);