PluginToolbarButton

Show Deprecated
Not Creatable

A PluginToolbarButton is an object created by the PluginToolbar:CreateButton() function. It allows the user to initiate a single, one-off action in Roblox Studio through the Click event.

When pressed, the Click event fires. A button will also remain in the pressed state, which may be set manually using SetActive. Upon plugin activation (Plugin:Activate()), buttons in all other PluginToolbars will be toggled off. If all buttons in a toolbar are off, the toolbar's plugin is deactivated (Plugin:Deactivate()).

When the game viewport is not visible, buttons will be disabled as if their Enabled property were false. Disabled buttons are desaturated and do not respond to user clicks. By setting ClickableWhenViewportHidden to true, you can allow plugin buttons to remain clickable (such as during script editing).

Summary

Properties

  • Not Replicated
    Read Parallel

    Determines whether the button can be clicked when the game viewport is hidden, such as while editing a script in a different Studio tab.

  • Not Replicated
    Read Parallel

    Determines whether the button is clickable in general.

  • Icon:ContentId
    Not Replicated
    Read Parallel

    Determines what icon should represent the button.

Methods

  • SetActive(active : boolean):()
    Plugin Security

    Sets the state of the plugin button.

Events

  • Plugin Security

    Fires when the user presses and releases their cursor on the button.

Properties

ClickableWhenViewportHidden

Not Replicated
Read Parallel

Enabled

Not Replicated
Read Parallel

Code Samples

BrickColor Randomizer Plugin

assert(plugin, "This script must be run as a plugin")
local Selection = game:GetService("Selection")
local toolbar = plugin:CreateToolbar("Parts")
local pluginToolbarButton = toolbar:CreateButton(
"Randomize Colors",
"Click this button to assign random colors to selected parts",
"rbxassetid://5325741572" -- A rainbow
)
local function onClick()
local selection = Selection:Get()
for _, object in pairs(selection) do
if object:IsA("BasePart") then
object.BrickColor = BrickColor.random()
end
end
end
pluginToolbarButton.Click:Connect(onClick)
local function doesSelectionContainAPart()
local selection = Selection:Get()
for _, object in pairs(selection) do
if object:IsA("BasePart") then
return true
end
end
return false
end
local function onSelectionChanged()
pluginToolbarButton.Enabled = doesSelectionContainAPart()
end
Selection.SelectionChanged:Connect(onSelectionChanged)
onSelectionChanged()

Icon

ContentId
Not Replicated
Read Parallel

Methods

SetActive

()
Plugin Security

Parameters

active: boolean

Returns

()

Events

Click

Plugin Security

Code Samples

PluginToolbarButton.Click

assert(plugin, "This script must be run as a plugin")
local toolbar = plugin:CreateToolbar("Hello World Plugin Toolbar")
local pluginToolbarButton =
toolbar:CreateButton("Print Hello World", "Click this button to print Hello World!", "rbxassetid://133293265")
local function onClick()
print("Hello, world")
end
pluginToolbarButton.Click:Connect(onClick)