Robloxエンジンの基盤となるクライアント-サーバーモデルのため、ゲームを公開する前にさまざまなモードでテストすることが重要です。すべてのテストオプションは、メザニンの左側にアクセス可能です。

プレイテスト
ゲームのプレイテストには、3つの一般的なオプションがあります。ドロップダウンメニューから希望のオプションを選択し、その右側にあるプレイボタンをクリックしてプレイテストを開始します。

| モード | ショートカット | 説明 |
|---|---|---|
| テスト | F5 | ゲームのシミュレーションを開始し、あなたのアバターを SpawnLocation または座標の周辺 (0, 100, 0) に挿入します。 |
| ここでテスト | ゲームのシミュレーションを開始し、カメラの現在の位置の前にあなたのアバターを挿入します。 | |
| 実行 | F8 | ゲームのシミュレーションを開始しますが、あなたのアバターは挿入されません。シミュレーションは現在のカメラ位置から始まり、スタジオのカメラコントロールを使って周囲を移動できます。 |
プレイテストが実行されている間、メザニンに追加のオプションが表示されます。

| アクション | ショートカット | 説明 |
|---|---|---|
| 一時停止 / 再開 | 物理とアニメーションを一時停止/再開できます。 | |
| 停止 | ShiftF5 | ゲームのシミュレーションを停止し、すべてのオブジェクトとインスタンスをプレイテスト前の状態にリセットします。 |
| クライアント / サーバー | "ソロ"モード(テストまたはここでテスト)でプレイテスト中に、クライアントモードとサーバーモードを切り替えます。詳細はクライアント/サーバーの切り替えを参照してください。 |
クライアント/サーバーの切り替え
テストまたはここでテストモードでテストを行うと、スタジオは2つの別々のシミュレーションを実行します — 1つはクライアントシミュレーション、もう1つはサーバーシミュレーション — これにより、ゲームが本番環境でどのように実行されるかをより正確に把握できます。
ソロプレイテスト中に、クライアント/サーバー切り替えボタンをクリックすることで、クライアントモードとサーバーモードを切り替えることができます。切り替えると、ボタンは現在のシミュレーションモードを反映するように変わります。


シミュレーションモードに応じて、キャラクターとカメラの制御が次のように変わります。

エクスプローラーウィンドウの階層内では、特定のオブジェクトは期待されるコンテナ内にのみ存在します。


出力ウィンドウでは、メッセージが青(クライアント)または緑(サーバー)でラベル付けされ、クライアントまたはサーバーのいずれかからの発信を示します。ModuleScriptsから出力されたメッセージの場合、ラベルの色はモジュールがクライアント側のLocalScriptから呼び出されたか、サーバー側のScriptから呼び出されたかによって決まります。

一時停止/再開
ソロプレイテスト中、一時停止/再開ボタンは、レンダリングを無効にせずに一時的なシーンやメカニズムのデバッグに役立ちます。

デフォルトでは、一時停止と再開はクライアントとサーバーの両方に作用します。クライアントまたはサーバーのみを一時停止または再開したい場合:
- 一時停止/再開したいシミュレーションに基づいてクライアント/サーバーの切り替えを設定します。
- 一時停止/再開ボタンの小さな矢印をクリックし、一時停止/再開 クライアントまたは一時停止/再開 サーバーの代替オプションを選択します。ボタンをクリックすると、そのシミュレーションの側面のみが一時停止または再開されます。
シミュレーションが一時停止しているとき、1/60秒(60 Hz)前に進むことができます。一時停止/再開ボタンの左側にあるボタンをクリックすると、クライアント/サーバーの切り替えに基づいて、クライアントまたはサーバーのステッピングを選択できます。

一時停止/再開に関する以下の技術的詳細に注意してください:
- Animationsは物理に基づいていませんが、これらのツールバーのボタンもアニメーションを一時停止/再開します。
- 一時停止または再開は、実行中のスクリプトには影響しません。
- RunServiceコールバックのPreAnimation、PreSimulation、PostSimulation、およびSteppedのみが、これらのツールバーのボタンを介して一時停止または再開されます。他のコールバック(PreRender、Heartbeat、およびRenderStepped)は引き続き発火し、カメラスクリプト、レンダリングされた視覚化、およびプラグインの通常の機能を維持します。
マルチクライアントシミュレーション
ドロップダウンメニューのサーバーとクライアントオプションを使用すると、スタジオの複数のセッションを起動できます。1つはサーバーとして、他はクライアントとして機能します。このテストモードは、クライアントがゲーム内で他のクライアントを「見る」方法を比較するための貴重なツールです。
ドロップダウンメニューでサーバーとクライアントオプションを選択し、テストするクライアントセッションの数を選択します。通常は1〜2クライアントで十分ですが、最大8クライアントをシミュレートできます。

