Search Issue Tracker
By Design
Votes
0
Found in
5.4.1p1
Issue ID
870153
Regression
No
Issues accessing second UV channel in UI shaders
When using Unity's UI shaders that have an additional detail texture set in the second UV channel, the result very different when comparing with the shader code and has to be tweaked to obtain the correct result. Also, the use of the PositionAsUV1 component (which is required for the detail texture to show up) isn't mentioned in the documentation, which can be very confusing.
To reproduce:
1. Make a new Unity Project.
2. In the Hierarchy, Click Create>UI>Image
3. Assign a sprite from your Texture to the Image's Source Image
4. Create a Material.
5. Assign the Shader UI/Unlit/Detail (any default UI shader would work as the meshes are produced the same)
6. Add a texture to your project to use as the Detail Texture in your Material.
7. Add the texture to the Material.
8. The resulting material is incorrect as the detail texture doesn't show up.
In the attached project you can find a comparison between a UI Image with the detail shader and a Quad with a standard shader that uses the same detail map (which is how the UI image should look).
Reproducible: 5.6.0b3, 5.5.0p4, 5.4.3p4, 5.1.3p3
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- “Remove Unused Overrides” available on not loaded Scene and throws “ArgumentException: The scene is not loaded” warning
- Adaptive Probe Volume occlusion edge is calculated incorrectly when viewing probes near geometry edges
- Sampling a texture using an HLSL file throws shader errors and the code does not compile
- "Graphics.CopyTexture called with null source texture" error when Base Camera of an Overlay Camera is removed with DX11 Graphics API and Compatibility Mode enabled
- WebGL sends wrong value with large numbers when SendMessage function is used
Add comment