dat.GUI - A lightweight graphical user interface and controller library

I made a pull request to your GitHub repository with your project in Rojo format :smiley:

Have a great day!

2 Likes

PR accepted on Github (GitHub - nidorx/roblox-dat-gui: A lightweight graphical user interface and controller library that allows you to easily manipulate variables and fire functions on the fly, inspired by the venerable dat-gui js.), thank you very much @goldenstein64 for the contribution (I wouldn’t know how to convert to a Rojo project), I’m adding some test scripts to facilitate the development.

1 Like

Thanks to @aaron_mccoy for the feedback, I added it on the roadmap, with the conversion to the Rojo project done by @goldenstein64 it will be possible to do a lot of cool things in this project. :smile:

1 Like

Hey! A few questions, are you supposed to assign to a frame, gui object of some sort, and if so how.
If not, then does it create a frame, and is there any way to control the position of it inside the script. Other than that I can see myself using this in the near future, really nice plugin keep it up!

I intend to make it more dynamic, allowing it to be used within other elements for example (and from external information such as height and width, internally manage the behavior [scroll, etc.]).

But I confess that it is not my main focus at the moment (I am focused on a game I am developing).

But an important detail, the source code is available on Github, take a look there, very easy to test with Rojo.

Update v1.1

  • Fixed several bugs
  • Removal of duplicate codes
  • Various code improvements

The code in its current state is ready to receive the expected evolutions, among them:

  • Allow themes
  • Resizing
  • Individual panels
  • Inject in external panels
  • Allow custom controllers
3 Likes

Update v1.2

  • Added support for StringValue, NumberValue, Vector3Value, Color3Value, BoolValue
  • Correction in the removeChild method
  • Added Multiline String
2 Likes

Update v1.2.2

  • Fixed initialization of numbers (Min, Max, Value)

This. Is. Amazing. I just made a gui library right now - and oh my god - yours is so much better.
I kinda regret making the library now.

1 Like

Another thing, why is the module obfuscated? I don’t want some backdoor in my game.

It is minified for ease of use (copying just one file is easier to work with). There is no backdoor, The source code is available on Github, you can generate the minified version itself if you want, or even use it without the minification (you only have to copy more files, as it is modularized).

If you want to work with the original source code, access the repository at GitHub - nidorx/roblox-dat-gui

1 Like

I’m working on some improvements (because I use it to make my tools).

Among the improvements in progress are: Correction of Color and Options (sometimes it is getting stuck), allowing to add custom components, controllers for drawing/plot (Lines, Curves, etc.)

2 Likes

BIG Update v1.2.3

  • Allows custom controllers gui.addCustom (name, {Frame, Color, OnRemove, Height})
    dat_gui_custom
  • Added the controller.help (text) method
    dat_gui_help
  • Added the gui.addLogo (assetId, height) method
    image
  • Allows you to pin folders
    dat_gui_pin
  • Allows to Move (Panels stick when being moved)
    dat_gui_move
  • Allows resizing
    dat_gui_resize
  • Allows you to close
    dat_gui_close
  • Bug fixes in OptionController and ColorController
  • Improved Scroll (works with Drag)
  • Compatibility with touch devices (Mobile, Tablet)
  • Visual and event capture improvements
7 Likes

This looks very cool!
Is this supported on mobile? The example place only works on pc.

Update v1.2.4

  • Improved documentation (https://github.com/nidorx/roblox-dat-gui)
  • Allows to add actions
    • actions
  • API exposure
    DatGUI.Lib = {
       Panel       = Panel, 
       Popover     = Popover,
       Scrollbar   = Scrollbar,
       GUIUtils    = GUIUtils,
       GuiEvents   = GuiEvents,
       Constants   = Constants
    }
    
4 Likes

Works on mobile devices.

2 Likes

is it client side or server side?

Would be a neat addition if action had a setValue method for context of cooldowns!

Hi, can I use this for my plugin, RunLSC? As for attribution, your module will be linked in the credits section and I will put your name on the acknowledgements

When the player dies and respawns, the GUI doesn’t parent to the PlayerGui anymore. Is this intentional? Great module either way.