There are a lot of things that are not working correctly or are completely broken with the GuiObject.AutomaticSize property.
I have collected a few different bugs in one bug report because they are either partly documented in this forum or just missing
and i have made a test Place to see everything i found here:
AutomaticSize_Bugs.rbxl (79.6 KB)
This is the stated behavior of AutomaticSize:
Issue 1 “Anchor Point”:
If you have the AnchorPoint set to 0.5 on a normal Frame then the Automatic Size only resizes the Frame correctly if the child is placed in the bottom left quadrant of the Frame (down and left from the AnchorPoint)
(the left frame behaves correctly and the right one does not, the black part is at the AnchorPoint of the resizing Frame)
Issue 2 “Position as Scale”:
If you set the Position property of a child as a scale instead of an offset and try to move the child with the mouse the position of the mouse and child will desync and break if you want to move the child again/ place it down(i think this is not an intended behavior but an expected one because the position of the child and the scale of the frame are both cyclically defined by eachother, so this is annoying but not a real bug)
(on the left the position of the child is defined by an offset and on the right by a scale)
Now begin the breaking issues:
Issue 3 “ScrollingFrame + UIListLayout”:
When you create a ScrollingFrame, set its AutomaticCanvasSize to Y and set its CanvasSize to 0 (to enable complete resizing), the following will happen if you place some children into the scrolling frame based on what the VerticalFlex is set to:
(everything is set with offset and not scale)
If you set the VerticalFlex to either fill, none or SpaceBetween and scroll halfway down (if not fill) it works fine
If VerticalFlex is set to SpaceAround or SpaceEvenly it breaks
From what it looks/feels like the UIListLayout “creates” the List of children correctly but instead of placing it in the middle of the correctly sized Canvas it places it at the top(?)
When you add a padding in the UIListLayout it still works/beaks the same Way
(with offset padding)
(with scale padding)
The worst and confusing Issue
Issue 4 “ScrollingFrame + UIListLayout + UIPadding”:
When you set up ScrollingFrames like in Issue 3 but add a UIPadding to the ScrollingFrame the behavior changes
If you remove the padding from the UIListLayout and add just add the padding to the UIPadding the Flex Mode “Fill” also breaks
(with offset padding)
(with scale padding)
This behavior stays the same if you add an offset padding or scale in the UIListLayout and an offset padding in the UIPadding
(offset padding in the UIListLayout)
(scale padding in the UIListLayout)
But breaks if you have an offset padding or scale padding for the UIListLayout and a scale padding for the UIPadding it destroys every AutoCanvasSize (???)
(offset padding for the UIListLayout)
(scale padding for the UIListLayout)
(note that the behavior from Issue 3 persinst for SpaceEvenly and SpaceBetween[???])
Further:
These Issues likely extend to the Horizontal Flex direction and probably also the UIGridLayout but I don’t have the Time to check them out right now
Expected behavior
Issue 1 “Anchor Point”:
I would like to place the child in the other 3 corners and have the frame scale relative to where the AnchorPoint is set (scale more to the right if the anchor point is at x = 0.25 and i move the child to the left)
Issue 2 “Position as Scale”:
Rework the UI system or make it impossible to select both a position based on scale for a child and AutoSize for a Frame
Issue 3 “ScrollingFrame + UIListLayout”:
Let the UIListLayout (Or ScrollingFrame AutoCanvasSize) “place” the contents from SpaceAround or SpaceEvenly in the right spot
Issue 4 “ScrollingFrame + UIListLayout + UIPadding”:
Fix Issue 3 and make the AutoCanvasSize take into account the total size of the ScrollingFrames Children after the paddings are applied based of the actual frame size of the Scrolling Frame










