> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XBOX Godot Sample v0.3.0 Release

> Breaking type rename, new features, improvements, and fixes in v0.3.0 of the XBOX Godot Sample for building Godot games that ship to XBOX on PC.

***Release date: August 19, 2026***

The [XBOX Godot sample](https://aka.ms/XBOXGodotSample) is a public, source-only reference that shows how to build a Godot extension that integrates the Microsoft GDK, XBOX services, and PlayFab, so you can build your title for XBOX on PC. This article summarizes the changes in the **v0.3.0 - Compatibility + Community Fixes** release.

For a complete list of commits, see the [full changelog for v0.3.0](https://github.com/microsoft/XBOX-Godot-Sample/compare/v0.2.0...v0.3.0) on GitHub. To get the release, see [v0.3.0 on GitHub](https://github.com/microsoft/XBOX-Godot-Sample/releases/tag/v0.3.0).

<Info>
  This release contains a breaking change. Every script-visible type in the `godot_gdk` addon was renamed, so `GDKUser` is now `XboxUser` and `GDKResult` is now `XboxResult`, and no deprecated aliases are provided. If you are upgrading an existing project, see [Breaking change: GDK addon type rename](#breaking-change-gdk-addon-type-rename).
</Info>

## Key highlights

* **Breaking type rename for broader engine compatibility.** Script-visible types were renamed, such as `GDKUser` to `XboxUser`, so the addon can be dropped into Godot forks that provide an XBOX Series X|S console platform layer without colliding with the types those forks already register.
* **Richer PlayFab Party voice and chat.** Party chat indicators, voice controls, text-to-speech, and network diagnostics were added to the PlayFab track.
* **More complete XUser coverage.** The missing XUser API wrappers were implemented, which enables XR-112 conformance work.
* **C# export fixes.** An "XBOX on PC" export now ships the C# assemblies, and the executable and `.pck` are delegated to Godot's own Windows export path.
* **Community-reported fixes.** Resolved issues around game-save quota queries, release builds linking the debug `godot-cpp`, and the GDK Tutorial 3 sample.

## Breaking change: GDK addon type rename

In v0.3.0, every script-visible type in the `godot_gdk` addon was given a new name: `GDKUser` is now `XboxUser`, `GDKResult` is now `XboxResult`, and so on. **No deprecated `GDK*` aliases are provided**, so any project that names these types directly must be updated before it will load.

### What changed

* GDScript types are renamed, for example `GDKUser` to `XboxUser`, `GDKResult` to `XboxResult`, and `GDKAchievement` to `XboxAchievement`.
* The C# facade moved with them: namespace `GodotGdk` becomes `GodotXbox`, and the static entry-point class `Gdk` is renamed to match, as shown below.
* The bootstrap autoload is renamed from `GDKBootstrap` to `XboxBootstrap`.
* The MSIXVC packaging forwarder environment variables are renamed from `GDKPKG_*` to `XBOXPKG_*`.

```gdscript theme={null}
# Before
var result: GDKResult = GDK.initialize()
var user: GDKUser = result.data

# After
var result: XboxResult = GDK.initialize()
var user: XboxUser = result.data
```

```csharp theme={null}
// Before
using GodotGdk;
GdkResult init = Gdk.Initialize();
GdkUser user = res.DataAs<GdkUser>();

// After
using GodotXbox;
XboxResult init = Xbox.Initialize();
XboxUser user = res.DataAs<XboxUser>();
```

### Why it changed

Godot registers extension classes in a single flat `ClassDB` namespace, so two providers that expose the same type name cannot coexist in one project. Godot forks that add XBOX Series X|S console support supply their own platform layer, exports, and types, and the `GDK` prefix collided with names those forks already use. Renaming the addon's types keeps them distinct so it can be dropped into such a fork.

The same addon build runs on PC and on console. There is no separate console compilation, preset, or conditional define, and `godot_gdk.gdextension` continues to declare only the `windows.*.x86_64` libraries.

### What did not change

* The engine singleton is still registered as `GDK`. Calls such as `GDK.initialize()` and `GDK.users.add_default_user_async()` keep working unchanged.
* The `addons/godot_gdk` folder, the `godot_gdk.gdextension` entry point, and the `gdk/runtime/*` and `gdk/packaging/*` Project Settings.
* The `PlayFab*` and `GameInput*` types. The rename is scoped to the GDK addon.
* The `gdk` export feature tag, the "XBOX on PC" export platform, and the `GodotGdkCSharp` project and assembly name.

<Warning>
  The `ClassDB` class name and the singleton name are now different strings. The singleton is still registered as `GDK`, but the class behind it is not, so a check such as `is_class("GDK")` no longer matches. Compare against the renamed class instead:

  ```gdscript theme={null}
  # Before
  if GDK.get_class() == "GDK":

  # After
  if GDK.get_class() == "Xbox":
  ```
</Warning>

### How to migrate

The sample ships a codemod alongside the migration guide. Commit your project first, because the codemod rewrites files in place.

```powershell theme={null}
.\tools\migrate_gdk_to_xbox.ps1 -Path C:\path\to\your\godot\project -WhatIf
.\tools\migrate_gdk_to_xbox.ps1 -Path C:\path\to\your\godot\project
```

The codemod deliberately does not rewrite a bare `GDK` token, because in most projects that token is the singleton, which must not change. It reports the ambiguous occurrences it finds so you can review them by hand.

For the full old-to-new mapping tables for GDScript and C#, see [Migrating to v0.3.0](https://github.com/microsoft/XBOX-Godot-Sample/blob/main/docs/gdk/migration-v0.3.md) in the sample repository.

## Notable changes

### New features

* Party chat indicators, voice controls, text-to-speech, and network diagnostics in the `godot_playfab` addon.
* The missing XUser API wrappers, which enable XR-112 conformance work.
* A Project Setting that controls the engine singleton name.

### Improvements

* Renamed the script-visible GDK addon types, for example `GDKUser` to `XboxUser`, with a migration guide and codemod. This is a breaking change.
* Improved README discoverability with a quick start, badges, and copy cleanup, plus blog and Discord links.
* Cleaned up documentation heading structure and fixed broken anchors.

### Fixes

* An "XBOX on PC" export now ships the C# assemblies.
* The "XBOX on PC" export delegates the executable and `.pck` to Godot's Windows export path.
* The game-save quota query now runs off the main thread.
* Release builds no longer silently link the debug `godot-cpp`.
* Dropped the Title Storage upload from the GDK Tutorial 3 sample.

### Engineering and CI

* PR gates are skipped for documentation-only changes.

## Related topics

* [Getting started with Godot](/build/gdk-and-engines/godot)
* [XBOX Godot Sample v0.2.0 Release](/build/gdk-and-engines/godot-release-notes/godot-release-notes-0-2-0)
* [XBOX Godot sample releases](https://github.com/microsoft/XBOX-Godot-Sample/releases)


## Related topics

- [Use the GDK with Godot](/build/gdk-and-engines/godot.md)
- [XBOX Godot Sample v0.1.0 Release](/build/gdk-and-engines/godot-release-notes/godot-release-notes-0-1-0.md)
- [XBOX Godot Sample v0.2.0 Release](/build/gdk-and-engines/godot-release-notes/godot-release-notes-0-2-0.md)
- [Godot & Community Engines overview](/paths/community-engines/overview.md)
- [Samples](/build/core-features/common/game-streaming/building-touch-layouts/samples/index.md)
