Search Issue Tracker
By Design
By Design in 6000.5.X
Votes
1
Found in
6000.5.0a4
Issue ID
UUM-131259
Regression
No
Purple border appears on alpha clipped object borders when building for Quest 2
How to reproduce:
1. Open the attached project "IN-124890"
2. Build and Run using Android profile
3. Observe the VR device
Actual result: Purple border appears on alpha clipped object borders
Expected result: No border appears on alpha clipped object borders
Reproducible with: 1.0.0 (6000.0.65f1), 2.2.0 (6000.0.65f1, 6000.3.2f1, 6000.4.0b2, 6000.5.0a4)
Reproducible environment: Windows 11 Enterprise
Not reproducible environment: No other environments tested
Reproducible on devices:
Oculus Quest 2 (Quest 2), CPU: Snapdragon XR2, GPU: Adreno 650
Quest 3
Note: Not reproducible when the MSAA is set to Disabled in URP config > Quality > Anti Aliasing (MSAA)
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
- Texture2D hash changes inside of an AssetBundle when rebuilding a SpriteAtlas bundle with an empty AssetPostprocessor Script enabled
- Aniso Level still applies when Generate MipMap is disabled in Texture Import Settings
- Mipmap Limit Groups long names are not truncated when creating a new Mipmap Limit Group with a long name
- “ArgumentException: Invalid double parameter.” error is thrown when Infinity is typed into the Fixed Timestep field
- GameObject becomes gray when using HDRP and STP together on macOS
Resolution Note:
Thank you for reporting a bug to Unity.
We have looked into the repro case, and concluded that this case is technically by design.
In URP, when using MSAA and alpha clipping, the new edges of the object caused by the cutout are not taken into account for antialiasing. In this case, URP will automatically enable a2c(alpha to coverage) for the opaque pass to benefit from MSAA.
The a2c will make opaque pass writing to the alpha channel, and this channel is later used as a coverage mask during the MSAA resolve. You could find more detailed explanation about the technique here: https://en.wikipedia.org/wiki/Alpha_to_coverage
This alpha-to-coverage feature is technically working as expected. However, it is indeed incompatible with the Composition layer use case, where the alpha channel is used for deciding where to blend with the comp layer. We suggest using a workarounds:
1. Make the object transparent - this should disable the A2C feature or
2. Disable MSAA - this should disable the A2C feature
We will close this case as 'As Designed.' If you have feedback on how the feature could better meet your needs, please let us know - we value your input and consider it in future improvements.
Resolution Note (6000.5.X):
Thank you for reporting a bug to Unity.
We have looked into the repro case, and concluded that this case is technically by design.
In URP, when using MSAA and alpha clipping, the new edges of the object caused by the cutout are not taken into account for antialiasing. In this case, URP will automatically enable a2c(alpha to coverage) for the opaque pass to benefit from MSAA.
The a2c will make opaque pass writing to the alpha channel, and this channel is later used as a coverage mask during the MSAA resolve. You could find more detailed explanation about the technique here: https://en.wikipedia.org/wiki/Alpha_to_coverage
This alpha-to-coverage feature is technically working as expected. However, it is indeed incompatible with the Composition layer use case, where the alpha channel is used for deciding where to blend with the comp layer. We suggest using a workarounds:
1. Make the object transparent - this should disable the A2C feature or
2. Disable MSAA - this should disable the A2C feature
We will close this case as 'As Designed.' If you have feedback on how the feature could better meet your needs, please let us know - we value your input and consider it in future improvements.