Search Issue Tracker
Fixed in 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
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.
Latest issues
- [IL2CPP] UnityLinker error when building
- [macOS] VideoPlayer.clockTime gets stuck for a few frames when starting to play a video
- VideoPlayer.StepForward() does not VideoPlayer.OnFrameReady when using a non-transcoded video
- [Android] A few frames of audio is played when VideoPlayer.Prepare() is called with audio output mode set to Audio Source
- [Android] Audio is only stopped after a delay when VideoPlayer.Pause() is called
Add comment