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
- Scene Filter buttons reset to "All" in the Occlusion Window when entering Play Mode but the Scene Filters themselves do not reset
- Transition property is not disabled in the UI Builder when it is set by a variable
- Crash on PersistentManager::GetSerializedType when opening a specific Scene
- GlobalObjectId.GetGlobalObjectIdSlow returns empty ID when in Prefab Isolation Mode
- Crash on Transform::RemoveFromParent when deleting a child GameObject
Add comment