Search Issue Tracker
Fixed in Unity 2018.1
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.
- Clicking on cloud icon in "In the Cloud" section, instead of opening Unity Version selector it opens save project location Popup
- [MacOS] Windows that are unattached are hidden behind Editor when the Editor Window is focused
- Tilemap's collider is offset on the X-axis when using Isometric Tilemap
- [Prefab] Duplicating nested prefabs children does not maintain transform
- Modifying "Image.sprite" of an existing Image, deforms it