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
- Too little validation messages in the "WebAssembly Language Features" Memory settings
- Project Settings Search Highlights are misaligned when using the Bitmap Text Rendering Mode
- "GetControlID at event ValidateCommand returns a controlID different from the one in Layout event" Warning is thrown when undoing the deletion of Sprite Shape Profile
- Memory related fields in the "WebAssembly Language Features" can be set to the negative numbers
- "WebAssembly Language Features" Header in the Player Settings has a smaller indentation
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"