プレイボタンまたはF7を押してクライアント-サーバーシミュレーションを開始します。
テストが終了したら、シミュレーションセッションのいずれかからセッション終了ボタンを押して、すべてのシミュレートされたクライアントとシミュレートされたサーバーを閉じます。

パーティシミュレーション
パーティシミュレーターを使用すると、ゲームで使用されるパーティ関連のAPIをスタジオ内で直接テストおよびデバッグできます。これにより、複数のデバイスを公開して調整する必要がなくなります。このツールを使用すると、サーバーとクライアントのプレイテストでテストプレイヤーのためにパーティを構成およびエミュレートできます。
プレイテスト中、パーティシミュレーターはすべてのテストプレイヤーを構成されたシミュレートされたパーティに自動的に割り当てます。

パーティシミュレーターが有効になっている場合:
- 各Player.PartyIdプロパティは、パーティシミュレーターの割り当てを反映します。
- SocialService:GetPartyAsync()は、シミュレートされたパーティデータのテーブルを返します。
スタジオのサーバーとクライアント設定を使用して、いつでもローカルテストプレイヤーの数を調整できます。テストプレイヤーの数が変更されると、エミュレーターは自動的に構成にプレイヤーを追加または削除します。
コラボレーティブテスト
他の人とコラボレーションモードでゲームに取り組んでいる場合、他のコラボレーターと次のようにテストできます。
ドロップダウンメニューでチームテストを選択し、プレイボタンを押して、キャラクターが挿入された新しいスタジオセッションを開きます。

他のコラボレーターは、自分のスタジオセッションのメザニンからプレイボタンを押すことで参加できます。
デバイスエミュレーション
デバイスエミュレータは、Studioのテストメニューからアクセス可能で、さまざまなデバイスを直接Studio内でエミュレートし、モバイルデバイス、コンソール、VRヘッドセットでのコントロールの動作や、異なる画面解像度およびアスペクト比でのオンスクリーンUI要素の表示方法についての洞察を得ることができます。
エミュレーションモードでは、3Dビューポートの上にあるデバイスセレクタードロップダウンメニューからデバイスを選択して、性能の低いデバイスをエミュレートし、利用可能なメモリに応じて3Dコンテンツが動的にロードおよびアンロードされるストリーミング対応ゲームをテストできます。また、ビュ サイズを調整したり、横向きと縦向きの間で向きを変更したりすることもできます。

タッチシミュレーション
タッチシミュレーションは、デバイスエミュレーターでモバイルデバイスが選択されると自動的に有効になります。プレイテスト中にマウスをクリックしてドラッグすることで、シングルタッチまたはツータッチジェスチャーをシミュレートできます。デフォルトでは、マウスの操作はシングルタッチジェスチャーをシミュレートします。
スタジオは、ツータッチジェスチャーをシミュレートするための以下のショートカットをサポートしています。ショートカットは、スタジオのショートカットをカスタマイズメニューを通じてカスタマイズすることもできます。
| Windows | Mac | アクション |
|---|---|---|
| Alt | ⌥ | マウスをドラッグしている間に押し続けると、ピンチと回転をシミュレートします。 |
| AltShift | ⌥Shift | マウスをドラッグしている間に押し続けると、ツータッチパンをシミュレートします。 |
ツータッチショートカットがアクティブな場合、シミュレートされたタッチの位置を示すために2つの円が表示されます。

コントローラーシミュレーション
The Controller Emulator, accessible from Studio's Test menu, lets you accurately emulate gamepad input directly in Studio. The default controller is a generic gamepad, but you can select alternatives from the upper‑left picker menu.

