UITransparencyModifier Object

Not to be confused with this idea: Add a UITransparency modifier object
Though I would love the above idea, it’s not possible as seen in the thread’s replies. This thread is more a quality of life suggestion, rather than a currently impossible to implement feature


As a Roblox developer, it is currently too hard to work with transparency across multiple nested GUI’s

Currently on Roblox, to change the transparency of a GUI and all of it’s descendants, we have to manually loop through each element and figure out based on its original value what we should set the transparency to. This can be tedious as we have to store ‘original values’ for each element within a GUI and all it’s descendants. This includes background transparencies, along with text transparencies and text stroke transparencies where it applies.

My idea is to have a UI modifier object that can do it for us. How this would work is that the modifier’s parents and all its parent’s descendant GUI objects would be effected by the modifier. The properties effected would be:

  • BackgroundTransparency
  • TextTransparency
  • TextStrokeTransparency
  • Any potential future transparency properties of GUI elements

The way I imagine the equation being is like this: math isn’t my strong point, so there may be a more efficient equation

GuiTransparency + (1 - GuiTransparency)*ModifierValue


Examples In all the examples below, the blue frame is the parent of both orange frames. The text in the frames is in place to tell the transparency of the frames, whereas the text above states what the value of the UITransparencyModifier would be to get the resulting transparency in the frames.
Modifier: 0

image image image image

Modifier: 0.5

image image image image

Modifier: 1

image image image image


If Roblox is able to address my issue, it would improve my development process by making the modification of a whole GUI much easier, and even possibly more efficient

Sometimes GUI’s can have hundreds of GUI descendants, and changing all their properties like this manually involves going way out of your way, or is sometimes unrealistic. This UI modifier would also make GUI fading effects much easier, as it would allow us to just simply use TweenService on the UI modifier to fade our GUI’s.


Feedback

  • I would benefit from this feature
  • I don’t see the benefit of a UITransparencyModifier object

0 voters

24 Likes

Yes! I don’t see how anyone wouldn’t benefit from this.

4 Likes

I just noticed I only included examples of it in use and didn’t include use cases. I’m off my computer now and will edit some in later, but it would be appreciated if anyone posted theirs regardless of whether or not I’ve added my ideas of use cases yet.

I guess that’s a fair compromise from my request that you referenced

2 Likes

I think it’d be pretty cool to be able to ‘lock’ transparencies too, as for example, I don’t often use TextStrokeTransparency, and if I do, it’s usually around 0.7.

Support (:

1 Like

This would be an awesome feature to have. I definitely support it.

1 Like

Mm, it’s annoying having to loop through {Object, unpack(Object:GetDescendants())} then save their default transparencies and think-up that blasted transparency equation!

Lol

3 Likes

Not to mention you gotta make sure the descendants have the properties you’re looking to record before recording them. :stuck_out_tongue:

3 Likes

@woot3 @Arificiality mind letting us know why you think it would not benefit us? Just wondering.

I’ve done a lot of UI work and have never found this to be an issue that I deal with frequently. Writing the code for this doesn’t take very long and once you’ve done it once you don’t need to do it again.

That said, it’s not fair to assume that because I don’t have a problem with it, nobody else does however since the poll is meant to reflect our own opinions I answered accordingly.

As a side-note, I would very much like to see the version proposed by @Crazyman32 implemented regardless.

4 Likes

What about when it adjusts the transparency of properties you don’t want changed? I made a function for this and realized that I don’t always want BorderTransparency to be changed with everything else. A blacklist of properties the object doesn’t change would be insane!

2 Likes

Bumping this post. How haven’t they implemented this yet???

CanvasGroup

Not enabled yet.

1 Like

phew, can’t wait for this to come out!

I dont really see a point in it, you had a good code snip in the topic.

I can see how some people would benefit though, and it could help clean up code.

Applying that to each and every UI element can be an extraordinary amount of work depending on the UI. This served a purpose at the time of creating this thread, since when the idea of making a whole GUI transparent ever came up it would be stated that it couldn’t be done. I made this thread topropose an alternate quality of life improvement, but that was over 4 years ago now. This is suggestion is no longer necessary with the upcoming CanvasGroup object, which is exactly what people wanted which wasn’t possible 4 years ago.

This thread is better off just being locked as CanvasGroup is a better solution than what this thread recommended and is already on the way.

1 Like

It’s now in an open beta after almost 4 years!
CanvasGroup Beta: Group Transparency on UI Groups - Updates / Announcements - DevForum | Roblox

5 Likes