Mirror 传输层
Mirror 传输层属于 联机大厅 的 Unity 专用子能力。它不是主 SDK 的替代品,而是用于让已经使用 Mirror 的项目将 Mirror 收发连接接入 IGP 房间数据面。
| 引擎 | 状态 | 说明 |
|---|---|---|
| Unity | Preview | 通过 cn.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场景中需要保留以下对象:
IGPRuntimeManagerIGPMirrorTransportMirror NetworkManager然后将 Mirror 的 NetworkManager.transport 指向 IGPMirrorTransport。
业务代码仍然按 Mirror 原有方式编写;IGP 只负责将底层传输接入当前房间。
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。
GameMaker 不使用 Unity Mirror,因此不适用这个传输层包。
Godot 不使用 Unity Mirror,因此不适用这个传输层包。
| 引擎 | 检查点 |
|---|---|
| Unity | Mirror NetworkManager.transport 已指向 IGPMirrorTransport,host / client 可通过 IGP 房间连接。 |
| GameMaker | 不适用。 |
| Godot | 不适用。 |
常见问题 / 排查
Section titled “常见问题 / 排查”- Mirror 仍走原传输层:检查
NetworkManager.transport引用。 - 找不到
IGPMirrorTransport:确认已安装 Mirror 可选包。 - 能进入房间但 Mirror 不可用:先确认主包房间流程可用,再排查 Mirror 配置。