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

Package: Scriptable Render Pipeline Universal

-

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

  1. 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

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.