Een plugin is een extensie die extra functies of functionaliteit aan Studio toevoegt. Je kunt community-plugins installeren vanuit de Creator Store, of je kunt je eigen plugins maken en publiceren naar de Toolbox om ze in al je games te gebruiken.
Als je ervoor kiest om je plugins ook te distribueren naar de Creator Store, kun je ze gratis aanbieden of verkopen voor Amerikaanse Dollars. Roblox biedt een marktleidend inkomstenmodel voor deze verkopen, aangezien alleen belastingen en verwerkingskosten voor betalingen worden afgetrokken. Voor meer informatie over het verkopen van plugins, zie Creator Store - Distribueer en verkoop activa.
Nieuwe plugins maken
Je kunt je eigen plugins maken om je workflow in Studio te verbeteren. Het volgende codevoorbeeld is een plugin genaamd AddEmptyScript die een lege Script invoegt als kind van een Instance of in ServerScriptService. De volgende secties leggen de belangrijkste onderdelen uit voor het maken van deze plugin.
Om te beginnen, moet je Plugin Debugging Enabled inschakelen in de Studio sectie van de instellingen van Studio. Dit maakt de PluginDebugService zichtbaar in Studio, wat realtime debugging voor de code van je plugin biedt en het gemakkelijker maakt om je plugin opnieuw te laden en op te slaan.
local ServerScriptService = game:GetService("ServerScriptService")
local Selection = game:GetService("Selection")
-- Maak een nieuwe toolbar sectie en Plugins menu map met de titel "Custom"
local toolbar = plugin:CreateToolbar("Custom")
-- Voeg een toolbar knop toe met het label "Empty Script"
local newScriptButton = toolbar:CreateButton("Empty Script", "Maak een lege script aan", "rbxassetid://14978048121")
-- Maak de knop klikbaar, zelfs als de 3D-weergave verborgen is
newScriptButton.ClickableWhenViewportHidden = true
local function onPluginButtonClicked()
local selectedObjects = Selection:Get()
local parent = selectedObjects[1] or ServerScriptService
local newScript = Instance.new("Script")
newScript.Source = ""
newScript.Parent = parent
end
newScriptButton.Click:Connect(onPluginButtonClicked)Plugin-script opslaan
Om een plugin te maken, maak je eerst een Script en sla je deze lokaal op.
Voeg een nieuwe Script toe in ServerStorage en hernoem deze naar AddEmptyScript.

Kopieer en plak de AddEmptyScript Plugin code hierboven in het nieuwe script.
Met het nieuwe script geselecteerd in het Explorer venster, selecteer Opslaan als Lokale Plugin in het Plugins menu van Studio.
Klik in het pop-upvenster op Opslaan om het plugin-script in je lokale Plugins map van de Studio-installatie in te voegen.
De plugin zou moeten verschijnen in PluginDebugService en beginnen met draaien.
- BELANGRIJKVerwijder het originele script in ServerStorage en werk vanuit de AddEmptyScript plugin binnen PluginDebugService, anders loop je het risico wijzigingen aan het verkeerde script aan te brengen.

Knop aan de werkbalk toevoegen
Om een knop voor je plugin toe te voegen aan het Plugins tabblad van de Studio werkbalk, gebruik je de Plugin:CreateToolbar() en PluginToolbar:CreateButton() methoden. In de code voor AddEmptyScript maakt regel 5 een nieuwe sectie in de werkbalk en Plugins menu map met de titel Custom, terwijl regel 8 een knop met het label Empty Script maakt.

Code uitvoeren bij klikken
Om de plugin code te laten uitvoeren wanneer een gebruiker op de werkbalkknop klikt, verbind je een functie met het PluginToolbarButton.Click evenement van de knop. In de code voor AddEmptyScript is de verbindingsfunctie onPluginButtonClicked().
Controleer de selectie van de gebruiker
Om het gedrag van een plugin aan te passen op basis van wat de gebruiker heeft geselecteerd, gebruik je de Selection service. De functie onPluginButtonClicked() controleert of de gebruiker iets heeft geselecteerd en maakt het nieuwe script als kind daarvan in plaats van binnen ServerScriptService. Als de gebruiker niets heeft geselecteerd, wordt het nieuwe script in ServerScriptService gemaakt.

