Plugin Panels – Integrate Plugin UI with Studio UI

As a Roblox developer, it is currently impossible to make plugins that fit well into Studio’s user interface and fit well with other plugins.

I want to make plugins that fit in with studio’s panels so that they can be out of the way. I want to give my plugins their own tabs alongside Studio’s regular panel tabs.

image

Advantages of integrated panels:

  • Keeps plugin UI out-of-the way when not needed, but easy to access when needed.
  • Keeps plugin UI from interfering with other plugin UI. I can have as many panel plugins as I want – Studio keeps them all separate.
  • Plugin location is user-chosen, rather than plugin-developer-chosen.
  • Can use plugins with a script open

Right now, the closest we can get to that is emulating Studio UI in the game view.

Disadvantages of the current system:

  • UI is in the way, and unlike other Studio panels, I can’t stick it off to the side. It’s always in the game, in my way.
  • It interferes with other plugins. Since there’s no panel manager keeping everything in check, the “panel” is placed with no regard for other plugin UI.
  • I have to write my own controls to move the plugin “panel” around. I didn’t do that because it’s too much work.
  • The plugin UI disappears when I open a script.

I would love to be able to render guis in a panel, or something similar. That would be very useful for plugins and very flexible.

If Roblox is able to address my issue, I would have a better development experience using and making plugins.

20 Likes

Yes please! I’ve had to resort to methods like this:


to match the studio ui design (which could change at any time)

4 Likes

I requested something similar before and received a staff response, but I can’t find it. This would be tremendously useful. The problem is that it’s really difficult to allow dynamically changing Studio’s interface with Lua. Because of this difficulty, it was not planned to be implemented. Maybe they’d look into expending more resources on this if a lot of people want this though.

3 Likes

I can see how the Studio/Lua interface would be difficult. I think the most useful and flexible solution is to render regular GUI objects into a panel, so Lua would not need access to the whole Studio UI. Plugins can register new panels like they can buttons, then they can parent GUI objects to the panel. While not easy, I think this would be easier (and more flexible) than trying to allow Lua access to the whole native studio UI system.

I’ve written up a proposal containing some of those details before, but I’m trying to keep it simple avoid describing implementation this time.

Edit: Couldn’t find anything with a staff reply, but I found an old post by you and another post by me.

This would be very sleek. It would be so nice to be able to use plugins with script windows open.

Did the mock-panel you made (is that your plugin?) get built onto an easily-used framework? Can you drag the panel around like normal panels?
As a stop-gap solution, it might be nice for plugin developers to all integrate with the same panel framework so they don’t step on each others’ screen real-estate.

That is my plugin, but sadly I didn’t build it into a framework. The mock panel doesn’t support dragging around, only resizing.

If I were to make a framework, I’d probably start with that mock panel. It’s already structured to allow adding tabs and switching between tabs while keeping the outer panel contents the same. I might try to put a framework together using it on a weekend.

This might actually be happening soon, though we’ll have to see.


https://github.com/CloneTrooper1019/Roblox-Client-Watch/compare/gametest1.robloxlabs#files_bucket

(Sorry for the necrobump, someone shared this thread with me)

3 Likes

This seems to be enabled. I imagine it might get turned off if there are bugs. If it’s not turned off, then I imagine we’ll see an announcement soon.

Plugin method to make panels