A プラグイン は、Studio に追加機能や機能を追加する拡張です。クリエイターストアからコミュニティ製のプラグインを インストール するか、自分で 作成 して ツールボックス に公開して、エクスペリエンス全体で使用できます。
プラグインをクリエイターストアにも配布することを選択すると、無料で提供するか、 アメリカドル (最低価格は $4.99)で販売できます。Roblox は、税金と支払い処理手数料のみが控除されるため、これらの販売に市場をリードする収益分配を提供します。詳しくは、クリエイターストアでの販売を参照してください。
新規プラグインを作成する
Studio でワークフローを向上させるためのプラグインを自分で作成できます。次のコードサンプルは、 EmptyScriptAdder というプラグインで、オブジェクトの子または ServerScriptService に空のスクリプトを挿入するものです。次のセクションでは、このプラグインを作成する主要な部分を説明します。
まず、Studio の設定の Studio セクション で プラグインデバッグを有効にする を有効にする必要があります。これにより、Studio の PluginDebugService がプラグインのコードのリアルタイムデバッグを提供し、プラグインの再読み込みと保存が容易になります。
EmptyScriptAdder プラグイン
local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
-- 「カスタムスクリプトツール」という新しいツールバーセクションを作成
local toolbar = plugin:CreateToolbar("Custom Script Tools")
-- 「空のスクリプトを作成」というツールバーボタンを追加する
local newScriptButton = toolbar:CreateButton("Create Empty Script", "Create an empty script", "rbxassetid://14978048121")
-- 3D ビューポートが非表示でも、ボタンをクリック可能にする
newScriptButton.ClickableWhenViewportHidden = true
local function onNewScriptButtonClicked()
local selectedObjects = Selection:Get()
local parent = game:GetService("ServerScriptService")
if #selectedObjects > 0 then
parent = selectedObjects[1]
end
local newScript = Instance.new("Script")
newScript.Source = ""
newScript.Parent = parent
ChangeHistoryService:SetWaypoint("Added new empty script")
end
newScriptButton.Click:Connect(onNewScriptButtonClicked)
プラグインスクリプトを保存
プラグインはスクリプトから始まります。プラグインを作成するには、Script を作成し、エクスプローラー を使用してプラグインとして保存します。たとえば、 EmptyScriptAdder プラグイン を作成するには:
新しい Script を ServerStorage 内に挿入し、名前を EmptyScriptAdder に変更します。
新しいスクリプトに EmptyScriptAdder プラグイン コードをコピーして貼り付け。
エクスプローラー ウィンドウで、スクリプトを右クリックして [ローカルプラグインとして保存] を選択します。
ポップアップウィンドウで 保存 をクリックして、Studio インストールのローカル プラグイン フォルダにプラグインスクリプトを挿入します。
プラグインは PluginDebugService に表示され、実行を開始する必要があります。
変更の再読み込みと保存
With your 内の 、右クリックしてプラグインを選択し、コンテキストメニューから 保存して再読み込みプラグイン を選択することで、簡単にプラグインを更新できます。例えば、プラグインを保存せずにブレークポイントを使用してコードのセクションを通過するなど、プラグインを再読み込みたい場合は、代わりに プラグインを再読み込む を選択できます。
ツールバーボタンを追加
Studio ツールバーの プラグイン タブにプラグインのボタンを追加するには、Plugin:CreateToolbar() および PluginToolbar:CreateButton() メソッドを使用します。In the code for EmptyScriptAdder , line 5 creates a new section in the toolbar named カスタムスクリプトツール and line 8 creates a button named 空のスクリプトを作成する .

クリックでコードを実行
ユーザーがツールバーボタンをクリックしたときにプラグインがコードを実行するようにするには、ボタンの PluginToolbarButton.Click イベントに機能を接続してください。 EmptyScriptAdder のコードでは、接続機能は onNewScriptButtonClicked() です。
ユーザーの選択をチェック
ユーザーが選択した内容に基づいてプラグインの動作を変更するには、Selection サービスを使用します。onNewScriptButtonClicked() 関数は、ユーザーが何かを選択しているかどうかをチェックし、ServerScriptService 内ではなく、新しいスクリプトを子として作成します。ユーザーが何も選択していない場合、新しいスクリプトを ServerScriptService に作成します。

取り消しとやり直しをサポート
ChangeHistoryService を使用して、ユーザーがエクスペリエンス内のプラグインによって行われた変更を取り消し、やり直すことを許可します。スクリプトで、プラグインを ChangeHistoryService:TryBeginRecording() を呼び出し、変更前にAPI 呼び出しに割り当てられた識別子を保存するように設定します。次に、プラグインを変更後に ChangeHistoryService:FinishRecording() を呼び出すように設定し、レコーディングセッション中に行われた変更をキャプチャして、取り消しとやり直しを行います。
次のコードサンプルは、ネオン素材を選択したパーツに適用できる例のプラグインを作成します。それは ChangeHistoryService を使用して、プラグインによって行われた変更を記録し、管理します:
取り消しとやり直し用のレコーディング付き素材プラグインの例
local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
-- 例のプラグインを作成
local toolbar = plugin:CreateToolbar("Example Plugin")
local button = toolbar:CreateButton("Neon it up", "", "")
-- 機能をクリックイベントに接続する
button.Click:Connect(function()
local parts = {}
for _, part in Selection:Get() do
if part:IsA("BasePart") then
parts[#parts + 1] = part
end
end
if #parts < 1 then
-- やることはありません。
return
end
-- 特定の識別子を使用して記録を開始してみる
local recording = ChangeHistoryService:TryBeginRecording("Set selection to neon")
-- 記録が成功して開始されたかどうかをチェックする
if not recording then
-- ここでエラーを処理します。これは、プラグインが以前に開始したことを示します
-- 記録し、決して完了しません。1つの記録しか持っていないかもしれません
-- 一度にアクティブなプラグイン per plugin active at a time
return
end
-- 選択したパーツを反復する
for _, part in parts do
part.Material = Enum.Material.Neon -- パーツの材料をネオンに設定
end
-- 録画を終了し、変更を履歴にコミット
ChangeHistoryService:FinishRecording(recording, Enum.FinishRecordingOperation.Commit)
end)
プラグインのアップロード、配布、および収益化
モデル、メッシュ、画像、およびアニメーションと同様に、プラグインを Roblox に配布して、ツールボックスから簡単に再利用できるようにすることができます。クリエイターストア ですべての他のクリエイターに公開するか、プライベートで自分の使用のために配布するかを選択できます。Creator Store。プラグインを公開して配布することを選択すると、他のクリエーターに販売する価格を設定できます。
プラグインを配布するには:
エクスプローラ ウィンドウで、プラグインスクリプトを右クリックし、コンテキストメニューから [プラグインとして公開] を選択します。
(オプション) アセット構成ウィンドウの左上隅にある画像をクリックして、512×512 の画像をアップロードします。
次のフィールドに記入してください:
- 名前 : プラグインのタイトル。
- 説明 : 潜在ユーザーがプラグインが行うべきことを期待する説明
- クリエイター : プラグインのクリエーターとして属性付けしたいクリエイター
クリックする 送信 ボタン。プラグインは現在、 インベントリ タブと クリエーション タブの ツールボックス で利用可能です。
クリエイターダッシュボードへのリンクをクリックして 配布を構成する。