Search Issue Tracker
By Design
Votes
0
Found in
2019.2
2019.2.0f1
Issue ID
1183244
Regression
No
[Android] Using "Render Over Native UI" with transparent images, makes the Cameras Background Transparent to Native UI
Reproduction steps:
1. Open "renderOverNative_Android.png" project
2. Build & Run for Android
3. Notice how the button is rendered
Expected Result: The transparent button does not make the Camera background transparent as well
Actual Result: The transparent button does make the Camera background transparent over the image
Reproduced with: 2019.2.6f1
Did not reproduce on: 2020.1.0a4, 2019.3.0b3, 2019.3.0a1
Could not reproduce on (No "Render Over Native UI" setting): 2018.4.9f1, 2017.4.32f1
Reproduces with: OpenGLES2, OpenGLES3, Vulkan
Repro Devices:
VLNQA00272, Samsung Galaxy S10+ (SM-G975U), Android 9, CPU: Snapdragon 855 SM8150, GPU: Adreno (TM) 640
VLNQA00224, Samsung Galaxy A5(2017) (SM-A520F), Android 8.0.0, CPU: Exynos 7 Octa 7880, GPU: Mali-T830
VLNQA00013, Samsung Galaxy S6 edge+ (SM-G928F), Android 7.0, CPU: Exynos 7 Octa 7420, GPU: Mali-T760
VLNQA00262, Sony Xperia XZ Premium (G8141), Android 9, CPU: Snapdragon 835 MSM8998, GPU: Adreno (TM) 540
VLNQA00153, Google Pixel XL (Pixel XL), Android 10, CPU: Snapdragon 821 MSM8996 Pro, GPU: Adreno (TM) 530
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 (2020.1.X):
It is expected that on Android "Render Over Native UI"blends the Unity surface with the background. "Render Over Native UI" selects a transparent theme and sets the surface to translucent. If you don't want this you can use a custom AndroidManifest that uses a non-transparent theme.
It is also expected that the default UI shader (and most other Unity shaders) apply the blend function to the alpha channel.
If you don't want that you can use a custom shader with separate blend function for alpha (https://docs.unity3d.com/Manual/SL-Blend.html).
E.g. "Blend SrcAlpha OneMinusSrcAlpha, Zero One" instead of "Blend SrcAlpha OneMinusSrcAlpha"