Search Issue Tracker
Fixed in Unity 2018.3
[UI] Removing or disabling CanvasScaler corrupts UI which cannot be undone
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
- 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.
- [Interactions] Some Interactions don't have the correct startTime, time and duration in callbackContext.
- [Interactions] InputAction.CallbackContext.interaction does not hold the correct value, when it is set to Default.
- [Editor] When Preference window is open, exiting Playmode generates NullReferenceException.
- [Addressables] Models have deformations when they are imported from AssetBundle and Play Mode Script is set to Packed Play mode
- The error of " 'Light' does not contain a definition for 'SetLightDirty' " when building the project