Search Issue Tracker

Fixed in Unity 2018.3

Votes

1

Found in

2018.2.0b2

Issue ID

1033895

Regression

No

[UI] Removing or disabling CanvasScaler corrupts UI which cannot be undone

UI

-

-

Priority: 4Not yet prioritized for a release

-

Severity: 2Core functionality majorly impacted

To reproduce:

1. Download attached project "BugReport_UI_Canvas_Odd_Behavior.zip" and open in Unity
2. Open "Scene" scene
3. Move "Canvas 2" into "Canvas 1" in Hierarchy window
4. Select "Canvas 2" and disable or remove the "CanvasScaler" Component
5. Observe how this affects the size of the green image, which is part of "Canvas 1"
6. Click Edit > Undo or Ctrl + Z couple times until it undoes your changes
7. Observe it undoes the blue image size, but the green image size keeps corrupted

Notes:
- This issue appears both on Windows and OSX
- Removing or disabling the CanvasScaler Component of Canvas 2 should not affect elements of Canvas 1
- Undo functionality should work always, it should properly undo both, the green and blue image sizes
- If you select corrupted UI, set "UI Scale Mode" to "Constant Pixel Size" or "Constant Physical Size" and then reset it to "Scale With Screen Size", everything fixes up
- Setting Canvas.scaleFactor of a child canvas will scale the parent canvas

Reproduced on Unity 5.6.5p4, 2017.1.3p4, 2017.2.3f1, 2017.3.2f1, 2017.4.2f2, 2018.1.0f2, 2018.2.0b3 and 2018.3.0a1

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.