Ondersteun ongedaan maken en opnieuw doen
Gebruik ChangeHistoryService om gebruikers in staat te stellen wijzigingen die door een plugin binnen een game zijn aangebracht ongedaan te maken en opnieuw te doen. In je script stel je de plugin in om TryBeginRecording() aan te roepen en sla je de identificatie op die aan de API-aanroep is toegewezen voordat je wijzigingen aanbrengt. Stel vervolgens de plugin in om FinishRecording() aan te roepen na het aanbrengen van wijzigingen, zodat het eventuele wijzigingen die tijdens de opname zijn aangebracht voor ongedaan maken en opnieuw doen vastlegt.
Het volgende codevoorbeeld maakt een voorbeeldplugin die het neonmateriaal op geselecteerde onderdelen kan toepassen. Het gebruikt ChangeHistoryService om de wijzigingen die door de plugin zijn aangebracht vast te leggen en te beheren:
local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
-- Maak een voorbeeldplugin
local toolbar = plugin:CreateToolbar("Voorbeeld Plugin")
local button = toolbar:CreateButton("Neon het op", "", "")
-- Verbind een functie met het klik evenement
button.Click:Connect(function()
-- Probeer een opname te beginnen met een specifieke identificatie
local recording = ChangeHistoryService:TryBeginRecording("Stel selectie in op neon")
-- Controleer of de opname succesvol is gestart
if not recording then
-- Dit geeft aan dat je plugin een eerdere opname is begonnen en deze nooit heeft voltooid
-- Je kunt per plugin slechts één opname tegelijk actief hebben
return
end
-- Itereer door de geselecteerde instanties
for _, instance in Selection:Get() do
-- Controleer of de instantie een BasePart is
if instance:IsA("BasePart") then
instance.Material = Enum.Material.Neon -- Stel het materiaal van het onderdeel in op Neon
end
end
-- Voltooi de opname, commit de wijzigingen naar de geschiedenis
ChangeHistoryService:FinishRecording(recording, Enum.FinishRecordingOperation.Commit)
end)Plugins uploaden
Nadat je een plugin hebt gemaakt, kun je deze uploaden naar je inventaris zodat deze toegankelijk is in al je projecten.
Om een plugin te uploaden:
Selecteer in het Explorer venster een plugin-script.
Navigeer naar het Plugins menu van Studio en selecteer Publiceren als Plugin.
- OPTIONEELKlik in de linkerbovenhoek van het venster voor activa-configuratie op de standaard puzzelstukafbeelding om een 512×512 afbeelding miniatuur voor je plugin te uploaden.
Vul de volgende velden in:
- Naam — Een titel voor je plugin.
- Beschrijving — Een beschrijving die beschrijft wat een potentiële gebruiker kan verwachten dat de plugin doet.
- Maker — De maker of groep die je wilt toeschrijven als de maker van de plugin.
Klik op de Indienen knop. Je plugin is nu beschikbaar voor jou in de Toolbox onder de tabbladen Inventaris en Creaties.
Distribueer en verkoop plugins
Je kunt je eigen plugins openbaar distribueren en verkopen in de Creator Store zodat anderen deze kunnen gebruiken binnen hun eigen game-ontwikkeling. Deze monetisatiemethode stelt je in staat om 100% van de netto-opbrengsten van transacties te verdienen, waarbij platformkosten en DevEx-tarieven worden omzeild. Voor meer informatie over dit proces, inclusief hoe je een verkopersaccount kunt instellen om prijzen in te stellen en uitbetalingen te ontvangen, zie Creator Store - Distribueer en verkoop activa.