Skip to main content
发布日期:2026 年 8 月 19 日 XBOX Godot 示例 是 GitHub 上一个公开的、仅提供源代码的参考,展示了如何构建一个 Godot 扩展,将 Microsoft GDK、XBOX 服务与 PlayFab 集成起来,让你能为 PC 上的 XBOX 构建作品。本文总结了 v0.3.0 - Compatibility + Community Fixes 版本中的变更。 有关完整的提交列表,参见 GitHub 上的 v0.3.0 完整变更日志。要获取该版本,参见 GitHub 上的 v0.3.0
本版本包含一项重大变更。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 项目与程序集名称。
ClassDB 类名和单例名现在是两个不同的字符串。单例仍以 GDK 注册,但其背后的类却不是,因此像 is_class("GDK") 这样的检查不再匹配。请改为对照重命名后的类进行比较:

如何迁移

示例随附了一个 codemod 以及迁移指南。请先提交你的项目,因为 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 门禁。

相关主题

最后修改于 2026年8月24日