スタジオプラグイン

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

A プラグインは、スタジオに追加の機能や特徴を追加する拡張機能です。コミュニティが作成したプラグインはCreator Storeからインストールでき、自分自身で作成し、公開することもできます。これらは自分の体験全体で使用するためにToolboxに追加できます。

自分のプラグインをCreator Storeに配布することを選択した場合、無料で提供するか、米ドルで販売することができます。Robloxは、これらの販売について市場をリードする収益分配を提供します。税金や支払い処理手数料のみが差し引かれます。プラグインの販売に関する詳細については、Creator Store - 資産の配布と販売を参照してください。

新しいプラグインの作成

自分のプラグインを作成して、スタジオでの作業フローを改善できます。以下のコードサンプルは、Instanceの子として空のScriptを挿入するAddEmptyScriptと呼ばれるプラグインです。以下のセクションでは、このプラグインを作成するための主な部分を説明します。

始めるには、スタジオの設定のスタジオセクションでプラグインデバッグを有効にするを有効にする必要があります。これにより、プラグインのコードのリアルタイムデバッグを提供するPluginDebugServiceがスタジオに表示され、プラグインを再読み込みおよび保存しやすくなります。

AddEmptyScript プラグイン

local ServerScriptService = game:GetService("ServerScriptService")
local Selection = game:GetService("Selection")
-- 新しいツールバーセクションと「カスタム」というタイトルのプラグインメニューを作成する
local toolbar = plugin:CreateToolbar("カスタム")
-- 「空のスクリプト」とラベル付けされたツールバーボタンを追加する
local newScriptButton = toolbar:CreateButton("空のスクリプト", "空のスクリプトを作成する", "rbxassetid://14978048121")
-- 3D ビューポートが非表示であってもボタンをクリック可能にする
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)

プラグインスクリプトの保存

プラグインを作成するには、まずScriptを作成し、ローカルに保存します。

  1. 新しいScriptServerStorage内に挿入し、AddEmptyScriptに名前を変更します。

  2. 上記のAddEmptyScript プラグインのコードを新しいスクリプトにコピーして貼り付けます。

  3. Explorerウィンドウで新しいスクリプトを選択した状態で、スタジオのプラグインメニューからローカルプラグインとして保存を選択します。

  4. ポップアップウィンドウで、保存をクリックして、プラグインスクリプトをスタジオインストールのローカルプラグインフォルダーに挿入します。

  5. プラグインはPluginDebugServiceに表示され、実行を開始します。

  6. 重要
    元のスクリプトをServerStorage内で削除し、PluginDebugService内のAddEmptyScriptプラグインを使用して作業してください。そうしないと、間違ったスクリプトに変更を加えることになるかもしれません。

ツールバーボタンの追加

スタジオツールバーのプラグインタブにプラグインのボタンを追加するには、Plugin:CreateToolbar()およびPluginToolbar:CreateButton()メソッドを使用します。AddEmptyScriptのコードでは、5行目でツールバーの新しいセクションとプラグインメニューのフォルダーをカスタムというタイトルで作成し、8行目で空のスクリプトというラベルのボタンを作成しています。

スタジオのツールバーに追加された新しいプラグインボタン

クリック時にコードを実行

ユーザーがツールバーボタンをクリックしたときにプラグインがコードを実行するようにするには、ボタンのPluginToolbarButton.Clickイベントに関数を接続します。AddEmptyScriptのコードでは、接続関数はonPluginButtonClicked()です。

ユーザー選択の確認

ユーザーが選択した内容に基づいてプラグインの動作を変更するには、Selectionサービスを使用します。onPluginButtonClicked()関数は、ユーザーが何かを選択しているかどうかを確認し、新しいスクリプトをServerScriptService内ではなく、その子として作成します。ユーザーが何も選択していない場合は、ServerScriptService内に新しいスクリプトを作成します。

元に戻すおよびやり直しをサポート

ChangeHistoryServiceを使用して、ユーザーが体験内でプラグインによって行われた変更を元に戻したりやり直したりできるようにします。スクリプト内で、プラグインをChangeHistoryService:TryBeginRecording()で呼び出し、変更を加える前にAPI呼び出しに割り当てられた識別子を保存します。次に、変更を加えた後にプラグインをChangeHistoryService:FinishRecording()で呼び出すように設定し、記録セッション中に行われたすべての変更を元に戻しやり直しできるようにします。

以下のコードサンプルは、選択した部品にネオンマテリアルを適用できるサンプルプラグインを作成します。これは、ChangeHistoryServiceを使用してプラグインによって行われた変更を記録および管理します。

元に戻しとやり直しのための記録を持つサンプルマテリアルプラグイン

local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
-- サンプルプラグインを作成
local toolbar = plugin:CreateToolbar("サンプルプラグイン")
local button = toolbar:CreateButton("ネオンにする", "", "")
-- クリックイベントに関数を接続
button.Click:Connect(function()
-- 特定の識別子で記録を開始しようとする
local recording = ChangeHistoryService:TryBeginRecording("選択をネオンに設定")
-- 記録が正常に開始されたか確認
if not recording then
-- これは、プラグインが前の記録を開始したが、それを完了しなかったことを示す
-- プラグインにつき1つだけ記録をアクティブにできます
return
end
-- 選択されたインスタンスを反復処理
for _, instance in Selection:Get() do
-- インスタンスがBasePartかどうか確認
if instance:IsA("BasePart") then
instance.Material = Enum.Material.Neon -- 部品のマテリアルをネオンに設定
end
end
-- 記録を完了し、変更を履歴にコミット
ChangeHistoryService:FinishRecording(recording, Enum.FinishRecordingOperation.Commit)
end)

プラグインのアップロード

プラグインの作成が完了したら、それをインベントリにアップロードして、すべてのプロジェクトで利用できるようにします。

プラグインをアップロードするには:

  1. Explorerウィンドウでプラグインスクリプトを選択します。

  2. スタジオのプラグインメニューに移動し、プラグインとして公開を選択します。

  3. 任意
    資産設定ウィンドウの左上隅のデフォルトのパズルピース画像をクリックして、プラグインの512×512の画像サムネイルをアップロードします。

  4. 次のフィールドを入力します:

    • 名前 — プラグインのタイトル。
    • 説明 — 潜在的なユーザーがプラグインに期待できることを説明する説明。
    • 作成者 — プラグインの作成者として属性を設定したい作成者またはグループ。
  5. 送信ボタンをクリックします。プラグインは、Toolboxインベントリおよび作成物タブの下で利用可能になります。

プラグインの配布と販売

自分のプラグインをCreator Storeで公開配布および販売して、他の人が自分のゲーム開発で使用できるようにすることができます。このマネタイズ手法により、取引の純収益の100%を獲得でき、プラットフォーム手数料やDevExレートを回避することができます。このプロセスに関する詳細、および価格設定や支払い受け取りのための販売者アカウントを設定する方法については、Creator Store - 要件を参照してください。

©2026 Roblox Corporation。Roblox(ロブロックス)、RobloxロゴおよびPowering Imaginationは、米国並びにその他の国における登録商標および非登録商標です。