How to stop UIs from stretching but preserve rescaling

Hello! Today I watched a recording I made of me playing Rush Point. One thing I noticed is that the Rush Point menu UI is able to rescale itself, but the objects in the UI will not stretch. For example, let’s say you want a Frame to be located on the bottom right of your screen at all times. However, someone wants to play in a window, or has a bigger display than yours. When they play your game, the Frame ends up stretching itself to a much larger or much smaller deformed size. This won’t look good in your game. I want to know how to stop this from happening. Thanks.

you can set the offset of the GUI objects to 0 to make sure that depending on the screen resolution, the frame does not deteriorate.

if I’m not mistaken there is also a plugin to do that

Assuming you are already using Scale instead of Offset, you can use an AspectRatioConstraint to make the gui not stretch and always keep the same proportions.

Here is a plugin that can do it automatically for you: AutoScale Lite - Roblox

1 Like

Yes, I use Scale. I tried that plugin, and when using the constraint - re-scaling the window on the X axis makes the UI object ends up just move upwards and get smaller, and I don’t want this happening, although it does keep the UI from stretching.

Try using 9-Slice in scaling mode

If you want your UI to be on the bottom of your screen, try setting the anchor point to (0, 1) and position to (0, 0, 1, 0). Of course if you have your X position set to something else dont forget to include it

This kind of works, but the UI does not stay perfectly in the position it should (if there is a gap, the gap may get slightly smaller/bigger when the window is resized).

Where do I find your plugin? Couldn’t find it in Toolbox.

Not sure if there is a way to prevent that unfortunately.

Its not a plugin. Go to properties → Scale Type → Slice
Then go to SliceCenter and edit it accordingly like this: UI 9-Slice Design | Roblox Creator Documentation

What I just found out is that if you use scale; (1, 0, 1, 0) for example, and then add UIScale into the frame, it scales for all devices nicely.



2 Likes

2 years later lol but :speaking_head: :fire: :fire:set the SizeConstraint to “RelativeYY” :fire: :fire: :sob:

2 Likes

use uiaspectratioconstraint