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.
ネットワークシミュレーション
ネットワークシミュレーションは、スタジオ設定のネットワークタブからアクセスできます(WindowsではAltS、Macでは⌥S)。これにより、遅延、パケットロス、およびジッターなどの現実のネットワーク条件をシミュレートしてプレイテスト接続を行うことができます。これは、サーバー権限を使用するゲームをテストする際に特に便利です。なぜなら、予測およびロールバック/再シミュレーションメカニズムはネットワーク条件に敏感だからです。また、順番が入れ替わる可能性のあるUnreliableRemoteEventsをテストするのにも便利です。
ネットワークシミュレーション設定は、テスト、サーバー & クライアント、およびチームテストを含むすべてのプレイテスト接続に適用されます。チームテストの場合、遅延とロスの数字は、コンピュータからRobloxサーバーまでの遅延およびパケットロスに加算される点に注意してください。たとえば、チームテストのネットワークピングが通常20ミリ秒で、スタジオの設定で50ミリ秒の遅延を設定すると、ピングは70ミリ秒となります。
| スタジオ設定 | プロパティ | 説明 |
|---|---|---|
| 最小受信遅延 | InboundNetworkMinDelayMs | サーバーからクライアントへのプレイテスト接続に遅延を追加します。 |
| 最小送信遅延 | OutboundNetworkMinDelayMs | クライアントからサーバーへのプレイテスト接続に遅延を追加します。 |
| 受信ジッター | InboundNetworkJitterMs | サーバーからクライアントへのプレイテスト接続にジッターを追加します。 |
| 送信ジッター | OutboundNetworkJitterMs | クライアントからサーバーへのプレイテスト接続にジッターを追加します。 |
| 受信パケットロス | InboundNetworkLossPercent | サーバーからクライアントへのプレイテスト接続でパケットがドロップされる確率を設定します。 |
| 送信パケットロス | OutboundNetworkLossPercent | クライアントからサーバーへのプレイテスト接続でパケットがドロップされる確率を設定します。 |
上記の各設定には、次の概念が適用されます:
- 受信はサーバーからクライアントへのトラフィックを指します。送信はクライアントからサーバーへのトラフィックを指します。
- 遅延 - ネットワークピングは往復時間として測定されます。20ミリ秒のネットワークピングをシミュレートするには、最小受信遅延と最小送信遅延の両方を10ミリ秒に設定します。
- ジッター - ジッターは、設定された最小遅延の上に追加されます。ジッターは、UnreliableRemoteEventsのようなトラフィックが順序を入れ替えて到着する原因となることがあります。
- 精度 - パケットごとの遅延は、遅延とジッターからサンプリングされ、1ミリ秒に切り捨てられます。
- パケット損失 - 各パケットは、設定された確率に基づいてランダムにドロップされる可能性があります。
VRヘッドセット
ゲームで仮想現実(VR)ヘッドセットをサポートしたい場合は、StudioでVRをテストまたはエミュレートしてください。
VRエミュレーション
VRエミュレーションを使用すると、物理的なヘッドセットなしでStudioでVRゲームをテストできます。他のデバイスをエミュレートするのと同じように、デバイスセレクターメニューを使用してMeta Quest 2またはMeta Quest 3のいずれかを選択します。コントローラーエミュレーターは、自動的にヘッドセットに適切なコントローラーを選択します。


ヘッドセットと複数のコントローラーの組み合わせは、モーショントラッキングを持ち、VRエミュレーションをより複雑にします:
モーショントラッキングエミュレーションでは、Alt1(⌥1)を押して、マウスをビューポートにロックしたり、ビューポートから解除したりします。
Shift←またはShift→を使用して、ヘッドセット、左コントローラー、右コントローラーの一般的な組み合わせを切り替えます。たとえば、ヘッドセットオプションを使用して、左コントローラーのボタンで前進しながら見回ることができますが、ターゲットを狙うためにモーションコントロールを使用する必要がある場合は、右コントローラーに切り替えることができます。
ヘッドセットの構成
スタジオは、OpenXRと互換性のあるすべてのVRヘッドセットのテストをサポートします。OpenXRは、VRへのアクセスを提供するオープンソースの業界標準です。
スタジオでVRテストを有効にするには、ヘッドセットをPCに接続し、スタジオを起動する前にOpenXRランタイムを構成する必要があります。すでにスタジオを起動している場合は、プログラムを終了し、最初に構成手順を完了してください。
ヘッドセットが1つだけの場合、対応する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()で概説されているように、ウィンドウ内の他のトグルやチェックボックスに影響を与える場合があります。 |