UIStrokeAdjuster - Properly scale your UIStrokes!

UPDATE - PERFORMANCE UPGRADE

More accurate calculations of UIStroke sizes for varying aspect ratios using maximum square space.

New configuration called Update_Delay, which updates strokes in BillboardGuis every Update_Delay seconds.

The Auto_Tag feature is now disabled by default.

Developers will now be forced to use these methods by default.
:TagScreenGui(screenGui: ScreenGui)
:TagBillboardGui(billboardGui: BillboardGui)

Stroke sizes update every change in the Camera viewport size.

2 Likes

Thank you for the suggestions, most of this has been implemented in the new update! I appreciate it a lot :slight_smile:

1 Like

Hey!

This module UIStrokeAdjuster looks great, I’ve used it in my game for a little while now. There is no problem with the module, except for the specific problem I’ve faced during usage of the module UIStrokeAdjuster.

The farther the camera is, the less noticeable the TextLabel stroke is. The scaling is pretty consitant (good job!). However, it only gets less noticeable, is it possible for us to manually adjust the thickness at certain camera distance (or done automatically if possible) just like in Pet Simulator 99, all the TextLabel in billboard is scaled relative to the camera distance but also is adjusted depending on how far the camera goes.

Roblox already does this, it’s just that it does too much. I wish to only adjust the thickness at certain distance and not higher.

Regardless, this module UIStrokeAdjuster is pretty good! I’d recommend it for anyone reading here!

/Mub

You mean like a half scaler? do something like half the camera distance variable where the stroke size is set

No, I mean like a fixed thickness scale for certain distance, (look carefully at the billboards in PS99) the scaling stays same when you are moving closer or far but when you move very far, the thickness should be set to fixed bigger one.

Basically, switch from static scaling (staying same no matter where you go) to automatic scaling (based on the certain distance).

For example, if the distance between you and the billboard is like ~3 then the billboard would be set to 5.

If you go far or closer, the scaling would be same anyway but if you go like above ~10, the billboard thickness shouldn’t scale the same and instead would be set to 8 (and will stay that way until you get close enough).

All of these are done in PS99

1 Like

hey, i know that this is pretty old, but it’s not working for me? It does not scale billboardGui’s on my side, and i have done every step. the adornee is set and everything

image

You could rewrite the script yourself. Insert the billboard guis into a table and loop through them every few frames or something, if at those distances then set the thickness of all descendant uistrokes

this is beutiful thank you , :smiling_face_with_tear:

did you require the module and set the tag? I was also trying to get this to work and forgot to do those steps

Hey I just noticed that this only works on studio, is there a fix?

i think so, wdym set the tag?

image

you have to add a tag that is named the same as whats written in the module to your billboard gui

module:
image

billboard gui tag:
image

For me I customized the tag name, so yours will be different

1 Like

I actually love you, thank you so much for making this

1 Like

Crazy how roblox has done nothing about this and instead we need good people like you to help! Thank you

Hey there, I still have a problem wqith the billboard once so can anybody here explain how to set this one?

can anyone please explain how i can add this feature in my game? i am really new to scripting and i don’t know much about roblox lua

drag the uistroke adjuster in starterplayerscripts, make a local script, put it in the local script, and in the local scripts put local UIStrokeAdjuster = require(script.UIStrokeAdjuster) and use tags to tag everything you want to be affected with “ScreenGui”. search up how to tag stuff if you dont know how to do it
image

1 Like

For some reason it doesnt work when the billboard GUI is parented to a meshpart

Works great in studio, however for some reason it doesn’t in the actual game…

Can’t believe I only just discovered this, you’re a god send! No more stinky UI :sob: