ScaleSwap | The First Full-Scale Unit Conversion Tool for Modern UI Creation (UIStrokes, ScrollingFrame Support, & More)

ScaleSwapLite

ScaleSwap

Easily and reliably scale your UI for all screen types


RobloxCreatorStore | ScaleSwapLite_Banner


Made as an updated non-widget based alternative to AutoScale that provides Full-Scale unit conversion support for EVERY UI element with ANY unit modifier at the click of a button.

  • Provides all utilities through distinct actions to support shortcuts and custom ribbon tabs
  • Supports unit conversion of GuiObject Frames, UIStrokes, UIPadding, UILayout Padding/CellSize, UICorners, and AspectRatioConstraints to ensure consistent visual presentation for all UI elements across all screen types
  • Fully respects all Unit Modifiers (UIScale, SizeConstraints, UIPadding, and ScrollingFrames/AutomaticCanvasSize) during unit conversion, making conversion reliable in every scenario
  • Correctly supports TextScaled Contextual UIStroke unit conversion with accurate wrapped estimation of AbsoluteTextSize

Easily scale generic UI elements with the ScaleSwap action set:
Icon Name Description
SizeScaleSwap Convert selection size to scale
SizeOffsetSwap Convert selection size to offset
PosScaleSwap Convert selection position to scale
PosOffsetSwap Convert selection position to offset
ConstrainRatio Constrain selection aspect ratio to current dimensions
  1. ScaleSwap Frames

  2. ScaleSwap UIStrokes

  3. ScaleSwap UIPadding (Scaled padding is not recommended in dynamic AutomaticCanvasSize ScrollingFrames until padding inconsistency is resolved)

  4. ScaleSwap UICorners

  5. ScaleSwap UILayout Padding/CellSize (List, Grid, Page, Table)

  6. ScaleSwap Aspect Ratios


Easily integrate these actions into your workflow with shortcuts and custom ribbon tabs

  1. Shortcuts

  2. Custom Ribbon Tabs


RobloxCreatorStore | ScaleSwapLite_Banner


Version 1.1

Thank you for your support!

4 Likes

V1.1


  • Added conversion support for the remaining UDim UI elements:

    • UIPadding (Scaled padding is not recommended in dynamic AutomaticCanvasSize ScrollingFrames until padding inconsistency is resolved)

    • UICorner

    • UILayout Padding/CellSize (List, Grid, Page, Table)


ScaleSwapLite_Banner | ScaleSwap Lite

Released ScaleSwap Lite as a free limited functionality version of ScaleSwap that retains its core generic UI element conversion support without advanced features such as full-scale unit modifier support, and accurate TextScaled contextual UIStroke conversion.

5$ ?
I think you should change the price to 1$ by using other things than creator marketplace

I would list it for lower, but the lowest roblox allows us to sell anything for is 5$, and using external payment methods would introduce a liability that I would rather avoid maintaining.

Rest assured however, that no other unit conversion plugin that currently exists offers nearly the amount of conversion breadth and reliability as this one, and for a good reason.

The logic necessary to provide these features is by no means trivial, especially when accounting for all the unit modifier complexity and behavioral inconsistencies in the UI scaling/positioning pipeline.

1 Like

I created the Lite Version specifically to allow those who are skeptical of the Full Version’s value to come to their own conclusion.

The Lite Version offers the same breadth of conversion support, providing more functionality than any unit conversion plugin that currently exists, without the advanced depth of features such as Unit Modifier support, and accurate TextScaled UIStroke estimation.

Hello, could you add an option to scale every child/descendants of the selected item?

So if I select a Frame it would scale the descendants frames and their strokes/uicorners etc.

thank you

Rather than bloat the existing action set with a settings widget, there’s actually a built-in studio shortcut for this exact purpose:

  • Shift+Click on a collapsed directory to open all descendant sub-directories
  • Shift+Click to select all instances in a given section of the fully expanded directory

You can then simply use ScaleSwap to convert every selected element to Scale or Offset (Unrelated elements are ignored during conversion)

I opted for Explicit Unit Conversion Actions over a simple “Swap Toggle” approach for this exact use case:

  • If your selection contains a mix of units, a swap toggle action simply inverts the mess. If an element was unknowingly set to the wrong unit, it stays “wrong” relative to the rest of the selection after the swap toggle.
  • Explicit unit conversion actions solve this issue, as regardless of the starting state, every selected element is forced into your chosen unit.

Oh nice, I didn’t know about Shift+Click

y’all always complain about prices of plugins when nobody is forcing you to buy them?? somebody took time to make something to make YOUR life easier and you have the audacity to complain? 5 dollars is like 20 minutes of working a minimum wage job??? And you get the plugin forever??? Immediately apologize

(ScaleSwap? Sounds like the name of an Undertale AU to me.)

God am I evil for peacefully giving my opinion on the price..