Search Issue Tracker
By Design
Votes
0
Found in
6000.0.37f1
6000.1.0b5
6000.2.0a3
Issue ID
UUM-96978
Regression
No
Undo does not revert anchor preset changes when multiple UI elements are modified at once
Reproduction steps:
1. Open the attached “repro_IN-94627“ project
2. Open the “Assets/Scenes/TestingScenes.unity“ Scene
3. In the Hierarchy, expand the “Canvas → Panel → Image → AudioSettings → Sliders“ GameObject
4. Select all three child GameObjects (“MasterSlider“, “MusicSlider“, “SFXSlider“) at once
5. In the Inspector, in the “Rect Transform” Component, press on the anchor point selection
6. While holding the “Alt“ button on your keyboard, select the anchor point in the middle
7. In the Scene view, observe multiple sliders merging into a single slider
8. Press the “Ctrl + Z“ button combination on your keyboard or select “Undo“ (“Edit → Undo“) in the Editor menu
9. Observe the sliders in the Scene view
Expected result: Previous changes to the sliders are successfully reversed and multiple sliders appear again
Actual result: Previous changes to the sliders are not reversed and a single slider stays visible
Reproducible with: 6000.0.37f1, 6000.1.0b5, 6000.2.0a3
Couldn’t test with: 2022.3.57f1 - Consistent crash when opening the “TestingScene.unity“ Scene
Reproducible on: Windows 10 (22H2)
Not reproducible on: No other environments tested
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Crash on MonoBehaviour::CallMethodIfAvailable when performing various actions
- Incorrect rotations on bones when importing FBX animations with a Humanoid Rig
- Render Graph Viewer “Pass List” section is flickering when resizing vertically and the Render Graph Viewer window is docked
- Render Graph Viewer Capture button plays the click animation but does not do anything when the Capture button is pressed with the “Enter” key on the keyboard
- UI Builder Scrollview is unable to scroll all the way down when the window is downsized vertically
Resolution Note:
This is because the sliders are parented to a HorizontalLayoutGroup.
When a layout group like HorizontalLayoutGroup is applied, it uses Unity's Driven RectTransform Tracker internally. This tracker ensures that the layout component has full control over the rect transform properties. These properties are dynamically adjusted based on the layout group settings.
Because the layout group continuously drives and overrides the RectTransform properties (even at runtime), modifying these properties manually in the Inspector or through code doesn't persist. Essentially, any manual changes to these fields are invalid, as they'll be reset almost immediately by the layout group. For this reason, Unity disables Undo/Redo for these changes, since there's no meaningful way to "record" or "reapply" manual changes to properties controlled by the layout system.