2022 Edit: Nexus Plugin Framework is no longer supported. It will not be fixed if it breaks.
Nexus Plugin Framework is a major project I have been working on for several months with the goal to internally implement common features (like theme support and common objects like checkboxes) without having the developer manually implement them for every plugin. The syntax is similar to using Instance.new
with regular instances as shown by this section of a code example
--Load Nexus Plugin Framework as a ModuleScript contained in the script.
local NexusPluginFramework = require(script:WaitForChild("NexusPluginFramework"))
--The the window.
local WidgetInfo = DockWidgetPluginGuiInfo.new(
Enum.InitialDockState.Float,
true,
false,
200,
200
)
local Window = NexusPluginFramework.new("PluginGui","Test Window",WidgetInfo)
--Create a scrolling frame.
local Background = NexusPluginFramework.new("ScrollingFrame","Qt5")
Background.Size = UDim2.new(1,0,1,0)
Background.CanvasSize = UDim2.new(2,0,2,0)
Background.Parent = Window
...
I already have this deployed in two plugins, my To Do List plugin:
And Nexus Git:
Some major features included:
-
Color3
properties can be set as strings to the color in a Studio theme, like"ScrollBarBackground"
-
ScrollingFrames
can have Qt5-style scroll bars to blend into Roblox mode - Collapsable lists are first-party objects and are easy to make
- Checkboxes are an included object
The next release will include the following changes:
- Change colors being strings to color objects and moving the theme change tracking to them instead of the frames.
- Add dropdown menus
- Add context menus as objects using
NexusPluginFramework.new(...)
- Add built-in confirmation and message windows
Feature requests are accepted for future releases. The next release is planned, but will not be soon since I have other projects to focus on first.