マルチプレイヤーロビーはルームベースの機能群であり、互いに独立した機能の寄せ集めではありません。推奨される導入順は、まずルームに参加し、その後でルーム内のリアルタイム通信、状態同期、RPC、Mirror transport を使う流れです。
| 機能 | 役割 | 前提条件 |
|---|
| ルーム | 参加、ready、開始、終了、退出を管理 | IGP デスクトップクライアントから起動 |
| リアルタイム通信 | ルーム内でカスタムメッセージを送信 | ルーム参加済み |
| 状態と RPC | ルーム内状態の同期、リモートロジック呼び出し | ルーム参加済み |
| Mirror transport | Unity Mirror プロジェクトで IGP ルームデータ面を利用 | Unity、Mirror、ルーム参加済み |
| エンジン | 状態 | 説明 |
|---|
| Unity | Preview | マルチプレイヤーロビー機能が最も充実しており、ルーム、メッセージ、状態、RPC、Mirror transport をカバーします。 |
| GameMaker | 未対応 | 現在の GameMaker 初回公開版はデスクトップクライアント機能のみを対象としており、ルームマルチプレイヤーは含みません。 |
| Godot | 開発中 | プレビュー runtime には、ルーム、メッセージ、状態、RPC API があります。 |
- 起動と接続 を完了します。
- ルーム の最小フローを完了します。
- 同期イベントやチャットが必要な場合は、リアルタイム通信 を導入します。
- 共有ルーム状態やリモート呼び出しが必要な場合は、状態と RPC を導入します。
- Unity プロジェクトですでに Mirror を使っている場合は、Mirror transport を導入します。
| エンジン | 最小確認 |
|---|
| Unity | 2 つのクライアントが同じルームに入り、一方が ready になった後、もう一方がルーム状態の変化を受け取る。 |
| GameMaker | 現在はマルチプレイヤーロビーの検証対象外です。 |
| Godot | ルームスナップショットを受信し、ready 呼び出しまたは JSON メッセージ送信ができる。 |
- メッセージ、状態、RPC がすべて利用できない: まずルーム参加が成功しているか確認してください。
- Unity でシーン切り替え後に切断される:
IGPRuntimeManager が 1 つだけ保持されているか確認してください。
- Mirror が利用できない: 通常のルームフローが利用可能か確認してから、Mirror transport の参照を確認してください。
- Godot でイベントを受け取れない: autoload が登録され、ルームマルチプレイヤー接続が確立されているか確認してください。