Un plugin è un'estensione che aggiunge funzionalità o caratteristiche aggiuntive a Studio. Puoi installare plugin creati dalla comunità dallo Store Creatore, oppure puoi creare e pubblicare i tuoi per il Toolbox da utilizzare nelle tue esperienze.
Se scegli di distribuire anche i tuoi plugin allo Store Creatore, puoi offrirli gratuitamente o venderli per Dollari Statunitensi. Roblox offre una condivisione dei ricavi leader di mercato per queste vendite, poiché vengono detratti solo le tasse e le spese di elaborazione dei pagamenti. Per ulteriori informazioni sulla vendita di plugin, vedi Store Creatore - Distribuire e vendere risorse.
Crea nuovi plugin
Puoi creare i tuoi plugin per migliorare il tuo flusso di lavoro in Studio. Il seguente esempio di codice è un plugin chiamato AddEmptyScript che inserisce uno Script vuoto come figlio di un Instance o in ServerScriptService. Le seguenti sezioni spiegano le parti principali per creare questo plugin.
Per iniziare, dovresti abilitare Plugin Debugging Enabled nella sezione Studio delle impostazioni di Studio. Questo esporrà il PluginDebugService in Studio, che fornisce debugging in tempo reale per il codice del tuo plugin e facilita il ricaricamento e il salvataggio del tuo plugin.
Plugin AddEmptyScript
local ServerScriptService = game:GetService("ServerScriptService")
local Selection = game:GetService("Selection")
-- Crea una nuova sezione nella barra degli strumenti e una cartella nel menu Plugin intitolata "Custom"
local toolbar = plugin:CreateToolbar("Custom")
-- Aggiungi un pulsante della barra degli strumenti etichettato "Empty Script"
local newScriptButton = toolbar:CreateButton("Empty Script", "Crea uno script vuoto", "rbxassetid://14978048121")
-- Rendi il pulsante cliccabile anche se la vista 3D è nascosta
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)
Salva lo script del plugin
Per creare un plugin, prima crea uno Script e salvalo localmente.
Inserisci un nuovo Script all'interno di ServerStorage e rinominalo in AddEmptyScript.

Copia e incolla il codice del Plugin AddEmptyScript sopra nel nuovo script.
Con il nuovo script selezionato nella finestra Explorer, seleziona Salva come Plugin Locale dal menu Plugin di Studio.
Nella finestra popup, clicca su Salva per inserire lo script del plugin nella tua cartella Plugin locale dell'installazione di Studio.
Il plugin dovrebbe apparire nel PluginDebugService e iniziare a funzionare.
- IMPORTANTEElimina lo script originale in ServerStorage e lavora dal plugin AddEmptyScript all'interno di PluginDebugService, altrimenti potresti finire per applicare modifiche allo script sbagliato.

Aggiungi pulsante alla barra degli strumenti
Per aggiungere un pulsante per il tuo plugin alla scheda Plugin della barra degli strumenti di Studio, utilizza i metodi Plugin:CreateToolbar() e PluginToolbar:CreateButton(). Nel codice per AddEmptyScript, la riga 5 crea una nuova sezione nella barra degli strumenti e una cartella nel menu Plugin intitolata Custom, mentre la riga 8 crea un pulsante etichettato Empty Script.

Esegui codice al clic
Per far eseguire codice dal plugin quando un utente clicca sul pulsante della barra degli strumenti, collega una funzione all'evento PluginToolbarButton.Click del pulsante. Nel codice per AddEmptyScript, la funzione collegata è onPluginButtonClicked().
Controlla la selezione dell'utente
Per modificare il comportamento di un plugin in base a cosa l'utente ha selezionato, utilizza il servizio Selection. La funzione onPluginButtonClicked() controlla se l'utente ha qualcosa di selezionato e crea il nuovo script come suo figlio invece che all'interno di ServerScriptService. Se l'utente non ha nulla di selezionato, crea il nuovo script in ServerScriptService.

Supporta annullamento e ripetizione
Utilizza ChangeHistoryService per consentire agli utenti di annullare e ripetere le modifiche apportate da un plugin all'interno di un'esperienza. Nel tuo script, setta il plugin per chiamare TryBeginRecording() e memorizza l'identificatore assegnato alla chiamata API prima di apportare modifiche. Quindi setta il plugin per chiamare FinishRecording() dopo aver apportato modifiche, in modo che catturi eventuali modifiche apportate durante la sessione di registrazione per annullamento e ripetizione.
Il seguente esempio di codice crea un plugin di esempio che può applicare il materiale neon alle parti selezionate. Utilizza ChangeHistoryService per registrare e gestire le modifiche apportate dal plugin:
Plugin di esempio Materiale con registrazioni per annullamento e ripetizione
local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
-- Crea un plugin di esempio
local toolbar = plugin:CreateToolbar("Plugin di esempio")
local button = toolbar:CreateButton("Neon it up", "", "")
-- Collega una funzione all'evento di clic
button.Click:Connect(function()
-- Prova a iniziare una registrazione con un identificatore specifico
local recording = ChangeHistoryService:TryBeginRecording("Imposta selezione su neon")
-- Controlla se la registrazione è stata avviata con successo
if not recording then
-- Questo indica che il tuo plugin ha iniziato una registrazione precedente e non l'ha mai completata
-- Puoi avere solo una registrazione per plugin attiva alla volta
return
end
-- Itera attraverso le istanze selezionate
for _, instance in Selection:Get() do
-- Controlla se l'istanza è un BasePart
if instance:IsA("BasePart") then
instance.Material = Enum.Material.Neon -- Imposta il materiale della parte su Neon
end
end
-- Termina la registrazione, impegnando le modifiche nella cronologia
ChangeHistoryService:FinishRecording(recording, Enum.FinishRecordingOperation.Commit)
end)
Carica plugin
Dopo aver terminato di creare un plugin, puoi caricarlo nel tuo inventario in modo che sia accessibile in tutti i tuoi progetti.
Per caricare un plugin:
Nella finestra Explorer, seleziona uno script plugin.
Naviga nel menu Plugin di Studio, quindi seleziona Pubblica come Plugin.
- OPZIONALENell'angolo in alto a sinistra della finestra di configurazione delle risorse, fai clic sull'immagine predefinita del pezzo di puzzle per caricare una miniatura dell'immagine 512×512 per il tuo plugin.
Compila i seguenti campi:
- Nome — Un titolo per il tuo plugin.
- Descrizione — Una descrizione che descriva cosa un potenziale utente può aspettarsi che faccia il plugin.
- Creatore — Il creatore o il gruppo che desideri attribuire come creatore del plugin.
Fai clic sul pulsante Invia. Il tuo plugin è ora disponibile per te nel Toolbox sotto le schede Inventario e Creazioni.
Distribuisci e vendi plugin
Puoi distribuire pubblicamente e vendere i tuoi plugin nello Store Creatore per altri da usare nel loro sviluppo di giochi. Questo metodo di monetizzazione ti consente di guadagnare il 100% dei proventi netti delle transazioni, bypassando le tasse della piattaforma e i tassi DevEx. Per ulteriori informazioni su questo processo, inclusa la configurazione di un account venditore per impostare prezzi e ricevere pagamenti, vedi Store Creatore - Requisiti.