Um plugin é uma extensão que adiciona recursos ou funcionalidades adicionais ao Studio. Você pode instalar plugins feitos pela comunidade na Creator Store, ou pode criar e publicar os seus próprios para a Caixa de Ferramentas para usar em seus jogos.
Se você optar por distribuir seus plugins na Creator Store, pode oferecê-los gratuitamente ou vendê-los por Dólares Americanos. A Roblox oferece uma participação na receita líder de mercado para essas vendas, pois apenas impostos e taxas de processamento de pagamento são deduzidos. Para mais informações sobre como vender plugins, veja Creator Store - Distribuir e vender ativos.
Criar novos plugins
Você pode criar seus próprios plugins para melhorar seu fluxo de trabalho no Studio. O seguinte exemplo de código é um plugin chamado AddEmptyScript que insere um Script vazio como filho de um Instance ou em ServerScriptService. As seções a seguir explicam as principais partes para criar este plugin.
Para começar, você deve habilitar Plugin Debugging Enabled na seção Studio das configurações do Studio. Isso exporá o PluginDebugService no Studio, que fornece depuração em tempo real para o código do seu plugin e facilita o recarregamento e salvamento do seu plugin.
local ServerScriptService = game:GetService("ServerScriptService")
local Selection = game:GetService("Selection")
-- Cria uma nova seção de barra de ferramentas e uma pasta de menu de Plugins intitulada "Custom"
local toolbar = plugin:CreateToolbar("Custom")
-- Adiciona um botão de barra de ferramentas rotulado "Empty Script"
local newScriptButton = toolbar:CreateButton("Empty Script", "Crie um script vazio", "rbxassetid://14978048121")
-- Torna o botão clicável mesmo se a visualização 3D estiver oculta
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)Salvar script do plugin
Para criar um plugin, primeiro crie um Script e salve-o localmente.
Insira um novo Script dentro de ServerStorage e renomeie-o para AddEmptyScript.

Copie e cole o código do Plugin AddEmptyScript acima no novo script.
Com o novo script selecionado na janela Explorer, selecione Salvar como Plugin Local no menu Plugins do Studio.
Na janela pop-up, clique em Salvar para inserir o script do plugin na sua pasta local de Plugins da instalação do Studio.
O plugin deve aparecer no PluginDebugService e começar a ser executado.
- IMPORTANTEExclua o script original em ServerStorage e trabalhe a partir do plugin AddEmptyScript dentro de PluginDebugService, caso contrário, você pode acabar aplicando alterações ao script errado.

Adicionar botão à barra de ferramentas
Para adicionar um botão para o seu plugin na aba Plugins da barra de ferramentas do Studio, use os métodos Plugin:CreateToolbar() e PluginToolbar:CreateButton(). No código para AddEmptyScript, a linha 5 cria uma nova seção na barra de ferramentas e uma pasta de menu de Plugins intitulada Custom, enquanto a linha 8 cria um botão rotulado Empty Script.

Executar código ao clicar
Para fazer o plugin executar código quando um usuário clica no botão da barra de ferramentas, conecte uma função ao evento PluginToolbarButton.Click do botão. No código para AddEmptyScript, a função de conexão é onPluginButtonClicked().
Verificar seleção do usuário
Para modificar o comportamento de um plugin com base no que o usuário selecionou, use o serviço Selection. A função onPluginButtonClicked() verifica se o usuário tem algo selecionado e cria o novo script como seu filho em vez de dentro de ServerScriptService. Se o usuário não tiver nada selecionado, ele cria o novo script em ServerScriptService.

Suporte a desfazer e refazer
Use ChangeHistoryService para permitir que os usuários desfaçam e refaçam alterações feitas por um plugin dentro de um jogo. No seu script, defina o plugin para chamar TryBeginRecording() e armazene o identificador atribuído à chamada da API antes de fazer alterações. Em seguida, defina o plugin para chamar FinishRecording() após fazer alterações, para que capture quaisquer alterações feitas durante a sessão de gravação para desfazer e refazer.
O seguinte exemplo de código cria um plugin de exemplo que pode aplicar o material neon a partes selecionadas. Ele usa ChangeHistoryService para gravar e gerenciar as alterações feitas pelo plugin:
local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
-- Cria um plugin de exemplo
local toolbar = plugin:CreateToolbar("Exemplo de Plugin")
local button = toolbar:CreateButton("Neon it up", "", "")
-- Conecta uma função ao evento de clique
button.Click:Connect(function()
-- Tente iniciar uma gravação com um identificador específico
local recording = ChangeHistoryService:TryBeginRecording("Definir seleção para neon")
-- Verifique se a gravação foi iniciada com sucesso
if not recording then
-- Isso indica que seu plugin começou uma gravação anterior e nunca a completou
-- Você pode ter apenas uma gravação por plugin ativa por vez
return
end
-- Itera através das instâncias selecionadas
for _, instance in Selection:Get() do
-- Verifica se a instância é um BasePart
if instance:IsA("BasePart") then
instance.Material = Enum.Material.Neon -- Define o material da parte como Neon
end
end
-- Finaliza a gravação, comprometendo as alterações na história
ChangeHistoryService:FinishRecording(recording, Enum.FinishRecordingOperation.Commit)
end)Fazer upload de plugins
Depois de terminar de criar um plugin, você pode enviá-lo para o seu inventário para que ele esteja acessível em todos os seus projetos.
Para fazer upload de um plugin:
Na janela Explorer, selecione um script de plugin.
Navegue até o menu Plugins do Studio e, em seguida, selecione Publicar como Plugin.
- OPCIONALNo canto superior esquerdo da janela de configuração do ativo, clique na imagem padrão do quebra-cabeça para fazer upload de uma miniatura de imagem de 512×512 para o seu plugin.
Preencha os seguintes campos:
- Nome — Um título para o seu plugin.
- Descrição — Uma descrição que descreve o que um usuário potencial pode esperar que o plugin faça.
- Criador — O criador ou grupo que você deseja atribuir como o criador do plugin.
Clique no botão Enviar. Seu plugin agora está disponível para você na Caixa de Ferramentas sob as abas Inventário e Criações.
Distribuir e vender plugins
Você pode distribuir publicamente e vender seus próprios plugins na Creator Store para que outros os usem no desenvolvimento de seus próprios jogos. Este método de monetização permite que você ganhe 100% dos lucros líquidos nas transações, contornando taxas de plataforma e taxas de DevEx. Para mais informações sobre esse processo, incluindo como configurar uma conta de vendedor para definir preços e receber pagamentos, veja Creator Store - Distribuir e vender ativos.