はじめに
VRChatのワールドやワールド内のギミックの作成において、 プレイヤー間でオブジェクトやスクリプトの変数の同期が問題なくできているかどうかテストしたいことがよくあります。 しかし、テストのたびに他の人に協力してもらうのは大変なので、一人でテストできると嬉しいです。
VRChat SDKにはUnity上からVRChatを同時に複数起動してテストできる機能が標準で備わっているため、 今回はその機能で同期テストを行う方法を紹介します。 ワールドをアップロードせずに、ローカルでテストできます。
公式情報
今回のテスト方法はVRChat公式のドキュメントに記載されているので、 詳しい情報は下記リンク先をご参照ください。
VRChat: Step 6 - Building and publishing your World
開発環境
開発環境は下記の通りです。 バージョンが異なると挙動が変わる可能性があります。
- Windows 11 Home
- Unity 2022.3.22f1
- VRChat SDK 3.10.5

同期テストする
同期テストしたいVRChatワールドのUnityプロジェクトを開きます。
UnityからVRChatを開くための設定
VRChat SDKの設定でUnity上からVRChatを開くために、 VRChatの実行ファイルのパスを指定します。
まずUnityエディタ上部のVRChat SDKからShow Control Panelを選択します。

コントロールパネルを開いたらSettingsタブに切り替えます。
VRChat ClientにInstalled Client Pathという項目があるので、
Editボタンを押して自分のVRChatの実行ファイルのパスを指定します。

たとえばWindowsでSteamの標準のインストール先を使っている場合は、下記のパスを指定します。
C:\Program Files (x86)\Steam\steamapps\common\VRChat\VRChat.exe
ワールドをビルド&テスト
ワールドをビルドしてテスト用にVRChatで開きます。
先ほど開いたVRChat SDKのコントロールパネルのBuilderタブを開きます。
その中の3. Buildで、下記のように設定します。
- Build Type: Build & Test Your World
- Platform(s): Windows
- Force Non-VRにチェックを入れる(デスクトップモードで起動するため)
- Clients: 2(テストしたいプレイヤー数)
Clientsに指定した数だけVRChatが起動します。
設定が完了したら最後にBuild & Testボタンを押してVRChatを開きます。

複数起動したVRChatで同期テスト
無事ビルドが成功すると、指定した数だけVRChatが開きます。 それぞれのVRChatのウィンドウでプレイヤーを操作することができるので、 オブジェクトや変数の同期が問題なくできているのかどうか確認できます。 たとえば、同期設定済みのオブジェクトを片方の画面で動かし、もう片方の画面でも位置が変わることを確認します。

おわりに
今回はVRChatのワールド作成における同期のテスト方法を紹介しました。 同期テストで毎回他の人に手伝ってもらうのが大変だったので、 一人でテストができることが分かってうれしいです。 最終的には他の人にも同期ができているか確認してもらったほうが安心ですが、 開発段階では一人でテストできるのでかなり楽になると思います。 それでは、また。