コンテンツにスキップ

Mirror transport

Mirror transport は マルチプレイヤーロビー の Unity 専用サブ機能です。これはメイン SDK の代替ではありません。すでに Mirror を使っているプロジェクトが、Mirror の送受信接続を IGP ルームデータ面へ接続するためのものです。

エンジン状態説明
UnityPreviewcn.indiegp.sdk.unity.mirror-transport で提供されます。
GameMaker対象外GameMaker は Mirror を使用しません。
Godot対象外Godot は Unity Mirror を使用しません。
  • プロジェクトがすでに Unity Mirror を使用している。
  • Mirror は v89.0.0 以上。推奨は v90.0.0 以上。
  • cn.indiegp.sdk.unity メインパッケージがインストール済みである。
  • cn.indiegp.sdk.unity.mirror-transport 任意パッケージがインストール済みである。
  • ルーム の主要ルームフローが完了している。

まずメインパッケージをインストールします。

cn.indiegp.sdk.unity

プロジェクトがすでに Mirror を使用している場合は、任意パッケージをインストールします。

cn.indiegp.sdk.unity.mirror-transport

シーンには次のオブジェクトを保持します。

IGPRuntimeManager
IGPMirrorTransport
Mirror NetworkManager

次に、Mirror の NetworkManager.transportIGPMirrorTransport に向けます。

ビジネスコードは Mirror の従来どおりの書き方で構いません。IGP は基盤 transport を現在のルームに接続するだけです。

using Mirror;
using UnityEngine;
using IGP.UnitySDK.MirrorTransport;
public sealed class MirrorTransportCheck : MonoBehaviour
{
[SerializeField] private NetworkManager networkManager;
[SerializeField] private IGPMirrorTransport igpTransport;
private void Awake()
{
networkManager.transport = igpTransport;
}
}

完全なサンプルプロジェクトは samples/unity/MirrorTransportDemo です。

エンジン確認項目
UnityMirror NetworkManager.transportIGPMirrorTransport を指し、host / client が IGP ルームを通じて接続できる。
GameMaker対象外。
Godot対象外。
  • Mirror がまだ元の transport を使っている: NetworkManager.transport の参照を確認してください。
  • IGPMirrorTransport が見つからない: Mirror 任意パッケージがインストール済みか確認してください。
  • ルームには入れるが Mirror が利用できない: まずメインパッケージのルームフローを確認し、その後 Mirror 設定を調査してください。