本版本包含一项重大变更。
godot_gdk 附加组件中每个脚本可见类型均已重命名,因此 GDKUser 现为 XboxUser,GDKResult 现为 XboxResult,且未提供已弃用的别名。如果你在升级现有项目,参见 重大变更:GDK addon 类型重命名。关键亮点
- 为更广的引擎兼容性所做的重大类型重命名。 脚本可见类型被重命名,例如
GDKUser变为XboxUser,使该附加组件能够被引入到那些提供 XBOX Series X|S 主机平台层的 Godot 分支中,且不会与这些分支已注册的类型发生冲突。 - 更丰富的 PlayFab Party 语音与聊天。 在 PlayFab 分支中新增了 Party 聊天指示器、语音控制、文本转语音以及网络诊断。
- 更完整的 XUser 覆盖。 实现了缺失的 XUser API 封装,为 XR-112 合规工作提供了支持。
- C# 导出修复。 “XBOX on PC” 导出现在会包含 C# 程序集,并将可执行文件与
.pck委托给 Godot 自身的 Windows 导出路径。 - 社区反馈的修复。 解决了与游戏存档配额查询、Release 构建链接到调试版
godot-cpp以及 GDK Tutorial 3 示例相关的问题。
重大变更:GDK addon 类型重命名
在 v0.3.0 中,godot_gdk 附加组件中每个脚本可见类型都被赋予了新的名称:GDKUser 现为 XboxUser,GDKResult 现为 XboxResult,以此类推。未提供已弃用的 GDK* 别名,因此任何直接引用这些类型名称的项目都必须先更新才能加载。
变更内容
- GDScript 类型被重命名,例如
GDKUser改为XboxUser,GDKResult改为XboxResult,GDKAchievement改为XboxAchievement。 - C# 门面也随之调整:命名空间
GodotGdk变为GodotXbox,静态入口点类Gdk也做了相应重命名,如下所示。 - Bootstrap 自动加载从
GDKBootstrap重命名为XboxBootstrap。 - MSIXVC 打包转发器的环境变量从
GDKPKG_*重命名为XBOXPKG_*。
变更原因
Godot 在单一扁平的ClassDB 命名空间中注册扩展类,因此暴露相同类型名称的两个提供者无法在同一项目中共存。添加 XBOX Series X|S 主机支持的 Godot 分支会提供自己的平台层、导出与类型,而 GDK 前缀与这些分支已使用的名称相冲突。将附加组件的类型重命名后,它们保持独立,便可被引入到此类分支中。
同一份附加组件构建产物既可在 PC 上运行,也可在主机上运行。没有单独的主机编译、预设或条件定义,godot_gdk.gdextension 仍只声明 windows.*.x86_64 库。
未变更的内容
- 引擎单例仍以
GDK名称注册。诸如GDK.initialize()和GDK.users.add_default_user_async()等调用无需修改即可继续工作。 addons/godot_gdk文件夹、godot_gdk.gdextension入口点,以及gdk/runtime/*与gdk/packaging/*项目设置。PlayFab*与GameInput*类型。重命名的范围仅限于 GDK 附加组件。gdk导出功能标签、“XBOX on PC” 导出平台,以及GodotGdkCSharp项目与程序集名称。
如何迁移
示例随附了一个 codemod 以及迁移指南。请先提交你的项目,因为 codemod 会就地重写文件。GDK 标记,因为在大多数项目中该标记指的是不可更改的单例。它会报告发现的歧义位置,供你手动审查。
有关 GDScript 与 C# 的完整新旧名称映射表,参见示例仓库中的 迁移到 v0.3.0。
值得注意的变更
新功能
- 在
godot_playfab附加组件中新增了 Party 聊天指示器、语音控制、文本转语音与网络诊断。 - 缺失的 XUser API 封装,可支持 XR-112 合规工作。
- 用于控制引擎单例名称的项目设置。
改进
- 重命名了 GDK 附加组件中脚本可见的类型,例如
GDKUser改为XboxUser,并提供迁移指南与 codemod。这是一项重大变更。 - 通过快速入门、徽章以及文案清理,并加上博客与 Discord 链接,改进了 README 的可发现性。
- 整理了文档标题结构并修复了失效的锚点。
修复
- “XBOX on PC” 导出现在会包含 C# 程序集。
- “XBOX on PC” 导出将可执行文件与
.pck委托给 Godot 的 Windows 导出路径。 - 游戏存档配额查询现在在主线程之外运行。
- Release 构建不再静默链接到调试版
godot-cpp。 - 从 GDK Tutorial 3 示例中移除了 Title Storage 上传。
工程与 CI
- 对仅涉及文档的变更跳过 PR 门禁。
