[OPEN SOURCE] PluginFramework | Create a beautiful GUI for your plug-in


version 2.3 fix

Download PluginFreamwork | Documentation


Play demo:


Introduction

This framework allows you to quickly create an interface for your plug-in. It has a ready-to-use button component and various fields. You don’t need to deal with navigation, animation and code structure.

The design also takes place in the studio itself. You don’t need to export the plugin every time to see how it works.


You can easily add new pages or tabs. The design of the plug-in is in the same style as the studio.

Use my set of components as the basis for the design code:
PluginComponent - Set of components used in this framework



Quick start

Display of all components with example code

Easy creation of ContextMenu

[PluginFramework] Easy creation of ContextMenu - YouTube

Video guide to the plugin. Previous version

Video guide to the plugin. So far only in Russian.
PluginFramework - YouTube



Code from the plugin:

Setting

In the Setting module you configure the name of the plug-in. Icons. And its tabs.

local Setting = {}


--The indication of the plug-in. Must be unique for each plugin, and have the same name as the main folder
Setting.Ind = "MyPlugin";


--Start page that is displayed after the plugin has been started
Setting.PageStart = "Start";


--This allows you to select in which mode the plug-in is displayed. 
Setting.Run ={
    isStudio = true,
    isPlayMode = false,
}


--Window size settings
Setting.Window ={
    widthMin = 140,
    width = 346,
    
}


--What the icon looks like in the toolbar of roblox studios.
Setting.Toolbar = {
    Icon = "rbxassetid://6948627768",
    Name = "Your plugin name",    
    Descr = "Your description in bottom icon",      
};



--Which tabs will be displayed at the top of the plug-in. Each tab should lead to a page. 
Setting.Tabs = {
    Start = {
        Text = "Start",    
        Image = "rbxassetid://994425457",    
    },   

    ExampleTab1 = {
        Text = "Example 1",    
        Image = "rbxassetid://3059131924",    
    },

    ExampleTab2 = {
        Text = "Example 2",    
        Image = "rbxassetid://3059131924",    
    },
       
};


--Do not change this parameter!!!
Setting.DEVELOP_LOCAL_MODE = false; 


return Setting





I would appreciate feedback!

  • I will use if the documentation gets better
  • No. I use Roact.
  • No. I don’t create plugins.
  • No. I have my own freamwork
  • I already use it.
  • I might use it in the future

0 voters

20 Likes

This looks promising. It seems like it has a lot of potential because of the no-export feature and the smooth animations.

2 Likes

Thank you. I’ve been writing a bunch of plugins for a year, and I’ve come up with this packaging. But I don’t think this is the end result.

Perhaps you might try to solicit comments from others.

2 Likes

A new version of the component set has been released. The framework now uses it. The previous versions are not up to date.

The documentation for the framework itself is now available.

That should be spelled as a “plugin”. Otherwise, seems like a good idea to have a framework. I am considering doing a plugin some time in the next few weeks perhaps, so I bookmarked your post.

1 Like

Update! Version 2.3

Change log

-The Modal component has been added. This is a great thing! You drive a message to the plugin screen and block actions in the background of the plugin.
-Added under Modal -Input component. Allows you to display a window with input. You can enter into it objects, text, numbers.
Added under input Object component. Allows the plugin to select an object from Explorer

The most interesting thing about this update is the context menu. In plug-in mode, it creates a menu without the core plugin. But as this is not available in Play mode, it is replaced by ContextMenu.Modal. It’s exactly the same functionality, and supports submenu.

Watch the video to see how easy it is to create a context menu.

It would be great if you could give feedback on what new components you need. Or what difficulties you have encountered in learning or developing.

1 Like

How about custom animation rigs?

You mean the component for loading fbx animations and rigs? Or just a whole plugin.

At the moment just the rigs and FBX. I am working to create a plugin that makes those custom ones; then can load that.

A version has been released with some corrections.

  1. Dropdown did not have Scroll working.

  2. A function has been added to Dropdown, Checkbox:
    .Set()
    There used to be (and it’s still supported):
    .SwichTo()

  3. The Markdown component is also included in this version.
    It allows you to quickly output text from headings and subheadings.

1 Like