While playtesting, you can control the game with the virtual controller using your mouse.
You can also click Edit mappings in the upper‑right corner to view and edit key mappings for the virtual controller, for example E to ButtonL2 or 9 to ButtonA. These mappings are saved like other Studio settings (per controller, per user, per computer) and are translated to gamepad events in both the emulator window and the 3D viewport.
ネットワークシミュレーション
ネットワークシミュレーションは、スタジオ設定のネットワークタブからアクセスでき、AltS(Windowsの場合); ⌥S(Macの場合)を押すことで、レイテンシ、パケットロス、ジッターなどの実際のネットワーク条件をシミュレートしてプレイテスト接続を行うことができます。これは、サーバー権限を使用するゲームのテストに特に便利です。なぜなら、予測、ロールバック、再シミュレーションメカニズムはネットワーク条件に敏感だからです。また、失われたり順序が入れ替わったりする可能性のあるUnreliableRemoteEventsのテストにも役立ちます。
ネットワークシミュレーション設定は、テスト、サーバー & クライアント、およびチーム テストを含むすべてのプレイテスト接続に適用されます。チーム テストの場合、レイテンシとロスの数値は、コンピュータからRobloxのサーバーへのレイテンシとパケットロスに追加されることに注意してください。たとえば、チームテストでのネットワークピングが通常20ミリ秒で、スタジオの設定で50ミリ秒の遅延を設定した場合、ピングは70ミリ秒になります。
| スタジオ 設定 | プロパティ | 説明 |
|---|---|---|
| 最小受信遅延 | InboundNetworkMinDelayMs | サーバーからクライアントへのプレイテスト接続に遅延を追加します。 |
| 最小送信遅延 | OutboundNetworkMinDelayMs | クライアントからサーバーへのプレイテスト接続に遅延を追加します。 |
| 受信ジッター | InboundNetworkJitterMs | サーバーからクライアントへのプレイテスト接続にジッターを追加します。 |
| 送信ジッター | OutboundNetworkJitterMs | クライアントからサーバーへのプレイテスト接続にジッターを追加します。 |
| 受信パケットロス | InboundNetworkLossPercent | サーバーからクライアントへのプレイテスト接続でパケットがドロップされる確率を設定します。 |
| 送信パケットロス | OutboundNetworkLossPercent | クライアントからサーバーへのプレイテスト接続でパケットがドロップされる確率を設定します。 |
上記の各設定には、次の概念が適用されます:
- 受信はサーバーからクライアントへのトラフィックを指します。送信はクライアントからサーバーへのトラフィックです。
- 遅延 — ネットワークピングは往復時間として測定されます。20ミリ秒のネットワークピングをシミュレートするには、最小受信遅延と最小送信遅延の両方を10ミリ秒に設定します。
- ジッター — ジッターは設定された最小遅延の上に追加されます。ジッターは、UnreliableRemoteEventsなどの一部のトラフィックが順序を入れ替えて到着する原因となることがあります。
- 精度 — パケットごとの遅延は、遅延とジッターからサンプリングされ、1ミリ秒に丸められます。
- パケットロス — 各パケットは、設定された確率に基づいてランダムにドロップされる可能性があります。
スクリプトテスト
上記のインタラクティブなテストツールに加えて、スタジオはプラグインやビルドパイプラインからプログラム的にテストを実行できるサービスを公開しています。これらの3つのサービスはスタジオ専用で、公開された体験で実行しても何も行いません。
| サービス | 目的 |
|---|---|
| StudioDeviceSimulatorService | スクリプト可能なデバイスエミュレーション。デバイスプリセットをブラウズし、アクティブデバイスを切り替え、解像度とDPIをオーバーライドし、向きとスケーリングを制御し、ディスクに永続するカスタムデバイスプロファイルを作成します。 |
| StudioTestService | プログラム的なマルチクライアントシミュレーション。最大8つのシミュレートされたクライアントを持つサーバーを開始し、セッション中にプレイヤーを追加し、テストに引数を渡し、クライアントの切断をトリガーし、サーバーからテストを終了します。 |
| VirtualInput | 実際のハードウェア入力と同じように処理されるシミュレートされたマウス、キーボード、およびポインターイベント。UserInputService:CreateVirtualInput()からインスタンスを取得します。 |
これらのサービスは、クロスデバイスのマルチプレイヤーテスト(デバイスプロファイルをサイクルし、各テストでマルチプレイヤーテストを開始)、プレイヤーの参加/離脱ストレステスト、向きの回帰テスト、エンドツーエンドのUIフロー自動化を可能にします。
VRヘッドセット
ゲームのために仮想現実(VR)ヘッドセットをサポートしたい場合は、スタジオでVRをテストまたはエミュレートすることを確認してください。
VRエミュレーション
VRエミュレーションを使用すると、物理的なヘッドセットなしでスタジオでVRゲームをテストできます。他のデバイスをエミュレートするのと同様に、デバイスセレクターメニューを使用して、Meta Quest 2またはMeta Quest 3のいずれかを選択します。コントローラーエミュレーターは、ヘッドセットに適したコントローラーを自動的に選択します。


