Search Issue Tracker
Fixed in 2018.1
Fixed in 2017.3, 2017.4, 2018.3
Won't Fix in 2017.2
Canvas Batching System Dirties Project User-Created Materials when using Rect Mask 2D
Steps to reproduce:
1. Open user attached project
2. Enable the "Rect Mask 2D" component on the "Panel" Gameobject
3. Play the scene, then stop the scene
4. Click the menu "File" -> "Save Project"
5. Open the "CustomMaterial" asset in a text editor and notice that it now has "UNITY_UI_CLIP_RECT" as a shader keyword, it is a persistent project asset and now dirtied by the system. This would cause it to show up as a changed file on all source control systems, confusing developers and causing confusing merge conflicts.
6. Now, DISABLE the "Rect Mask 2D" component on the "Panel" Gameobject
7. Again play the scene, then stop the scene
8. Again click the menu "File" -> "Save Project"
9. Again open the "CustomMaterial" asset in a text editor and notice the "UNITY_UI_CLIP_RECT" shader keyword is now gone.
Expected result: canvas batching system should not dirty project user-created materials
Reproduced in: 2018.1.0a3, 2017.3.0b8, 2017.2.0b1
Not reproduced in: 2017.2.0a4, 2017.1.2p3,
Regression since: 2017.2.0b1
Fixed in: 2019.1.0a13, 2018.2.0a3, 2018.1.0b8
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
- [Xcode12][Burst] iOS builds with Universal/ARMv7 architecture fail in Xcode 12 with New Build System when using burst
- Changing scale of Tree prefab instance (in scene) and then undo/redo changes the source prefab scale and all painted instances
- Material properties are not correctly setup when assigning a ShaderGraph to a newly created material
- [iOS] Device.generation returns "DeviceUnknown" with some devices
- Misleading upgrade prompt when opening Project from Hub with an incremented project version