Currently, as a developer, there is not way of creating floating and non-resizable plugin widgets, this greatly limits what can and cannot be created.
I suggest creating a new type of widget that is just a GuiObject that can be rendered outside the bounds of CoreGui, allowing the plugins creator to have full control over what the widget looks and functions like.
This is basically a CoreGui for plugins, working in the same way just covering the entire studio window.
Examples of what could be created with these widgets:
- Custom right click menus with search functionality
- Plugin windows similar to the
MaterialPicker - Putting UI next to the mouse, like when you drag an object in explorer
- Custom made plugin widgets, instead of just the default look
Of course this may cause security concerns, such as a widget blocking the entire screen. To avoid this, I suggest adding a universal way of closing any of these widgets (such as a key bind or a hidden button), but this should not be a huge concern (since plugins can already crash studio anyway).
Extra
Currently widgets have incorrect and outdated documentation, such as CreateDockWidgetPluginGui being referenced multiple times on the widget page of the docs and properties that no longer work not being listed as deprecated, this would be an great time to give widgets a refresh.
This post expands on this feature request: Allow plugins to utilise some or all functionality of QWidgetPluginGuis, by @metatablecatmaid