Plugin:MakePane()

Plugins are missing a lot of things to integrate into studio. More script control, global hotkeys, and ‘native’ seeming windows are just some of these. I’ll get straight to the point though:

Plugin:MakePane() would return a StudioPane instance. This would be similar to the Explorer and Properties panes.

StudioPane :SetName(string Name)
StudioPane :SetMinSize(Vector2 MinSize)
StudioPane :SetEnabled(boolean Enabled)

StudioPane would function by adding GUI instances as its children. The GUI instances would be clipped to the window. This is a quick and easy solution to making UI for native-seeming interface, and gives plugin writers a familiar interface on which to write their plugin GUIs.

Some stuff that could be made:
  • Custom Explorer/Properties windows with more features
  • Tool menus for custom building tools
  • Animation menus that fit in well
  • Custom script analysis or optimization plugins. Currently it is not possible to use something of this sort in a script, since all plugin menus must be in the game. This would further be helped with a script editor API.
  • ‘Project’ management GUIs, similar to those in most IDEs. Better management of plugins, scripts, and resources.
  • Replacement output window, with custom filters, settings, etc.
  • Mesh editors
  • Test running/creating GUI
  • ‘Admin Commands’ management. Add/remove players easily. Create and remove custom commands. Manage permissions.
  • General permission management.

All of these, to me, seem like excellent features to add to studio, especially if they’re editable by plugin writers, and customizable. By adding a pane API, plugin writers could easily create all of this and fit it into the studio GUI well. I at least, would be a lot more interested in creating plugins, too. Right now it just feels clunky to create plugin GUIs since they feel separate from the rest of the interface, as well as being unorganized. I’d guess many other people would feel more interest as well.

If any plugin updates were to happen, this is the one I’d be looking forward to most.

Ideally everything that appears in studio should be possible to make with a plugin. Then studio improvements could be user-generated and we’d be able to sustain our own development by making the features we need.

I definitely agree on that. ROBLOX does seem to be moving in that direction. They’ve already done that with the client controls, so hopefully studio isn’t too far off.

Add 8 thank yous to OP: