Changelog
本页记录各版本的实际变更。
如需查看下载包、版本号和校验值,请查看 Release Notes。
0.1.6 - 2026-06-12
Section titled “0.1.6 - 2026-06-12”- Unity hosted data-plane attach 改为同一
roomId + playerIdsingle-flight,避免并发重复请求 descriptor 和重复替换 KCP session。 - Unity Direct KCP data-plane 现在只有收到
kcp_handshake_ack后才进入 connected;重连前会先关闭旧 KCP,并按500ms -> 1s -> 2s退避重试,同时丢弃过期 attempt 的回调。 - Unity runtime 将
STATE_NOT_FOUND、INVALID_STATE_SCOPE、INVALID_REQUEST、FORBIDDEN分类为业务错误;STATE_NOT_FOUND会为常见 global state key 写入默认值,不再触发连接服务不可用提示。 bridge/contracts/data-plane.md补充 data-plane single-flight、重连关闭顺序、handshake ack 和 stale attempt 处理语义。- Unity / Godot / GameMaker SDK Environment 新增
PREVIEW,自动连接 IndieGamesPass Preview 桌面端与\\.\pipe\igp-desktop-sdk-preview。 - Unity MirrorTransportDemo 调试面板新增 Rematch 按钮;Unity / Godot hosted session 增加 rematch 发送回归测试,锁定
RematchGamecommand code 为16。
0.1.5 - 2026-06-12
Section titled “0.1.5 - 2026-06-12”- Unity reliable data 发送改为按 KCP
WaitSnd可用容量 drain,不再受固定字节率/token bucket 限制;当WaitSnd不可用时保留每次 drain 的兜底上限。 - Unity reliable 发送队列满时返回
kErrorSendQueueFull;Mirror transport 会将其视为可靠通道丢失并断开对应 peer,便于重连后重建状态。 - Unity Mirror transport 优先发送小 reliable payload,不再静默丢弃已接收但未派发的 inbound transport 消息,并新增 10 秒入站静默断线和 shutdown disconnect best-effort flush。
- Unity reliable reassembly 在 inflight/buffer 压力下驱逐最旧 partial 消息而不是抛异常,并在网络诊断中输出
reassemblyEvicted。 - Unity hosted data-plane 状态在 KCP 仍 alive 时会从陈旧
error状态恢复,避免 transient transport error 后状态误报。
0.1.4 - 2026-06-10
Section titled “0.1.4 - 2026-06-10”- Unity SDK 新增独立版本可选 Cloud Archive 模块
cn.indiegp.sdk.unity.cloud-archive0.1.4,通过 desktop session 转发云存档读取和保存请求,slot固定为"1"到"5",并暴露version/baseVersion与 409 冲突时的currentVersion。 - Unity desktop session 能力集新增
cloudArchive,cloudArchiveForward在能力缺失时会提前报错;Cloud Archive API 失败响应会解析 Desktop 归一化错误体,并兼容旧版 API envelope。 - Unity 发布新增 Cloud Archive 可选
.unitypackage,发布脚本、Unity 包测试清单、安装页和下载表已纳入cn.indiegp.sdk.unity.cloud-archive-<cloud-archive-version>.unitypackage。
0.1.3 - 2026-06-09
Section titled “0.1.3 - 2026-06-09”- Unity KCP RTT 统计新增稳定/原始双口径:发送心跳时若 KCP 已有排队,样本会标记为拥塞,只进入
LastRTT/RawAvgRTT和诊断日志,不再污染常规AvgRTT延迟显示。 - Unity 网络诊断补充
rttLastMs、rttAvgMs、rttRawAvgMs、rttCongested、pingQueueDepth,用于判断瞬时高延迟是业务包排队、真实网络波动还是接收侧积压。 - Unity 网络诊断日志和屏幕 overlay 改为独立开关:
EnableNetworkDiagnostics只开启采样/日志,ShowNetworkDiagnosticsOverlay才显示屏幕面板,避免测试或正式包开启日志时自动出现调试 UI。 - Unity 点对点可靠消息新增出站调度器,按 token bucket、每帧 payload 上限和
WaitSnd高低水位逐帧释放可靠分片,降低 Mirror / 大 payload 瞬时灌入 KCP 的风险;诊断补充netOutQueue、netOutSent、netOutThrottle。 - Unity KCP 接收侧提高 burst drain 上限,并在需要时扩容 KCP receive buffer,避免合法较大消息因固定缓冲过小卡在接收队列头;诊断补充
recvLimit、recvBufGrow、recvOversize。 - Unity KCP 心跳 pong 不再每次输出普通 RTT 日志,避免高频日志在短时网络 burst 时放大 Unity 主线程抖动。
0.1.2 - 2026-06-09
Section titled “0.1.2 - 2026-06-09”- Unity SDK 新增可选网络诊断采样,输出
WaitSnd、Mirror produced、KCP out/recv、hit64、pktQueue、reassembly等指标,并提供诊断 overlay。 - Unity P2P 轮询兼容队列改为有界队列,避免只使用事件回调的游戏让 SDK 内部队列无限增长。
- Unity hosted data-plane 协商会自动钳制可靠分片大小,避免 JSON/base64 包装超过 KCP frame 上限。
- Unity 网络回调改为在 SDK 网络状态锁外触发,降低游戏回调执行重活时对 SDK 接收链路的放大影响。
- Unity SDK 运行时上报版本改为显式包版本,避免接入侧误判 SDK 版本。
0.1.1 - 2026-06-09
Section titled “0.1.1 - 2026-06-09”- Unity hosted session 在同一房间 rematch 回到 waiting 时会重置 KCP data plane 和 P2P 会话状态,避免下一局复用上一局的数据面状态。
0.1.0 - 2026-06-08
Section titled “0.1.0 - 2026-06-08”- Unity SDK 新增可选 Lying Bottle 模块
cn.indiegp.sdk.unity.lying-bottle,提供类型化 desktop-session 转发入口,用于玩家资料、背包、商店、订单等桥接调用。 - Unity desktop session 增加 request/response 调用支持,
IGPRuntimeManager可通过 desktop session 转发 Lying Bottle 请求。 - 补充 Lying Bottle quickstart、README 和中文开发者指南,并按最新 bridge guide 收口接口字段、路由和购买数量范围。
0.0.8 - 2026-06-05
Section titled “0.0.8 - 2026-06-05”- Unity SDK 在 desktop session 建联阶段新增 hosted bootstrap 请求,
IGPRuntimeManager可从桌面端拉取托管房间的初始化参数,简化托管模式接入。 IGPDesktopSessionClient/IGPDesktopSessionProtocol同步补充 hosted bootstrap 请求、响应模型和协议常量,相关协议契约由根目录igp-proto统一生成。
0.0.7 - 2026-05-27
Section titled “0.0.7 - 2026-05-27”- Unity SDK 新增同一房间内运行中换地图事件,游戏可通过
IGPRuntimeManager.onMapChanged或IGPEventManager.onMapChanged接收地图变化。 - 新增
IGPMapChangeData,包含变更前后的mapPublicId/mapVersionId和已更新的房间快照。 - Unity 快速接入、事件说明、房间生命周期示例、问题排查和官网房间文档已补充运行中换地图接入说明。
0.0.6 - 2026-05-13
Section titled “0.0.6 - 2026-05-13”- Unity / GameMaker / Godot 成就模块新增清除当前游戏全部成就的调用入口,并返回清除结果。
- Unity Mirror 传输层默认兼容 Mirror
v89.0.0之后的版本,v90.0.0以上仍作为推荐版本。
0.0.5 - 2026-05-12
Section titled “0.0.5 - 2026-05-12”- desktop session 连接阶段新增协议版本校验,desktop 过旧或协议不兼容时会立即给出清晰错误。
- SDK 会根据 desktop 返回的能力清单判断功能是否可用,避免后续调用时才失败。
0.0.4 - 2026-05-12
Section titled “0.0.4 - 2026-05-12”- SDK 主动启动桌面端时,正式环境只允许启动官方可信的 IndieGamesPass;开发环境仍支持显式指定本机调试桌面端。
- Unity Editor 中未配置游戏 exe 调试路径时,SDK 会自动带上 Unity Editor 当前进程路径,并通过桌面端 SDK 联调规则按 appId 联调。
- Unity SDK 改为显式初始化,游戏需要主动调用
InitializeAsync()。 - Unity Editor 中
IGPRuntimeManager会自动挂载项目里的IGPConfig,缺失时自动创建配置。 - desktop session、host bridge 和 hosted session 的协议常量改为统一生成,减少协议结构漂移。
- Unity SDK 文档已同步最新接入方式和 Editor 联调说明。
0.0.2 - 2026-04-29
Section titled “0.0.2 - 2026-04-29”- Unity SDK 新增可选合规模块
cn.indiegp.sdk.unity.compliance,用于实名认证和防沉迷功能的事件读取和状态变化通知。 - 合规模块新增实名认证和防沉迷功能的年龄段和剩余可玩时长读取入口,游戏无需自行换算。
- 实名认证和防沉迷功能遇到网络或服务异常时,会在合规模块内按不允许进入处理,默认提示为「网络或服务异常」。
- Unity SDK 加强本地通信、编辑器联调和离线授权缓存的安全处理,降低本机异常输入与调试信息残留风险。
- Unity SDK 发布包调整为
.unitypackage,便于在 Unity Editor 中通过Import Package直接导入。
0.0.1 - 2026-03-31
Section titled “0.0.1 - 2026-03-31”SDK 初始化版本。
- 提供 Unity SDK 基础能力,支持启动连接、成就、房间联机大厅、实时消息、状态与 RPC 等核心功能。
- 提供 Unity Mirror 传输层可选包,用于接入基于 Mirror 的联机场景。
- 提供基础发布包、示例工程和接入说明,便于开发者完成首轮集成与验证。