ヘッドセットと複数のコントローラーの組み合わせは、モーショントラッキングを持ち、VRエミュレーションをより複雑にします:
モーショントラッキングエミュレーションの場合、Alt1(⌥1)を押して、マウスをビューポートにロックしたり、ロックを解除したりします。
Shift←またはShift→を使用して、ヘッドセット、左コントローラー、右コントローラーの一般的な組み合わせを切り替えます。たとえば、ヘッドセットオプションを使用して、左コントローラーのボタンで前進しながら周囲を見回すことができますが、ターゲットを狙うためにモーションコントロールを使用する必要がある場合は、右コントローラーに切り替えることができます。
ヘッドセットの構成
スタジオは、OpenXRと互換性のあるすべてのVRヘッドセットのテストをサポートしています。OpenXRは、VRへのアクセスを提供するオープンソースの業界標準です。
スタジオでのVRテストを有効にするには、ヘッドセットをPCに接続し、スタジオを起動する前にOpenXRランタイムを構成する必要があります。すでにスタジオを起動している場合は、終了して構成手順を最初に完了してください。
1つのVRヘッドセットしかない場合、対応するVRアプリをインストールすると、自動的にランタイムが構成されます。複数のヘッドセットがある場合は、ランタイムを手動で設定し、テストに使用するヘッドセットのみを構成する必要があります。
以下の手順は、最も一般的な2つのVRアプリに関するものです:
- HTC ViveやValve Indexなどのヘッドセット用のSteamVR。
- Meta QuestやOculus Riftなどのヘッドセット用のOculus。
- コンピュータにSteamVRアプリをインストールして開きます。
- SteamVR設定の下で、開発者タブを選択します。次に、詳細設定を表示を選択します。
- SteamVRをOpenXRランタイムとして設定します。
- システムボタンを押してビープ音が聞こえるまでコントローラーの電源を入れます。
- コントローラーの電源を切るには、同じビープ音が聞こえるまでシステムボタンを押し続けます。
手順を正しく実行すると、SteamVRアプリのステータスアイコンとハードウェアのステータスライトがすべて緑色になり、構成が完了したことを示します。
Roblox Questアプリ
ヘッドセットをコンピュータにリンクせずに、QuestのRobloxアプリでゲームをテストできます。このモードでヘッドセットでゲームにアクセスするには、次の手順を実行します:
- スタジオでゲームを公開し、ゲームをプライベートに設定します。
- クリエイターダッシュボードまたはスタジオのリンクを使用して、ウェブブラウザでゲームページを開きます。
- ゲームページで、お気に入りアイコンをクリックしてゲームをお気に入りに追加します。
- ヘッドセットを使用して、スタンドアロンのRobloxアプリを開きます。
- ホームページのお気に入りセクションをスクロールダウンし、ゲームを実行します。
スタジオVRモード
ヘッドセットの構成を行った後、次の手順でスタジオVRテストモードをオンにできます:
- ファイルメニューで、スタジオ設定を選択します。
- レンダリングを選択します。
- 一般設定の下で、VRモードを有効にするをオンにします。
これで、利用可能なプレイテストオプションを使用してVRヘッドセットでゲームをテストできます。VRテストセッション中に、ヘッドセットケーブルが切断されたり、ヘッドセット上のRoblox Studio Betaアプリを閉じたりすると、テストを再実行するためにスタジオを再起動する必要があります。
プレイヤーエミュレーション
ゲームのローカリゼーションやコンテンツポリシーを詳細にエミュレートするために、スタジオのプレイヤーエミュレーターを通じてテストできます。
エミュレーターウィンドウが開いている状態で、テストプロファイルを有効にするをオンにします。エミュレーションは、ウィンドウを閉じてもトグルされたまま(有効または無効)になります。
ウィンドウの下部には、一般的に使用されるオプションが含まれています:
| オプション | 説明 |
|---|---|
| ロケール | プレイテスト中にローカライズされた言語をエミュレートできます。 |
| 擬似ローカライズ | 似たようながわずかに異なる文字に置き換えて、どの文字列が翻訳システムを通過しているかを簡単に特定できるようにします。これを有効にすると、エミュレーション言語を変更せずにローカライズされていないテキストを特定できます。たとえば:
|
| エロンゲート | スライダーで定義された係数でテキスト文字列を引き延ばします。たとえば:
|
| 地域 | プレイテスト中にプレイヤーの国/地域をエミュレートできます。この選択は、GetPolicyInfoForPlayerAsync()で概説されているように、ウィンドウ内の他のトグルやチェックボックスに影響を与える可能性があります。 |