GUI not updating size when UISizeConstraint.MaxSize is changed

Problem
When I try to change the MaxSize of a UISizeConstraint when the AbsoluteContentSize of a UIPageLayout, the actual size of the UISizeConstraint does not update despite having a Size property that should allow it to snap all the way up to MaxSize.

How to reproduce

  1. Press play in the repro place file
  2. Don’t do anything until the script has stopped running (should take approximately 5 seconds, plus the GUI stops moving)
  3. Do one of these three things: adjust the size of the Viewport, select the Outer frame in the Explorer, or paste this into output:
    print(game.Players.LocalPlayer:FindFirstChild("Outer", true).AbsoluteSize)

Extra
The only way I found to sidestep this issue is by putting a wait() inside of the function connected to UIPageLayout:GetPropertyChangedSignal("AbsoluteContentSize")

I have done bunch of tests in other situations but all of those worked as expected, so I’m guessing this is an edge case bug.

UIBug.rbxl (18.3 KB)

4 Likes

I am experiencing this as well, changing UISizeConstraint.MaxSize via script. I have some nested GUI elements that are supposed to inherit a change to the parent GUI, but unfortunately this does not seem to apply to all GUI elements in question.

I noticed that GUI elements which do not apply the change in size from the change in the parent due to the altering of MaxSize are Scrolling Frames, as the rest of the GUI objects inherit the required dimensions. I haven’t tested this across all GUI objects, just Scrolling Frames, Frames, ImageLabels, and TextButtons.