Roblox GUI builder is absolute GARBAGE!

i forgot to adjust the volume but i hope the video itself is still helpful

dont ask dont tell

3 Likes

it was but the audio just makes it uncomfortable

3 Likes

What are you even talking about? These function fine.

Add a UIPadding or size them manually.

7 Likes

I’ve had problems with scrolling frames so this was actually helpful.

Wonderful audio quality btw more singers should use those types of microphones

4 Likes

It happens to the best of us. Sometimes, you just spend hours and hours trying to get something to work and it just won’t.

Perhaps take a break, and when you’re ready, start looking at some tutorials on how other developers have worked with Roblox GUI objects. I hope you find your way out of this and come back a better dev!

2 Likes

The issue occurs when either

  1. the padding you set on the UiListLayout is too large

or

  1. the gui inside of the UiListLayout are inconsistent sizes:

The reason it worked in your video is because you didnt meet either of these 2 conditions. You used the same GUI with small padding.

Automatic canvas size

UIListLayouts work perfectly with automatic canvas size for me. I set my canvas size to 0 and let Roblox do the lifting for me.

Automatic size on elements in list

…what? You know children scale size still works with UIListLayouts and auto-sized canvas, right?

UIPadding

I’m also pretty sure auto-sized canvas take paddings into account.

1 Like

Read this post to figure out how it breaks

Honestly just seems like scaling doesn’t work that well, because I can set the offset padding to 512px and it’s still within the bounds. Though, setting the padding to a scale of 1, the final text is offscreen… but honestly nothing that can’t be fixed with really simple code. (Doesn’t really excuse the odd behavior) Though pretty sure many have gotten all three those things you listed numerous times but you just so happened to implement padding so extreme it kind of broke it? (So figured using Scale on UIListLayout & UIPadding together does this)

Showing how scale is the issue and not offset

scroller:GetPropertyChangedSignal("AbsoluteSize"):Connect(function()
    listLayout.Padding = UDim.new(0, scroller.AbsoluteSize.Y) -- // Or just scale it
end)

Regarding the sizes of the frames inside of the scrolling frame, it’s most likely do to uneven pixel count caused by scaling, pixels between .0 and .999 etc either rounded up or down.

1 Like

this is pretty helpful, but is it possible to use this to make FPS player list?

indeed, sometimes a break is necessary :smile:

1 Like

have you tried anchor points ?
its very usefull yet i see many people neglect it

Here’s a recording of me doing both of them, separately and then together

You have to use scale not offset

1 Like

read what i said in my first reply

Here’s an example:
Let there be 10 TextButtons inside a ScrollingFrame. Let the CanvasSize be automatic. Let the CanvasSize to be originally 0, which means it will match the size of the ScrollingFrame.

  • CanvasSize is initially 200 px
  • TextButton’s size is set to scale=0.5
  • TextButton’s size becomes 100 px
  • There are 10 TextButtons, so the required CanvasSize will be 1000 px excluding padding
  • CanvasSize updates to 1000 px
  • TextButton’s size also updates, now set to 500 px to match the 0.5 scale
  • There are 10 TextButtons, so the required CanvasSize now becomes 5000 px excluding padding
  • Rinse and repeat, this cycle will never stop

So instead of crashing your game because of this endless loop, it will just be hardcapped and stop somewhere, and thus appear to not work.

1 Like

you also cant get positions of frames that are affected by UIGridLayout, and if there is its by some cheesy method with math that i haven’t found out yet (the scale position not the offset, i already know how to get the offset and nobody uses offset because its trash)

congrats on triggering just about every single competent UI designer in the Roblox game development community

1 Like

as of my almost 3 years of development experience on roblox i can confirm i havent used offset while making uis yet, everything is with scale to match all resolutions, so my point remains the same.

It’s more reliable to add your own custom scaling system so it can at least be clamped to a consistent factor so that there’s no blurring/quality issues with rendering fonts, images, outlines, etc. of an irregular size, but ok. Phantom Forces does this and has an ingame command for manually changing the scale of the entire game GUI.

Also, offsets are REQUIRED for any automatic layout/padding UI constraint. That’s just how they work lmao. If you ever used one of those layout stuff, you’ve used offsets.

UIStroke also uses offset; the thickness is measured in pixels, and we all know how much we love using UIStroke.

And, personal opinion, it just looks nicer to have things be of consistent size to begin with. If you design a UI that only uses scale, you have no idea how it will look like on an ultra-wide monitor until it’s too late. The scaling will all be messed up.

1 Like

I feel as this response is insensitive and dismissive. Rather than telling him that he is a “bad developer” you should explain these less well known concepts. I think a custom scale script would work. I think its annoying roblox cant provide a decent enough platform to prevent this.