Sebuah plugin adalah ekstensi yang menambahkan fitur atau fungsionalitas tambahan ke Studio. Anda dapat menginstal plugin yang dibuat oleh komunitas dari Creator Store, atau Anda dapat membuat dan menerbitkan milik Anda sendiri ke Toolbox untuk digunakan di seluruh permainan Anda.
Jika Anda memilih untuk juga mendistribusikan plugin Anda ke Creator Store, Anda dapat menawarkan mereka secara gratis atau menjualnya dengan Dolar Amerika Serikat. Roblox menawarkan pembagian pendapatan terkemuka di pasar untuk penjualan ini, karena hanya pajak dan biaya pemrosesan pembayaran yang dipotong. Untuk informasi lebih lanjut tentang menjual plugin, lihat Creator Store - Distribusikan dan jual aset.
Buat plugin baru
Anda dapat membuat plugin Anda sendiri untuk meningkatkan alur kerja Anda di Studio. Contoh kode berikut adalah plugin yang disebut AddEmptyScript yang menyisipkan Script kosong sebagai anak dari Instance atau di ServerScriptService. Bagian berikut menjelaskan bagian utama untuk membuat plugin ini.
Untuk memulai, Anda harus mengaktifkan Plugin Debugging Enabled di bagian Studio dari pengaturan Studio. Ini akan mengekspos PluginDebugService di Studio yang menyediakan debugging waktu nyata untuk kode plugin Anda dan memudahkan untuk memuat ulang dan menyimpan plugin Anda.
local ServerScriptService = game:GetService("ServerScriptService")
local Selection = game:GetService("Selection")
-- Buat bagian toolbar baru dan folder menu Plugins berjudul "Custom"
local toolbar = plugin:CreateToolbar("Custom")
-- Tambahkan tombol toolbar yang diberi label "Empty Script"
local newScriptButton = toolbar:CreateButton("Empty Script", "Buat skrip kosong", "rbxassetid://14978048121")
-- Buat tombol dapat diklik meskipun viewport 3D disembunyikan
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)Simpan skrip plugin
Untuk membuat plugin, pertama buat Script dan simpan secara lokal.
Sisipkan Script baru di dalam ServerStorage dan ganti namanya menjadi AddEmptyScript.

Salin dan tempel kode Plugin AddEmptyScript di atas ke dalam skrip baru.
Dengan skrip baru yang dipilih di jendela Explorer, pilih Simpan sebagai Plugin Lokal dari menu Plugins Studio.
Di jendela popup, klik Simpan untuk menyisipkan skrip plugin ke dalam folder Plugins lokal dari instalasi Studio Anda.
Plugin harus muncul di PluginDebugService dan mulai berjalan.
- PENTINGHapus skrip asli di ServerStorage dan bekerja dari plugin AddEmptyScript di dalam PluginDebugService, jika tidak, Anda mungkin akan menerapkan perubahan pada skrip yang salah.

Tambahkan tombol toolbar
Untuk menambahkan tombol untuk plugin Anda ke tab Plugins di toolbar Studio, gunakan metode Plugin:CreateToolbar() dan PluginToolbar:CreateButton(). Dalam kode untuk AddEmptyScript, baris 5 membuat bagian baru di toolbar dan folder menu Plugins berjudul Custom, sementara baris 8 membuat tombol yang diberi label Empty Script.

Eksekusi kode saat diklik
Untuk membuat plugin mengeksekusi kode saat pengguna mengklik tombol toolbar, hubungkan fungsi ke acara PluginToolbarButton.Click tombol. Dalam kode untuk AddEmptyScript, fungsi yang menghubungkan adalah onPluginButtonClicked().
Periksa pilihan pengguna
Untuk memodifikasi perilaku plugin berdasarkan apa yang dipilih pengguna, gunakan layanan Selection. Fungsi onPluginButtonClicked() memeriksa apakah pengguna memiliki sesuatu yang dipilih dan membuat skrip baru sebagai anaknya alih-alih di dalam ServerScriptService. Jika pengguna tidak memiliki apa pun yang dipilih, itu membuat skrip baru di ServerScriptService.

Dukung undo dan redo
Gunakan ChangeHistoryService untuk memungkinkan pengguna membatalkan dan mengulangi perubahan yang dibuat oleh plugin dalam sebuah permainan. Dalam skrip Anda, atur plugin untuk memanggil TryBeginRecording() dan simpan pengidentifikasi yang ditetapkan untuk panggilan API sebelum melakukan perubahan. Kemudian atur plugin untuk memanggil FinishRecording() setelah melakukan perubahan, sehingga menangkap setiap perubahan yang dibuat selama sesi perekaman untuk dibatalkan dan diulang.
Contoh kode berikut membuat plugin contoh yang dapat menerapkan material neon ke bagian yang dipilih. Ini menggunakan ChangeHistoryService untuk merekam dan mengelola perubahan yang dibuat oleh plugin:
local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
-- Buat plugin contoh
local toolbar = plugin:CreateToolbar("Plugin Contoh")
local button = toolbar:CreateButton("Neon it up", "", "")
-- Hubungkan fungsi ke acara klik
button.Click:Connect(function()
-- Coba untuk memulai perekaman dengan pengidentifikasi tertentu
local recording = ChangeHistoryService:TryBeginRecording("Set selection to neon")
-- Periksa apakah perekaman berhasil dimulai
if not recording then
-- Ini menunjukkan bahwa plugin Anda memulai perekaman sebelumnya dan tidak pernah menyelesaikannya
-- Anda hanya dapat memiliki satu perekaman per plugin aktif pada satu waktu
return
end
-- Iterasi melalui instance yang dipilih
for _, instance in Selection:Get() do
-- Periksa apakah instance adalah BasePart
if instance:IsA("BasePart") then
instance.Material = Enum.Material.Neon -- Atur material bagian menjadi Neon
end
end
-- Selesaikan perekaman, mengkomit perubahan ke sejarah
ChangeHistoryService:FinishRecording(recording, Enum.FinishRecordingOperation.Commit)
end)Unggah plugin
Setelah Anda selesai membuat plugin, Anda dapat mengunggahnya ke inventaris Anda sehingga dapat diakses di semua proyek Anda.
Untuk mengunggah plugin:
Di jendela Explorer, pilih skrip plugin.
Navigasikan ke menu Plugins Studio, lalu pilih Terbitkan sebagai Plugin.
- OPSIONALDi sudut kiri atas jendela konfigurasi aset, klik gambar puzzle default untuk mengunggah thumbnail gambar 512×512 untuk plugin Anda.
Isi bidang berikut:
- Nama — Judul untuk plugin Anda.
- Deskripsi — Deskripsi yang menjelaskan apa yang dapat diharapkan pengguna potensial dari plugin tersebut.
- Pembuat — Pembuat atau grup yang ingin Anda atribusikan sebagai pembuat plugin.
Klik tombol Kirim. Plugin Anda sekarang tersedia untuk Anda di Toolbox di bawah tab Inventaris dan Kreasi.
Distribusikan dan jual plugin
Anda dapat mendistribusikan dan menjual plugin Anda sendiri secara publik di Creator Store agar orang lain dapat menggunakannya dalam pengembangan permainan mereka sendiri. Metode monetisasi ini memungkinkan Anda mendapatkan 100% dari hasil bersih transaksi, melewati biaya platform dan tarif DevEx. Untuk informasi lebih lanjut tentang proses ini, termasuk cara mengatur akun penjual untuk menetapkan harga dan menerima pembayaran, lihat Creator Store - Distribusikan dan jual aset.