GuiBuilder - a gui development plugin

Follow this project on GitHub

Extremely Important Note: The editor ui is broken in this version - I’m currently remaking the editor in Roact (plugin will be updated as soon as this is done - eta ~march 16th)

After becoming very tired of hardcoding gui element inputs in Roblox games, I decided to create a plugin to tie the gui design process and input programming together. The result is GuiBuilder.

What does it do?

GuiBuilder allows for predefined “GuiActions” to be bound to any input event of any gui element. A GuiAction consists of an arbitrary number of parameters (instances, strings, numbers, etc.) as well as a function to be called when the event is fired. GuiActions can easily be added or changed.

Example:

The following frame’s MouseEnter event has been assigned a SetBackgroundColor3 action:


image.jpg724x884 122 KB

When the player’s mouse enters the frame, its color will be set to black.

How do I use it?

Get the plugin here. GuiBuilder will generate a folder called GuiBuilder under ReplicatedStorage which contains a ModuleScript called GuiBuilderClientMain - this module must be required by a LocalScript on the client for the events to be successfully connected. GuiBuilder now requires this module on the client automatically. This behavior can be disabled in the settings menu

GuiBuilder is designed for ease of creation of new types of GuiActions; this can be done by editing the GuiActionInfo module. The idiom for defining new GuiActions is fairly simple and can be found in the README on this project’s GitHub repository. GuiActions necessitating external dependencies can simply require the needed module within its associated function call. A freshly edited GuiActionInfo module can be hot-swapped into a running GuiBuilder instance using the “Refresh GuiActions” button.

The future of GuiBuilder

I will be supporting this plugin for an indefinite period of time, so if it isn’t immediately useful to you now, it may be in the near future

73 Likes

This. Is. So. Amazing.

This is like the dream no-coding UI plugin. This is fantastic, its perfect!! Looking very much forward to using this.

4 Likes

I’m gonna try this out as soon as I get to my laptop!

I think I’ll find this very useful. :slightly_smiling_face:

Finally! I don’t need to hire a UI designer for my new game now! Thank you!

This is certainly worth a try

Great Plugin!

For setting RGB values is it possible to add a colour pallete or colour wheel to make RGB selection easier? Thank you!

1 Like

Hello all GuiBuilders,

The plugin has seen a few small updates in the past few weeks:

  • Addition of a “delayTime” parameter to all GuiActions (excluding Tween actions); Its function is fairly self-explanatory
  • Addition of GuiActions “SetBooleanProperty” and “SetNumberProperty;” also fairly self-explanatory
  • A few changes to the way dependencies are loaded to minimize headaches

Features that are currently undergoing R&D / implementation:

  • Color3 selection menu for GuiActions with R,G,B parameters
  • Developer product / gen. commerce GuiActions

As always, feel free to hit the GuiBuilder GitHub page if you have any question or concerns :slight_smile:

2 Likes

Amazing. Just amazing. Great job. :+1:

For non-scripters what does this do? Explain.

for gui elements to be interact-able, their input events have to be connected to functions. typically, the code for this looks something like the following:

game.Players.LocalPlayer.PlayerGui.SomeScreenGui.SomeGuiObject.SomeEvent:connect(function()
-- do something
end)

without this plugin, this code (or similar) needs to be manually written for every element that needs to be inter-actable. GuiBuilder makes it so you don’t have to do this with code; rather, it can be done using the GuiBuilder interface.

Wow, this is freaking awesome.

6 Likes

Tried installing this plugin several times, it does not create the folder as it says it should and there is not button on the plugins toolbar of Studio.

Whoops! Looks like there was an issue with the studio widgets, should be fixed now :slight_smile:

Just uninstalled and reinstalled, still no folders or widgets

You installed from here? As far as I can tell it’s working

Indeed I have!

even restarted studio several time :slight_smile:

I’m having an issue with the plugin.

The plugin looks like this for me:

My Explorer window looks like this:

My issue with the plugin is that whenever I click any of the top buttons (Ex. MouseButtonUp, Activated, etc.) on the plugin I get these errors:

Error

Things I’ve tried in order to solve this:

  • Restarted Roblox Studio (x2)

When I use it, the gui’s get broken if the player gets killed, resets, or anything to that affect. I’d love to use it for a game but its hard to be able to use it when it breaks so easily.

Would this still be viable to use today? Coding gui manually is tedious, and this would be amazing.