Skip to content

October 2025 GDK Update 1 v2510.1.6224

Latest

Choose a tag to compare

@MattHyman MattHyman released this 12 Dec 01:28
08b60ee

October 2025 Microsoft Game Development Kit (GDK) release notes

Introduction

Welcome to the October 2025 Microsoft Game Development Kit release. You can use the GDK to develop games that can be certified and approved for release on Windows 11 PCs and Windows 10 PCs.

About this document

We have organized this document into the following sections.

What's new in the October 2025 Microsoft Game Development Kit

  • The GDK is released in two types: Major (focused on features, two times a year) and Updates (focused on fixes, as often as needed).
  • To view the full What's New section, see the online version of What's New.

October 2025 GDK Update 1

Notifications

Cross-platform functionality

XUserSignOutAsync and XUserSignOutResult have been added to support player sign-out on Steam Deck. XUserIsSignOutPresent can be used to determine whether the current device supports sign-out via API.

Xbox services

Three new APIs—XGameInviteRegisterForPendingEvent, XGameInviteUnregisterForPendingEvent, and XGameInviteAcceptPendingInvite—have been added to restore consistency for XGameInvite callbacks, which previously behaved inconsistently across in-proc and out-of-proc scenarios. The new pending-invite handler is called only in in-proc flows. After the title handles invite acceptance, XGameInviteAcceptPendingInvite is called. This triggers the invite-accepted callback.

On Windows and Xbox console (where Gaming Runtime Services (GRTS) is available), shell UI was responsible for the invite acceptance flow. The title was notified only when the invite was accepted. For in-proc scenarios, such as Steam Deck, titles handle invite acceptance. The XGameInvite callback fires when an invite is received so that titles can manage the acceptance flow.

Microsoft Azure PlayFab Game Saves

Upload progress tracking now reports compressed byte counts. This change keeps progress callbacks and telemetry aligned with the actual data streamed and prevents premature "completed" percentages when large saves compress poorly.

The previously dormant PFGameSaveFilesAddUserOptions::RollbackToLastKnownGood and RollbackToLastConflict flags have been enabled. They now honor rollback requests during PFGameSaveFilesAddUserWithUiAsync. Titles get the expected selection instead of always syncing to the latest save.

Initialization now cleans up correctly after E_INVALIDARG failures (such as a missing Steam Deck save path). This change ensures that subsequent calls no longer report "already initialized."

Logging was added to improve diagnostics when running out-of-process.

Issue fixes

Microsoft Azure PlayFab Party

Fixed an issue where PlayFab Party voice chat couldn't be established when no XUser was signed in, including on Steam games played on Windows without an Xbox network user and on Steam Deck.

Xbox services

Fixed an issue where the URI received by the game from XGameInvite callbacks on Steam Deck didn't match the URI received on Windows. The Steam Deck URI only included the connection string but was missing the sender information and invited user XUID.

October 2025 GDK

Notifications

GDK tools

The /updatesubval flag has been added to MakePkg for checking for a newer version of SubmissionValidator.dll. If this flag is used and a newer version of the SubmissionValidator.dll is available, MakePkg downloads and places the .dll file in the path for MakePkg.

The Touch Adaptation Kit Command Line Tool (TAK CLI) (tak.exe) has been removed from the GDK setup. For instructions about how to download this tool, go to TAK CLI on GitHub.

Known issues

XUserResolveIssueWithUiAsync flow

Issue:
The XUserResolveIssueWithUiAsync API is intended to resolve user account issues such as token or consent problems, not to change the signed-in identity. However, it's possible for a user who originally signed in with Account A to complete this flow and sign in with Account B, resulting in a different XUID.

Impact:
When the account changes during this flow, the API detects the mismatch and automatically fails the operation.

Applies to:

  • October 2025 GDK
  • October 2025 GDK Update 1

Guidance:
If the operation fails because of an account change, remove the user and re-add the user to ensure proper sign-in.

Downloading compressed save data

Issue:
PlayFab Game Saves might encounter issues when downloading compressed save data that's larger than its uncompressed size. This is most commonly encountered when a game is using its own file compression in addition to PlayFab Game Saves.

Applies to:

  • October 2025 GDK
  • October 2025 GDK Update 1

Guidance:
Consider disabling additional file compression, if possible.

Status:
This will be fixed in a future GDK update.

XblTestAccountGui tool test account error

Issue:
The XblTestAccountGui tool might fail to sign in test accounts. If so, the following error message appears.

Live auth error: Login Error: The remote server returned an error: (400) Bad Request.

Applies to:

  • October 2025 GDK
  • October 2025 GDK Update 1

Status:
This issue is corrected in the latest GitHub release of the Xbox Live developer tools. They're available at https://aka.ms/xbltools. This fix will be included in a future GDK release.

XGameInviteRegisterForPendingEvent must be called before adding XUsers

Issue:
On Steam Deck, XGameInviteRegisterForPendingEvent must be called before adding XUsers, or they won't be properly registered for invite notifications. This sequencing requirement was unintentional.

Applies to:
October 2025 GDK Update 1

Status:
This issue will be fixed in a future GDK release.

XGameInviteRegisterForPendingEvent requires connectionString to be set

Issue:
On Steam Deck, XGameInviteRegisterForPendingEvent won't invoke title callbacks for invites that are missing the Xbox Multiplayer Activity (MPA) connectionString. Although it's an optional field when sending the invite, XGameRuntime drops invite payloads without it.

Applies to:
October 2025 GDK Update 1

Workaround:
Provide a non-empty connection string when sending the invite. Ignore it on the receiving end if it isn't needed.

Status:
This issue will be fixed in a future GDK release.

Documentation

Offline documentation for the October 2025 release of the GDKX is installed on your development PC by the GDKX Setup program. After running Setup, the Help file for the GDKX (gdk.chm) is in C:\Program Files (x86)\Microsoft GDK\Documentation.