Skip to content
Roblox API Reference

Plugin

The main object responsible for creating custom Studio widgets, toolbars, buttons, and other plugin UI elements.
  • Not creatable
Memory category
Instances
Own members
66
Inherited members
75
Subclasses
0
Siblings
608

Properties31

Inherited fromObject2

Property categoryData

Inherited fromInstance21

Property categoryBehavior

Property categoryData

Property categoryPermissions

Defined byPlugin8

Property categoryBehavior

  • Plugin.UsesAssetInsertionDrag: boolean
    • Hidden
    • Not replicated
    • Roblox script security

Property categoryData

  • Plugin.CollisionEnabled: boolean
    Returns whether the user has enabled Collisions in Studio's toolbar.
    • Read only
  • Plugin.DisableUIDragDetectorDrags: boolean
    If true, toolbars and buttons for the plugin will ignore dragging related to a UIDragDetector instance.
    • Roblox script security
  • Plugin.GridSize: number
    Returns the grid snapping size the user has set in Studio.
    • Read only
  • Plugin.HostDataModelType: Enum.StudioDataModelType
    • Hidden
    • Read only
    • Roblox script security
  • Plugin.HostDataModelTypeIsCurrent: boolean
    • Hidden
    • Read only
    • Roblox script security
  • Plugin.IsDebuggable: boolean
    Indicates whether the plugin's scripts can be debugged in Studio.
    • Roblox script security
  • Plugin.MultipleDocumentInterfaceInstance: MultipleDocumentInterfaceInstance
    • Hidden
    • Read only
    • Roblox script security

Methods92

Inherited fromObject3
  • Get an event that fires when a given property of the object changes.
    Parameters
    ParameterDescription
    property: string
    The property to connect to.
    Returns
    TypeDescription
    RBXScriptSignal
    A signal that fires whenever the property changes.
  • Object:IsA(className: string): boolean
    Returns true if an object's class matches or inherits from a given class.
    • Custom Lua state
    • Thread safe
    Parameters
    ParameterDescription
    className: string
    The class against which the Object's class will be checked. Case-sensitive.
    Returns
    TypeDescription
    boolean
    Describes whether the Object's class matched or is a subclass of the given class.
  • Object:isA(className: string): boolean
    Deprecated: This deprecated function is a variant of Object:IsA() which should be used instead.
    • Deprecated
    • Custom Lua state
    Parameters
    Parameter
    className: string
    Returns
    Type
    boolean

    Use IsA instead.

