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

  1. 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.

Add comment

Log in to post comment

All about bugs

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