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
- Crash on ResizeScriptingList<ScriptingObjectPtr> when passing an undeclared variable to the results parameter for GameObject.FindGameObjectsWithTag
- [Android] "Screen.safeArea.y" always returns values outside of the Safe Area when the device is in Portrait orientation
- Frame spike due to many TreeRenderer.TreeUpdated calls when repositioning terrains in large Scenes
- Crash on GameObject::RemoveComponentFromGameObjectInternal when reparenting Text GameObjects
- [IL2CPP-GarbageCollector] Changing GCMode might permanently disable GC in a multithreaded context
Add comment