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
- Project window selection is not updated when search term is changed
- Error when adding valid MonoBehaviour script to Prefab in Project window
- Editor Launch Screen will close when Enter is pressed on it
- ObjectPool's pool is destroyed when entering Play Mode without reloading Domain
- [Android] Permission window is not shown when using a Build App Bundle (Google Play) with Minify set to Release
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.