RoUI - Creating UI effects has never been easier

Whenever I’m scripting a UI I feel like doing certain things gets extremely repetitive. Let’s say I just want to create an effect when a button is hovered over. Once again if I have a lot of buttons I have to put more work in than should be required to create this hover effect on all the buttons. I created RoUI to solve all these problems.

What is RoUI?

A UI library for ROBLOX that intends on simplifying the UI scripting process. RoUI is an extremely powerful tool for creating UI effects and manipulating UI. Users are given vast control over their UI elements and RoUI provides them with the flexibility to quickly create beautiful UI effects.

Examples

Example 1
The above example was created in nearly 20 lines of code including variables for the various UI elements.

Example 2
This radial grow example was created in 1 line of code using one of RoUI’s built-in effects. Here’s the code for it that is instantly applied to an infinite number of buttons:
image

Example Code

To show the simplicity of RoUI here’s some example code to create an effect that will slide a GuiObject instance just out of view below the screen that is then applied to a frame:

GitHub

Documentation can be found on the project’s GitHub:

Download

You can download the RoUI module here:

66 Likes

Wow, these UI Effects! I LOVE IT I LOVE I LOVE IT1

6 Likes

Will this be updated from time to time?

2 Likes

Hey so I was experiencing with your module trying to make sort of a notification but the GrowShrink effect doesn’t really perform as expected. Anyways still a good module!

2 Likes

Yes I plan on adding more built-in effects as well as continuing to add more features.

1 Like

I think the name throws what the effect does a bit off. It’ll only grow an object slightly and then shrink it down until its invisible. You’re probably trying to grow a UI from nothing then shrink it after a certain period of time right?

1 Like

This is going to be so useful for my game. Thanks. :clap: Oh, and what other features are you going to add?

2 Likes

I plan on implementing a way to quickly tween transparency for UI objects so you don’t have to create your own tweens for it. Probably something along these lines:

RoUIObject:TweenTransparency(number finalTransparency, number speed)

Also a way to quickly tween between colors. Basically I just want to keep implementing helper methods to just make scripting UIs easier.

1 Like

As a UI Designer, I’ve tried out this module and it’s functions to come to a conclusion on how good this module is.

My rating:

9/10

Why a 9? Let me explain.

RoUI may still be a developing module but with the features it currently has, it makes developing UI much easier. Such tweens are messy to make within code, and overall hard to perfect on the first try. RoUI makes it much easier to perform such tasks, and that’s what I like about it. However instead of rating it a 10, I’d have to rate it a 9 as it’s still an indev module, but nonetheless it manages to get the job done!

I hope to see this grow and add more features, so that developers can use this in their own workflow!

2 Likes

Thanks I really appreciate this the goal is to have a final product that will make the UI scripting workflow as simple and clean as possible.

1 Like

roUI i needed to make a tweening gui like this, its so neat i will get it!!!

2 Likes

Update [v1.3] 2021-03-30

I’ve added 4 new effects as well as some other helper methods I discussed earlier in the comments to the original post.

This will probably be the last update for some time as I would actually like to expand the flexibility of playing effects and creating them. I would also like to include a bulk of new built-in effects in the next update. You might notice that built-in effects now have a settings table and I would like that to be standard with all effects including user-created ones.

3 Likes

No so basically I have a button in my gui that when clicked it should GrowShrink the gui, here’s a gif about the situation. And the actual problem is that it doesn’t GrowShrink in the center of the gui.


https://gyazo.com/881fa9c074495b3af5210e4d0bfc31ba

3 Likes

Set the AnchorPoint property of the frame or whatever the background is that you’re using GrowShrink on to be (0.5, 0.5) like so:
image
You’ll have to reposition it to be in the correct place but the effect should work fine now. That way the effect gets applied on all sides. It’s just the way Roblox works unfortunately. When I made the effect I thought this might be an issue but I can’t forcibly apply that new AnchorPoint without breaking user’s UIs which I obviously don’t want to do.

2 Likes

The radial glow effect is by far the best thing I’ve ever seen in my life. Amazing work, you don’t know how much it means to developers who don’t have the time or knowledge to script these things themselves.

Your work is amazing.

2 Likes

Will this kind of thing turn into a plugin later on? Would be cool if so

2 Likes

Could you open-source the file as a game?

1 Like

There’s a file download if that’s what you’re looking for but I don’t currently have a place set up with the module.

1 Like

I’ve actually been thinking about this as I would love to make a 2D Animator Plugin to easily create 2D UI Effects but it’s a fairly large project and it would take some time.

3 Likes