Unity 调试
本页说明当前公开 SDK 可执行的 Editor 调试流程。安装和最小接入请先查看 安装 和 Quick Start。
连接成功标准
Section titled “连接成功标准”Core 桌面能力的成功条件是:
InitializeAsync()返回成功。IGPRuntimeManager.IsDesktopSessionAttached == true。- 目标能力(例如正版校验或成就)返回预期结果。
这不代表已经加入房间或连接 RoomNode Game 数据面。
Editor 中验证 Desktop 能力
Section titled “Editor 中验证 Desktop 能力”Unity Editor 里通常不需要填写 Desktop Executable Path Debug Override。留空时,
SDK 会按 SDK Environment 启动对应桌面端,并把 Unity Editor 当前进程路径和
appId 交给桌面端,由桌面端联调规则判断是否允许连接。
仅在模拟正式安装路径或排查 exe 绑定时填写该字段。它必须是游戏真实的
Windows 可执行文件路径,例如 D:\builds\MyGame\MyGame.exe,而不是桌面端路径。
PROD使用 IndieGamesPass。PREVIEW使用 IndieGamesPass Preview。DEV使用 IndieSpark,并允许显式的Desktop Launch Command或INDIEGP_DESKTOP_PATH调试覆盖。
该覆盖只在 Editor 中生效。Build Player 自动使用自身 exe 路径。
可在 IGPConfig 中将 Debug Logging 设置为 Error、Warning、Info 或
Debug。运行时也可以临时修改:
runtimeManager.Config.debugLogging = IGPLogLevel.Debug;正式发布建议关闭详细日志。日志和异常不得包含 session token、RoomNode token 或其他连接凭证。
Multiplayer 当前状态
Section titled “Multiplayer 当前状态”Core 初始化时根据当前 Unity 运行平台按 Desktop、Mobile 优先级判断,随后只
创建一个 runtime;attach 失败不会切换平台,也没有平台配置项。Multiplayer 不
参与这项选择:无参数创建入口向当前 Core provider 请求 descriptor,
descriptor 重载则接受调用方显式传入。Runtime 随后只连接 KCP/TCP reliable 与
可选 UDP unreliable Game lane。
以下旧流程不再作为目标行为,也不应写入新接入验收:
- Hosted launch package 或 launch ticket 自动进房;
Connect Current Test Room;- 通过
RoomChanged、CurrentRoomData或 Runtime 房间命令判断联机成功。
Multiplayer 的成功条件只包含 IsRuntimeCreated、RoomNode Game lane readiness、
游戏消息收发和传输错误,不包含 Gateway 房间状态。
- 始终是
detached:确认桌面端已登录,账号允许联调当前appId,并检查 选择的 SDK 环境。 - Core 成功但没有房间事件:这是预期的职责边界;Core 不负责房间,Runtime 也不应公开 Gateway 房间事件。
- Core 成功但 Runtime 未创建:这是 Host descriptor 链路不可用时的预期 软失败;检查 warning,修复链路后调用显式重试接口。