How do I make a plugin's UI Pop-Out? (Ex. Rojo plugin Interface)

Yahaloo!

I’m playing around with plugins lately, and I came to a problem wherein I would like my UI of my plugin to pop out. Something similar to Rojo’s plugin interface.

Picture of what I want to achieve:


image

Take note that im not trying to make the UI. Rather I am trying to make the UI like an popup or similarly an like the 1st picture above.

I have tried asking different discord servers, they had no idea on how to do it. I have tried searching on the devforum, But I can’t seem to get the right word for it. Help is greatly appreciated as always!

3 Likes

you can create widgets with plugins, you can make a Dock Widget using Plugin:CreateDockWidgetPluginGui (Correct me if this isn’t it, i haven’t made plugins in a while)

5 Likes

Cool, Can I have the UI premade, and just placed on the dock widget or float?

Yes, you can parent your GUIObjects to DockWidgetGUI to make them visible on floating window.

1 Like

I have parented the GUI to the DockWidgetGUi as a test and it seems to be not working. Here’s a snippet of my code.

local MainFrame = script.MainFrame
local DockWidgetInfo = DockWidgetPluginGuiInfo.new(
	Enum.InitialDockState.Float,
	true,
	false,
	200,
	300,
	150,
	150
)


local function PluginButtonActivated()
	print("Welcome to VarScript!")
	local widget = plugin:CreateDockWidgetPluginGui("Test Widget", DockWidgetInfo)
	MainFrame.Parent = widget
	widget.enabled = true
end
	
MainPluginButton.Click:Connect(PluginButtonActivated)

Here’s my explorer:
image

image
It didn’t work and it didn’t display any errors.

I don’t see anything “bad” inside your code. What I don’t see definition of is MainPluginButton, but if the event works (and I see it works in Output), then there is not the problem. When I looked inside my code, I’m duplicating the UI, but I don’t know if it is needed. However, you can try it - change your code at line 1 of your example to:

local MainFrame = script.MainFrame:Clone()

Also sorry for late answer, hope it still help.