跳转到内容

Unity 调试

本页说明 如何在 Unity Editor 中调试 IGP SDK。安装和最小接入请先查看 安装Quick Start

在 Editor 中调试 IGP SDK 有两种典型场景:

  • 场景 A:验证 IGP 桌面客户端提供的能力(正版校验、成就解锁、进度上报)。
  • 场景 B:验证完整托管房间流程(launch ticket、自动进房、ready、start、finish、房间消息、state、RPC、数据面)。

单机游戏或暂不接入联机房间的游戏,通常只需要完成场景 A。只有接入房间、realtime、state、RPC、Mirror Transport、KCP 或运行中换地图时,才需要完成场景 B。

这条路径使用 desktop session,不依赖房间上下文。它适用于正版校验、成就解锁、成就进度上报等 room 无关能力。

Unity Editor 里直接调 desktop 能力时,通常不需要填写 Desktop Executable Path Debug Override

不填这个路径时,SDK 会按环境启动桌面端,并把 Unity Editor 当前进程路径和 appId 一起交给桌面端;是否允许联调由桌面端的 SDK 联调规则判断。只有需要模拟正式安装路径或排查本地 exe 绑定时,才需要填这个路径;此时应填写该游戏真实的 Windows 可执行文件路径(例如 D:\builds\MyGame\MyGame.exe),不要填写桌面端路径。

这个配置不是桌面端路径。桌面端启动命令由 SDK 根据 SDK Environment 自动选择:PROD 对应 IndieGamesPass,PREVIEW 对应 IndieGamesPass Preview,DEV 对应 IndieSpark。PRODPREVIEW 只会启动对应环境的官方可信桌面端;DEV 才允许用 Desktop Launch CommandINDIEGP_DESKTOP_PATH 明确指定本机调试用桌面端。

这条路径使用 hosted session,只适用于需要房间上下文的能力。单机接入不需要创建测试房间或选择地图。

需要验证从 launch ticket 开始的端到端流程时:

  1. 在 IGP 桌面客户端打开当前游戏的 SDK 联调
  2. 创建测试房间,或者加入一个已经存在的测试房间

2. 在 IGP 桌面客户端生成 Unity 启动包

Section titled “2. 在 IGP 桌面客户端生成 Unity 启动包”

在 IGP 桌面客户端中打开 SDK 联调 页,点击生成 Unity 启动包,复制生成的 JSON。

  1. 打开包含 IGPRuntimeManager 的场景
  2. 选中挂了 IGPRuntimeManager 的对象
  3. 在 Inspector 中找到 Unity Editor 联调 → Launch Package JSON
  4. 粘贴整包 JSON
  5. 点击 Apply Launch Package
  1. 点击 Editor 的 Play 按钮
  2. 在 Inspector 中点击 Connect Current Test Room

整个过程对 host 和 guest 是对称的:调试 host 端时使用 host 启动包,调试 guest 端时使用 guest 启动包。

  • 只看到 detached 状态:确认桌面端已登录、已打开 SDK 联调,后台已允许该账号联调当前 appId
  • Connect Current Test Room 持续连接失败:尚未先在 IGP 桌面客户端进入当前游戏的测试房间。
  • Apply Launch Package 后没有进房:启动包已经过期(ticket 有时效),回到桌面客户端重新生成。
  • 两端都已启动但看不到对方:两端使用了同一份启动包。每个玩家都需要使用各自对应的启动包。