Inherited fromInstance39
Defined byPlugin50
  • Plugin:Activate(exclusiveMouse: boolean)
    Sets the state of the calling plugin to activated.
    • Plugin security
    Parameters
    ParameterDescription
    exclusiveMouse: boolean
    A boolean specifying whether to activate the plugin with exclusive mouse. If true, a PluginMouse can be retrieved via GetMouse().
  • Plugin:CreateDockWidgetPluginGuiAsync(pluginGuiId: string,dockWidgetPluginGuiInfo: DockWidgetPluginGuiInfo,): DockWidgetPluginGui
    • Yields
    • Plugin security
    Parameters
    ParameterDescription
    pluginGuiId: string
    A unique and consistent identifier used to storing the widget's dock state and other internal details.
    dockWidgetPluginGuiInfo: DockWidgetPluginGuiInfo
    Describes the DockWidgetPluginGui to create (initial state, size, etc).
  • Plugin:CreatePluginAction(actionId: string,text: string,statusTip: string,iconName: string? = "",allowBinding: boolean? = true,): PluginAction
    Creates a PluginAction which represents a generic performable action in Studio with no directly‑associated PluginToolbarButton.
    • Plugin security
    Parameters
    ParameterDescription
    actionId: string
    Must be a unique string that identifies this PluginAction from others.
    text: string
    The displayed name of the action.
    statusTip: string
    The displayed description of the action.
    iconName: string? = ""
    The name of the icon used to display the plugin.
    allowBinding: boolean? = true
    Whether the PluginAction will be hidden from Studio's shortcuts view. Useful for contextual actions. Defaults to true.
    Returns
    Type
    PluginAction
  • Plugin:CreatePluginMenu(id: string,title: string? = "",icon: string? = "",): PluginMenu
    Creates a new plugin menu.
    • Plugin security
    Parameters
    ParameterDescription
    id: string
    Unique ID for the menu.
    title: string? = ""
    The text to be displayed when used as a submenu.
    icon: string? = ""
    The icon to be displayed when used as a submenu.
    Returns
    Type
    PluginMenu
  • Plugin:CreateQWidgetPluginGui(pluginGuiId: string,pluginGuiOptions: { [string]: any },): QWidgetPluginGui
    • Yields
    • Roblox script security
    Parameters
    Parameter
    pluginGuiId: string
    pluginGuiOptions: { [string]: any }
    Returns
    Type
    QWidgetPluginGui
  • Plugin:CreateToolbar(name: string): PluginToolbar
    Creates a new PluginToolbar with the given name.
    • Plugin security
    Parameters
    ParameterDescription
    name: string
    The visible text on the toolbar, labeling the group of buttons contained within.
    Returns
    Type
    PluginToolbar
  • Plugin:Deactivate()
    Deactivates the plugin.
    • Plugin security
  • Plugin:FinishFullLoading(payload: any)
    • Custom Lua state
    • Roblox script security
    Parameters
    Parameter
    payload: any
  • Plugin:GetItem(key: string, defaultValue: any): any
    • Roblox script security
    Parameters
    Parameter
    key: string
    defaultValue: any
    Returns
    Type
    any
  • Plugin:GetJoinMode(): Enum.JointCreationMode
    Returns the JointCreationMode the user has set in Studio's toolbar.
    • Plugin security
  • Plugin:GetMouse(): PluginMouse
    Returns a Mouse that can be used while the plugin is active.
    • Plugin security
    Returns
    Type
    PluginMouse
  • Plugin:GetPluginComponent(name: string): any
    • Custom Lua state
    • Roblox script security
    Parameters
    Parameter
    name: string
    Returns
    Type
    any
  • Plugin:GetPreinitPayload(): any
    • Custom Lua state
    • Roblox script security
    Returns
    Type
    any
  • Plugin:GetSelectedRibbonTool(): Enum.RibbonTool
    Returns the currently selected RibbonTool.
    • Plugin security
    Returns
    Type
    Enum.RibbonTool
  • Plugin:GetSetting(key: string): any
    Retrieves a previously stored value with the given key, or nil if the given key doesn't exist.
    • Plugin security
    Parameters
    ParameterDescription
    key: string
    The string key that was previously passed to SetSetting().
    Returns
    Type
    any
  • Plugin:GetUri(): { [string]: any }
    • Roblox script security
  • Plugin:ImportFbxAnimationAsync(rigModel: Instance,isR15: boolean? = true,): Instance
    Prompts the user to open a .fbx animation file that can be loaded onto the rigModel, then proceeds to insert the animation as a KeyframeSequence in the Workspace.
    • Yields
    • Plugin security
    Parameters
    ParameterDescription
    rigModel: Instance
    The rig model that the imported animation will be applied to.
    isR15: boolean? = true
    Whether the animation file should be interpreted as an R15 rig. Defaults to true.
    Returns
    Type
    Instance
  • Plugin:ImportFbxRigAsync(isR15: boolean? = true): Instance
    Prompts the user to open a .fbx file, uploads the individual components of the model as meshes, and generates a character rig for use in animation, which is loaded into the Workspace.
    • Yields
    • Plugin security
    Parameters
    ParameterDescription
    isR15: boolean? = true
    Whether the rig file should be interpreted as R15. Defaults to true.
    Returns
    Type
    Instance
  • Plugin:Intersect(objects: { Instance }): Instance
    Intersects the given parts and returns the resulting IntersectOperation.
    • Plugin security
    Parameters
    ParameterDescription
    objects: { Instance }
    The array of BaseParts to intersect.
    Returns
    Type
    Instance
  • Plugin:Invoke(key: string, ...: any)
    • Roblox script security
    Parameters
    Parameter
    key: string
    ...: any
  • Plugin:IsActivated(): boolean
    Returns true if this plugin is currently active, after having been activated via the Activate() function.
    • Plugin security
    Returns
    TypeDescription
    boolean
    A boolean indicating whether the plugin is currently active.
  • Plugin:IsActivatedWithExclusiveMouse(): boolean
    Returns true if this plugin is currently active with an exclusive mouse.
    • Plugin security
    Returns
    TypeDescription
    boolean
    Whether this plugin is currently active with an exclusive mouse.
  • Plugin:IsLoadedFromProject(): boolean
    • Roblox script security
    Returns
    Type
    boolean
  • Plugin:Negate(objects: { Instance }): { Instance }
    Negates the given parts and returns the resulting NegateOperations.
    • Plugin security
    Parameters
    ParameterDescription
    objects: { Instance }
    The array of BaseParts to negate.
    Returns
    Type
    { Instance }
  • Plugin:OnInvoke(key: string, callback: (...any) -> ...any): Instance
    • Roblox script security
    Parameters
    Parameter
    key: string
    callback: (...any) -> ...any
    Returns
    Type
    Instance
  • Plugin:OnInvokeSuspendOverride(key: string,callback: (...any) -> ...any,): Instance
    • Roblox script security
    Parameters
    Parameter
    key: string
    callback: (...any) -> ...any
    Returns
    Type
    Instance
  • Plugin:OnSetItem(key: string, callback: (...any) -> ...any): Instance
    • Roblox script security
    Parameters
    Parameter
    key: string
    callback: (...any) -> ...any
    Returns
    Type
    Instance
  • Plugin:OpenWikiPage(url: string)
    Opens the context help window to the wiki page that url links to.
    • Plugin security
    Parameters
    ParameterDescription
    url: string
    The URL of the wiki/documentation page to open.
  • Plugin:PauseSound(sound: Instance)
    • Roblox script security
    Parameters
    Parameter
    sound: Instance
  • Plugin:PlaySound(sound: Instance, normalizedTimePosition: number? = 0)
    • Roblox script security
    Parameters
    Parameter
    sound: Instance
    normalizedTimePosition: number? = 0
  • Plugin:PromptForExistingAssetId(assetType: string): number
    Opens a window in Roblox Studio that prompts the user to select an existing AssetType.Animation asset. The assetType parameter must be Animation; other values are not supported and cause an error.
    • Yields
    • Plugin security
    Parameters
    ParameterDescription
    assetType: string
    The asset type to browse. Only Animation is supported.
    Returns
    Type
    number
  • Plugin:PromptForExistingAssetIdAsync(assetType: string): number
    Opens a window in Roblox Studio that prompts the user to select an existing AssetType.Animation asset. The assetType parameter must be Animation; other values are not supported and cause an error.
    • Yields
    • Plugin security
    Parameters
    ParameterDescription
    assetType: string
    The asset type to browse. Only Animation is supported.
    Returns
    Type
    number
  • Plugin:PromptSaveSelectionAsync(suggestedFileName: string? = ""): boolean
    Prompts the user to save their current selection with the specified file name.
    • Yields
    • Plugin security
    Parameters
    ParameterDescription
    suggestedFileName: string? = ""
    The default file name shown in the save dialog. Defaults to an empty string.
    Returns
    Type
    boolean
  • Plugin:ResumeSound(sound: Instance)
    • Roblox script security
    Parameters
    Parameter
    sound: Instance
  • Plugin:SaveSelectedToRoblox()
    Opens an upload window for the user's current selection.
    • Plugin security
  • Plugin:SelectRibbonTool(tool: Enum.RibbonTool, position: UDim2)
    Activates the specified Roblox Studio tool.
    • Plugin security
    Parameters
    ParameterDescription
    tool: Enum.RibbonTool
    The RibbonTool to activate.
    position: UDim2
    The UDim2 screen position at which to show the tool's dialog window, if applicable.
  • Plugin:Separate(objects: { Instance }): { Instance }
    Separates the given UnionOperations and returns the resulting parts.
    • Plugin security
    Parameters
    ParameterDescription
    objects: { Instance }
    The array of UnionOperations to separate.
    Returns
    Type
    { Instance }
  • Plugin:SetItem(key: string, value: any)
    • Roblox script security
    Parameters
    Parameter
    key: string
    value: any
  • Plugin:SetReady()
    • Roblox script security
  • Plugin:SetSetting(key: string, value: any)
    Stores a given value for later use under the given key. The value will persist even after Studio is closed.
    • Plugin security
    Parameters
    ParameterDescription
    key: string
    The string key to store the value under.
    value: any
    The value to store. Must be JSON-serializable (string, number, boolean, table, or nil).
  • Plugin:StartDecalDrag(decal: Instance)
    • Roblox script security
    Parameters
    Parameter
    decal: Instance
  • Plugin:StartDrag(dragData: { [string]: any })
    Starts a drag action given a dictionary of parameters.
    • Plugin security
    Parameters
    ParameterDescription
    dragData: { [string]: any }
    A dictionary describing the drag, including fields such as Sender, MimeType, Data, MouseIcon, DragIcon, and HotSpot.
  • Plugin:StopAllSounds()
    • Roblox script security
  • Plugin:Union(objects: { Instance }): Instance
    Unions the given parts and returns the resulting UnionOperation.
    • Plugin security
    Parameters
    ParameterDescription
    objects: { Instance }
    The array of BaseParts to union together.
    Returns
    Type
    Instance
  • Plugin:CreateDockWidgetPluginGui(pluginGuiId: string,dockWidgetPluginGuiInfo: DockWidgetPluginGuiInfo,): DockWidgetPluginGui
    Deprecated: This method has been superseded by CreateDockWidgetPluginGuiAsync().
    Creates a DockWidgetPluginGui given a DockWidgetPluginGuiInfo.
    • Deprecated
    • Yields
    • Plugin security
    Parameters
    ParameterDescription
    pluginGuiId: string
    A unique and consistent identifier used to storing the widget's dock state and other internal details.
    dockWidgetPluginGuiInfo: DockWidgetPluginGuiInfo
    Describes the DockWidgetPluginGui to create (initial state, size, etc).

    Use CreateDockWidgetPluginGuiAsync instead.

  • Plugin:GetStudioUserId(): number
    Deprecated:
    Returns the Studio user's userId if they're logged in, otherwise returns 0.
    • Deprecated
    • Plugin security
    Returns
    Type
    number
  • Plugin:ImportFbxAnimation(rigModel: Instance, isR15: boolean? = true): Instance
    Deprecated:
    Prompts the user to open a .fbx animation file that can be loaded onto the rigModel, then proceeds to insert the animation as a KeyframeSequence in the Workspace.
    • Deprecated
    • Yields
    • Plugin security
    Parameters
    ParameterDescription
    rigModel: Instance
    The rig model that the imported animation will be applied to.
    isR15: boolean? = true
    Whether the animation file should be interpreted as an R15 rig. Defaults to true.
    Returns
    Type
    Instance

    Use ImportFbxAnimationAsync instead.

  • Plugin:ImportFbxRig(isR15: boolean? = true): Instance
    Deprecated: This method has been superseded by ImportFbxRigAsync().
    Prompts the user to open a .fbx file, uploads the individual components of the model as meshes, and generates a character rig for use in animation, which is loaded into the Workspace.
    • Deprecated
    • Yields
    • Plugin security
    Parameters
    ParameterDescription
    isR15: boolean? = true
    Whether the rig file should be interpreted as R15. Defaults to true.
    Returns
    Type
    Instance

    Use ImportFbxRigAsync instead.

  • Plugin:OpenScript(script: LuaSourceContainer, lineNumber: number? = 1)
    Deprecated:
    Used to open the given script instance in an editor window, in Roblox studio, at the given line. If no line is given as an argument it will default to 1.
    • Deprecated
    • Plugin security
    Parameters
    ParameterDescription
    script: LuaSourceContainer
    The LuaSourceContainer script instance to open.
    lineNumber: number? = 1
    The line number to navigate to in the editor. Defaults to 1.
  • Plugin:PromptSaveSelection(suggestedFileName: string? = ""): boolean
    Deprecated: This method has been superseded by PromptSaveSelectionAsync().
    Prompts the user to save their current selection with the specified file name.
    • Deprecated
    • Yields
    • Plugin security
    Parameters
    ParameterDescription
    suggestedFileName: string? = ""
    The default file name shown in the save dialog. Defaults to an empty string.
    Returns
    Type
    boolean

    Use PromptSaveSelectionAsync instead.

Events16

Inherited fromObject1
Inherited fromInstance9
Defined byPlugin6

Callbacks2

Defined byPlugin2