Offset Property For UIStroke

As a Roblox developer, it is currently too hard to create strokes that have a XY offset.
UIStroke does not have an offset property, so currently the applied stroke is applied uniformly with no offset.

Use Cases

Almost all modern games use the stroke offset on text or other graphics to achieve a certain look or art style. For example, the image below from a popular game shows a button with a stroke offset applied to the text.

Notice at the bottom of the text how the stroke is offset in the Y direction by 2 pixels or so to achieve the thicker bottom stroke.

Current Problem

The current workaround is tedious. For example to get the above effect for text, the TextLabel has to be duplicated, then manually offset, then colored to black, and then the z-index needs to be changed. Then, anytime you want to change the text, both the original and duplicate TextLabel and other properties have to be updated.

What It Improves

If Roblox is able to address this issue, it would improve my development experience because I would be able to quickly and easily create strokes with offsets to achieve the look and style that is used in many modern games.


I agree and support this feature, is really tedious to do so currently:

Two text labels and since it needs to change in-game the code has to modify both text labels.


Agreed with this. This is hard to do in my upcoming game, COMBAT! which is gonna be renamed to KUNGFU because other people are trying to yeet the name away.

1 Like