What's Changed
- BREAKING CHANGE: refactor(gdk)!: rename GDK* classes to Xbox* to avoid collisions with XBOX Series X|S console-capable Godot forks (v0.3.0) by James Lenell (@jameslen-atg) in #156
- Fix #136: drop Title Storage upload from GDK Tutorial 3 sample by James Lenell (@jameslen-atg) in #140
- feat(addons): make the engine singleton name a Project Setting by James Lenell (@jameslen-atg) in #142
- Fix #144: ship C# assemblies from an "XBOX on PC" export by James Lenell (@jameslen-atg) in #146
- Implement the missing XUser API wrappers (XR-112 enablement) by James Lenell (@jameslen-atg) in #147
- Fix broken doc anchors and clean up H1 titles by Zach Hooper (XBOX) (@zachhooper) in #149
- Improve README discoverability: quick start, badges, and copy cleanup by Zach Hooper (XBOX) (@zachhooper) in #148
- Skip PR gates for documentation-only changes by Zach Hooper (XBOX) (@zachhooper) in #150
- Fix #144: delegate the XBOX on PC .exe and .pck to Godot's Windows ex… by James Lenell (@jameslen-atg) in #151
- fix(godot_gdk): run game-save quota query off the main thread (#145) by James Lenell (@jameslen-atg) in #152
- docs: add Visit our Blog and Join our Discord badges to README by Zach Hooper (XBOX) (@zachhooper) in #153
- feat(godot_playfab): Party chat indicators, voice controls, TTS, and network diagnostics by James Lenell (@jameslen-atg) in #154
- fix(build): stop release builds from silently linking the debug godot-cpp by James Lenell (@jameslen-atg) in #155
Warning
Breaking change: GDK* classes are now Xbox*. Every script-visible type was renamed from the GDK prefix to the Xbox prefix — GDKUser → XboxUser, GDKResult → XboxResult, GDKAchievement → XboxAchievement, and so on. The C# facade moved with them: namespace GodotGdk → GodotXbox, static class Gdk → Xbox. No deprecated GDK* aliases are provided, so type references must be updated.
Why: to let this addon enable XBOX Series X|S console support inside compatible Godot engine forks. Those forks provide the XBOX Series X|S console platform layer, exports, and expose their own types, and the GDK* prefix collided with names they already use. Moving to the Xbox* prefix keeps this addon's types distinct so it can be dropped into such a fork and light up console scenarios there. Godot itself is unchanged — the engine's own console support is not something this repo provides.
One binary covers both. The same addon build runs on PC and on console — there is no separate console compilation, preset, or #define. godot_gdk.gdextension declares only the windows.*.x86_64 libraries, and those are what a console-capable fork loads too.
The singleton is still called GDK. Calls like GDK.initialize() and GDK.users.add_default_user_async() keep working unchanged — only the type names moved. The addons/godot_gdk folder, the gdk/runtime/* Project Settings, and the godot_gdk.gdextension entry point are all unchanged as well.
# before
var r: GDKResult = GDK.initialize()
var u: GDKUser = r.data
# after
var r: XboxResult = GDK.initialize()
var u: XboxUser = r.dataOne consequence worth calling out: the ClassDB class name (Xbox) and the singleton name (GDK) are now different strings. If your code class-checks the singleton, compare against "Xbox" — is_class("GDK") no longer matches.
See Migrating to v0.3.0 for the full old → new table, or run the codemod:
.\tools\migrate_gdk_to_xbox.ps1 -Path <your-project> -WhatIf