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
- Crash on JobQueue::HasJobGroupIDCompleted when closing the Editor while in Play mode on a specific project
- In "Preferences" section the “SpriteShape” menu item, the details page title “SpriteShape”, and “ControlPoint” entries are displayed as code strings rather than formatted UI strings
- Errors thrown constantly when Virtual Offset Debug is enabled and lighting was baked on AMD machine
- Persistent Memory Leak when reloading domain and using Distance-based Ghost Importance
- HDRP project doesn't render in standalone player when using High stripping
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);