Ein Plugin ist eine Erweiterung, die Studio zusätzliche Funktionen oder Funktionalitäten hinzufügt. Sie können Community-Plugins aus dem Creator Store installieren oder Ihre eigenen erstellen und veröffentlichen, um sie im Toolbox in Ihren Erlebnissen zu verwenden.
Wenn Sie sich entscheiden, Ihre Plugins auch im Creator Store zu vertreiben, können Sie sie entweder kostenlos anbieten oder für US-Dollar verkaufen. Roblox bietet einen marktführenden Umsatzanteil für diese Verkäufe, da nur Steuern und Zahlungsabwicklungsgebühren abgezogen werden. Informationen zum Verkauf von Plugins finden Sie unter Creator Store - Vermarkten und verkaufen von Assets.
Neue Plugins erstellen
Sie können Ihre eigenen Plugins erstellen, um Ihren Workflow in Studio zu verbessern. Das folgende Codebeispiel ist ein Plugin namens AddEmptyScript, das ein leeres Script als Kind eines Instance oder in ServerScriptService einfügt. Die folgenden Abschnitte erklären die wichtigsten Teile zur Erstellung dieses Plugins.
Um zu beginnen, sollten Sie Plugin-Debugging aktiviert im Abschnitt Studio der Studio-Einstellungen aktivieren. Dies wird den PluginDebugService in Studio freigeben, der Echtzeit-Debugging für den Code Ihres Plugins bereitstellt und es einfacher macht, Ihr Plugin neu zu laden und zu speichern.
AddEmptyScript Plugin
local ServerScriptService = game:GetService("ServerScriptService")
local Selection = game:GetService("Selection")
-- Erstelle einen neuen Toolbar-Bereich und einen Plugins-Ordner mit dem Titel "Custom"
local toolbar = plugin:CreateToolbar("Custom")
-- Fügen Sie eine Toolbar-Schaltfläche mit der Bezeichnung "Leeres Skript" hinzu
local newScriptButton = toolbar:CreateButton("Leeres Skript", "Erstelle ein leeres Skript", "rbxassetid://14978048121")
-- Schaltfläche auch anklickbar machen, wenn die 3D-Ansicht ausgeblendet ist
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-Skript speichern
Um ein Plugin zu erstellen, erstellen Sie zunächst ein Script und speichern es lokal.
Fügen Sie ein neues Script in ServerStorage ein und benennen Sie es in AddEmptyScript um.

Kopieren Sie den oben stehenden AddEmptyScript Plugin-Code in das neue Skript.
Wählen Sie das neue Skript im Fenster Explorer aus und wählen Sie Als lokales Plugin speichern im Menü Plugins von Studio.
Klicken Sie im Popup-Fenster auf Speichern, um das Plugin-Skript in Ihren lokalen Plugins-Ordner der Studio-Installation einzufügen.
Das Plugin sollte im PluginDebugService erscheinen und zu laufen beginnen.
- WICHTIGLöschen Sie das Originalskript in ServerStorage und arbeiten Sie von dem AddEmptyScript-Plugin im PluginDebugService aus, da Sie sonst möglicherweise Änderungen am falschen Skript vornehmen.

Schaltfläche zur Symbolleiste hinzufügen
Um eine Schaltfläche für Ihr Plugin in der Registerkarte Plugins der Studio-Symbolleiste hinzuzufügen, verwenden Sie die Methoden Plugin:CreateToolbar() und PluginToolbar:CreateButton(). Im Code für AddEmptyScript erstellt Zeile 5 einen neuen Abschnitt in der Symbolleiste und den Plugins-Ordner mit dem Titel Custom, während Zeile 8 eine Schaltfläche mit der Bezeichnung Leeres Skript erstellt.

Code beim Klicken ausführen
Um das Plugin dazu zu bringen, Code auszuführen, wenn ein Benutzer auf die Schaltfläche in der Symbolleiste klickt, verbinden Sie eine Funktion mit dem PluginToolbarButton.Click-Ereignis. Im Code für AddEmptyScript ist die Verbindungsfunktion onPluginButtonClicked().
Benutzerauswahl überprüfen
Um das Verhalten eines Plugins basierend auf der Auswahl des Benutzers zu ändern, verwenden Sie den Dienst Selection. Die Funktion onPluginButtonClicked() überprüft, ob der Benutzer etwas ausgewählt hat, und erstellt das neue Skript als dessen Kind, anstatt es in ServerScriptService zu erstellen. Wenn der Benutzer nichts ausgewählt hat, wird das neue Skript in ServerScriptService erstellt.

