Search Issue Tracker
By Design
Votes
0
Found in [Package]
8.1.0
Issue ID
1244069
Regression
No
[Mobile][URP] Texture loses reflections when project is built to mobile device
How to reproduce:
1. Open the attached 'Planar Reflection Bug.zip' project
2. Open 'SampleScene' Scene and observe 'Puddle' GameObject's texture reflections
3. Build for iOS and deploy the Xcode project to the device
Expected result: Texture's surface is reflective
Actual result: Texture's surface loses reflections
Reproducible with: 2019.3.13f1(7.3.1, 8.1.0), 2020.1.0b8(8.1.0), 2020.2.0a10(7.1.8, 8.1.0)
Could not test with: 2018.4.22f1(undeclared identifier '_BaseMap_ST' in shader)
Reproducible with:
- iPhone 8 Plus (iOS 12.0)
- iPhone XR (iOS 13.4.1)
- iPad Air 2 (iOS 11.0.3)
- VLNQA00052, Xiaomi MI MAX (MI MAX), Android 7.0, CPU: Snapdragon 617 MSM8952, GPU: Adreno (TM) 510
- VLNQA00069, Motorola Moto G (5) Plus (Moto G (4)), Android 7.0, CPU: Snapdragon 617 MSM8952, GPU: Adreno (TM) 405
Not reproducible:
- Mac, Windows Standalone
- VLNQA00314, Lge Nexus 5X (Nexus 5X), Android 8.0.0, CPU: Snapdragon 808, GPU: Adreno (TM) 418
- VLNQA00320, Xiaomi - (Redmi Note 8 Pro), Android 9, CPU: MediaTek Helios G90T MT6785T, GPU: Mali-G76 MC4
Notes:
- Screenshots of the issue attached in Edit
- Reproducible with Metal and OpenGL
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
- Mono Windows Builds don't produce full log callstacks when generating logs
- AssetBundles fail to load when running in Built Players for Mobile Devices
- UI elements with text gets bigger and grey when Player window is moved to another screen with different resolution
- System name accepts multiline text but crops it on confirmation, duplicates input, and shrinks the field when empty
- UI element scale and position are wrong in project build when DRS is changed with HDR and Software Dynamic Resolution enabled
Resolution Note:
This happens on mobile phones due to depth buffer having undefined (DontCare load action) values and failing the ZTest and not rendering anything into Reflection RT. The values of undefined depth buffer is not consistent across platforms, so it would explain why it works on Editor and not on iOS.
To avoid this you can do it two ways - if you are not planning to use depth buffer - make the depth buffer bit count 0 in the RenderTexture ctor or set the ClearFlag.All in your custom pass which will ensure the depth buffer was cleared and there won't be any problems