# IGP Unity Mirror Transport

这是给已经使用 Mirror 的 Unity 项目用的可选包。

它的职责很单一：

- 提供一个可以直接挂到 Mirror `Transport` 槽位里的 `IGPMirrorTransport`
- 把 Mirror 的连接、收发和断开动作桥接到 `IGP.UnitySDK`

这个包不是主 SDK 的替代品。

要用它，你仍然需要先接入：

- `cn.indiegp.sdk.unity`
- Mirror

## 当前包内容

- 包名：`cn.indiegp.sdk.unity.mirror-transport`
- 运行时程序集：`IGP.UnitySDK.MirrorTransport`
- 组件：`IGP.UnitySDK.MirrorTransport.IGPMirrorTransport`

## 安装

先保证项目里已经有：

- `cn.indiegp.sdk.unity`
- Mirror

Mirror 版本要求：

- 最低兼容 `v89.0.0`
- 推荐使用 `v90.0.0` 或更高版本

默认接法会兼容 `v89.0.0` 之后的 Mirror，不需要额外宏定义。`IGP_MIRROR_HAS_SERVER_CONNECTED_WITH_ADDRESS` 只是备用开关，只有在你确认项目里的 Mirror 已经包含新版连接回调，并且明确要让本包直接调用它时才需要添加。

然后再把这个包加进 Unity 工程。

本仓库本地源码接法：

```json
{
  "dependencies": {
    "cn.indiegp.sdk.unity": "file:../../../../adapters/unity/Runtime/IGP.UnitySDK",
    "cn.indiegp.sdk.unity.mirror-transport": "file:../../../../adapters/unity/Runtime/IGP.UnitySDK.MirrorTransport"
  }
}
```

## 用法

1. 在场景里先放好 `IGPRuntimeManager`
2. 再把 `IGPMirrorTransport` 挂到一个对象上
3. 在 Mirror 的 `NetworkManager.transport` 上指向它
4. host / client 启动后，Mirror 的消息会通过 IGP 房间数据面转发

如果你想直接照着接，优先看：

- `Documentation~/QUICKSTART.md`

## 适用范围

当前这块主要面向：

- Mirror 项目要把传输层接到 IGP
- 已经走 `IGPRuntimeManager` 的 hosted 房间链路
- 想直接在 Mirror `Transport` 位置里挂 IGP 传输层

如果你只是先验证 SDK 主链路，仍然先看：

- `adapters/unity/Runtime/IGP.UnitySDK/Documentation~/QUICKSTART.md`

如果你想看给 Mirror 项目的完整示例工程，直接看：

- `samples/unity/MirrorTransportDemo/README.md`