Rückgängig und Wiederherstellen unterstützen
Verwenden Sie den ChangeHistoryService, um den Benutzern zu ermöglichen, Änderungen, die von einem Plugin innerhalb eines Erlebnisses vorgenommen wurden, rückgängig zu machen und wiederherzustellen. In Ihrem Skript setzen Sie das Plugin so, dass es ChangeHistoryService:TryBeginRecording() aufruft und die Kennung speichert, die dem API-Aufruf zugewiesen wurde, bevor Änderungen vorgenommen werden. Rufen Sie dann ChangeHistoryService:FinishRecording() auf, nachdem Änderungen vorgenommen wurden, damit alle während der Aufnahmesitzung vorgenommenen Änderungen für das Rückgängigmachen und Wiederherstellen erfasst werden.
Das folgende Codebeispiel erstellt ein Beispiel-Plugin, das das Neonmaterial auf ausgewählte Teile anwenden kann. Es verwendet ChangeHistoryService, um die Änderungen, die das Plugin vornimmt, aufzuzeichnen und zu verwalten:
Beispielmaterial-Plugin mit Aufzeichnungen für Rückgängig und Wiederherstellen
local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
-- Erstelle ein Beispiel-Plugin
local toolbar = plugin:CreateToolbar("Beispiel-Plugin")
local button = toolbar:CreateButton("Neon aktivieren", "", "")
-- Verbinde eine Funktion mit dem Klickereignis
button.Click:Connect(function()
-- Versuchen Sie, eine Aufnahme mit einer bestimmten Kennung zu beginnen
local recording = ChangeHistoryService:TryBeginRecording("Auswahl auf Neon setzen")
-- Überprüfen Sie, ob die Aufnahme erfolgreich initiiert wurde
if not recording then
-- Dies deutet darauf hin, dass Ihr Plugin eine vorherige Aufnahme begonnen hat und diese nie abgeschlossen wurde
-- Per Plugin kann nur eine Aufnahme aktiv sein
return
end
-- Iterieren Sie durch die ausgewählten Instanzen
for _, instance in Selection:Get() do
-- Überprüfen Sie, ob die Instanz eine BasePart ist
if instance:IsA("BasePart") then
instance.Material = Enum.Material.Neon -- Setzen Sie das Material des Teils auf Neon
end
end
-- Beenden Sie die Aufnahme und committen Sie die Änderungen zur Historie
ChangeHistoryService:FinishRecording(recording, Enum.FinishRecordingOperation.Commit)
end)
Plugins hochladen
Nachdem Sie die Erstellung eines Plugins abgeschlossen haben, können Sie es in Ihr Inventar hochladen, sodass es in allen Ihren Projekten zugänglich ist.
Um ein Plugin hochzuladen:
Wählen Sie im Fenster Explorer ein Plugin-Skript aus.
Navigieren Sie zum Menü Plugins von Studio und wählen Sie Als Plugin veröffentlichen.
- OPTIONALKlicken Sie in der oberen linken Ecke des Fensters zur Asset-Konfiguration auf das Standard-Puzzlebilder-Symbol, um ein Thumbnail-Bild von 512×512 für Ihr Plugin hochzuladen.
Füllen Sie die folgenden Felder aus:
- Name - Ein Titel für Ihr Plugin.
- Beschreibung - Eine Beschreibung, was ein potenzieller Benutzer vom Plugin erwarten kann.
- Ersteller - Der Ersteller oder die Gruppe, die Sie als Ersteller des Plugins angeben möchten.
Klicken Sie auf die Schaltfläche Einreichen. Ihr Plugin ist nun im Toolbox unter den Registerkarten Inventar und Kreationen für Sie verfügbar.
Plugins verteilen und verkaufen
Sie können Ihre eigenen Plugins öffentlich im Creator Store vertreiben und verkaufen, damit andere sie in ihrer eigenen Spieleentwicklung verwenden können. Diese Monetarisierungsmethode ermöglicht es Ihnen, 100 % der Nettoproxen aus den Transaktionen zu verdienen, und umgeht Plattformgebühren und DevEx-Raten. Weitere Informationen zu diesem Prozess, einschließlich Informationen zur Einrichtung eines Verkäuferkontos, um Preise festzulegen und Auszahlungen zu erhalten, finden Sie unter Creator Store - Anforderungen.