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

# April 2026 Microsoft Game Development Kit (GDK) release notes

> Describes breaking changes, notifications, bug fixes, and known issues for the April 2026 Microsoft Game Development Kit (GDK).

## Introduction

Welcome to the April 2026 Microsoft Game Development Kit with XBOX Extensions (GDKX) and the public GDK release. You can use the GDKX to develop games that can be certified and approved for release on Windows 11 PCs, Windows 10 PCs, XBOX One, and XBOX Series X|S consoles *by using a shared codebase*. For the GDK, you can develop games that can be certified and approved for release on Windows 11 PCs and Windows 10 PCs.

## GDKX

> * The April 2026 GDKX can be installed side-by-side with GDKXs from November 2019 and later.
> * You can download GDKX releases from [https://aka.ms/gdkdl](https://aka.ms/gdkdl).
> * The release notes for all GDKX releases are at [https://aka.ms/gdkreleasenotes](https://aka.ms/gdkreleasenotes).

## GDK

> * You can download GDK releases and view their release notes at [https://aka.ms/gdk-winget](https://aka.ms/gdk-winget).

### About this document

We have organized this document into the following sections.

* [What's new](https://docs.xbox.com/announcements/gdk/2604/whats-new-2604.md)
* **Release notes:**
  * [April 2026 GDK Update 5](#april-2026-gdk-update-5)
  * [April 2026 GDK Update 4](#april-2026-gdk-update-4)
  * [April 2026 GDK Update 3](#april-2026-gdk-update-3)
  * [April 2026 GDK Update 2](#april-2026-gdk-update-2)
  * [April 2026 GDK Update 1](#april-2026-gdk-update-1)
  * [April 2026 GDK](#april-2026-gdk)
* [Known issues](#known-issues)
* [Documentation](#documentation)

> **NOTE**: Release notes have a number after their descriptions, such as \[12345678]. For GDKX users, this number represents an internal ID that Microsoft uses to track the work and history relating to the item. This number can be useful to your developer account manager if you have questions about a particular release note.

***

### What's new in the April 2026 Microsoft Game Development Kit

> * The GDKX and the GDK are released in two types: Major (focused on features, twice a year) and Updates (focused on fixes, as often as needed by partners).
> * To view the full What's new section, see the online version of [What's new](https://docs.xbox.com/announcements/gdk/2604/whats-new-2604.md).
> * To view release notes for previous versions, for the GDKX, see [release notes posts](https://aka.ms/gdkreleasenotes) on the GDK forums. For the GDKX and the GDK, you can view the release notes in the online documentation at [GDK release notes](https://docs.xbox.com/announcements/gdk/release-notes.md).

***

## April 2026 GDK Update 5

### Issue fixes

#### PlayFab Party

> Updated PlayFab Party to v1.10.26, which includes the following fixes:
>
> * Fixed a possible crash while destroying a `PartyEndpoint`.
> * Fixed handling of empty, malformed, or incomplete responses from `/MultiplayerServer/GetCognitiveServicesToken`. Party now reports the request as failed instead of possibly crashing.
> * Fixed a possible crash if direct connectivity setup completed after a remote device left a peer-to-peer network.
>
> \[63883777]

#### System

> Fixed a possible title crash in `xgameruntime.dll!OnRuntimeDisconnected` when large strings are passed to `XSpeechSynthesizerCreateStreamFromText`. \[63860960]

> Improved handling of memory pressure when performing read or write game save operations. \[63996543]

> Improved the error codes returned when a read or write game save operation fails. \[63996543]

***

## April 2026 GDK Update 4

### Issue fixes

#### Social Manager

> Fixed an issue where the GDK C Thunks DLL didn't export the Privacy mute-list, block-list, and Social friend-request-count changed-handler functions, so titles calling them silently linked against the XSAPI static library instead of the thunks DLL and ended up with a mismatched runtime. \[63776691]

> Fixed a stack-overflow crash while populating the Social Manager social graph because `PeoplehubService::DeserializeUser` used a 17-KB stack frame holding three redundant copies of each `XblSocialManagerUser`. \[63776693]

#### MSIXVC1 (Packaging)

> `makepkg2 pack` without the `/msixvc2` option once again works without giving an error about the `/usepublisherkey` option. This issue was introduced in Update 3. \[63529609]

#### Wdapp

> Fixed an issue where using `wdapp register` on a game with both ARM64 and x64 binaries didn't choose the appropriate binary on ARM64 machines. \[63756866]

#### PIX

> Fixed an issue in the PIX timeline where named fences' arrows weren't displayed. \[63446892]

***

## April 2026 GDK Update 3

### Notifications

#### Publisher Content

> PC and console games can now ship Publisher Content, a new package type that lets game publishers host and update content on their own CDNs while the platform continues to manage installation, background download, integrity, and the user experience.
>
> Developers declare it in their `MicrosoftGame.config` (via the new `PublisherContent` element on the base game and the `PublisherContentBaseProduct` field on the content package) and produce the package with the corresponding new `makepkg` parameters.
>
> Games can identify the kind of a package returned by existing GDK APIs using the new `XPackageGetPackageKind()` API, which now reports `XPackageKind::PublisherContent` in addition to `Game` and `Content`.
> \[63082917]

#### PlayFab Party

> Upgraded the Windows platform toolset used to build the library from v142 to v143. \[63294760]

#### PIX

> New CLI tool is available to convert programmatic timing captures: `convertpevt.exe`. \[62666766]

### Issue fixes

#### Clang/LLVM

> The XBOX Game OS umbrella library `xgameplatform.lib` has been updated with the following Win32 APIs to support clang/LLVM's implementation of PGO instrumentation: `FlushViewOfFile`, `VirtualUnlock`.
>
> Developers using clang/LLVM's PGO need to also provide link aliases for some legacy POSIX APIs used by clang/LLVM's implementation to successfully link:
>
> ```cpp theme={null}
> #pragma comment(linker, "/alternatename:fileno=_fileno")
> #pragma comment(linker, "/alternatename:getpid=_getpid")
> #pragma comment(linker, "/alternatename:strdup=_strdup")
> ```
>
> \[62740693]

#### PIX

> Loading of large caches of external shader PDBs is more reliable and consistent. \[63014983]

#### PIX DirectStorage

> Fixed an issue that caused incorrect zooming behavior when navigating from either the Element Details view or the Range Details view in Timing Captures. \[62664029]

> Fixed an issue that caused the diamond marker that indicates the start of a DirectStorage batch in the Timing Capture timeline to be hard to read when in dark mode. \[62664035]

#### XBOX Manager

> Fixed an XBOX Manager crash that can occur while viewing video for a console or a group in the Remote Control tab. \[62844048]

#### PlayFab Game Saves

> Fixed minor telemetry reporting issues on Steam Deck where certain diagnostic fields were incorrectly populated during save operations. \[62642608]

> Disabled the conflict loser upload feature on Steam Deck to match XBOX/GRTS behavior. \[62642612]

> Fixed an issue where PlayFab Game Saves incorrectly handled missing registry keys, resulting in an initialization error. \[62642607]

#### Social Manager

> Fixed an issue where the Social Manager friends list could intermittently remain empty for an entire session (`XblSocialManagerDoWork` raised no `LocalUserAdded` event) when the initial People Hub friends-list request never completed. The initial request is now recovered automatically, so the social graph populates without requiring a game restart. \[63202269]

> Fixed an issue where Social Manager returned an incorrect title name and rich presence text for a friend playing a title whose display name contains a hyphen, because the presence string was split on the first hyphen instead of the intended space-hyphen-space separator. \[63202289]

#### PlayFab Party

> Fixed audio-manipulation voice streams producing no buffers when the title hadn't yet configured an audio output. \[63294702]

> Fixed possible voice loss when transitioning between networks while audio manipulation is active. \[63294760]

> Fixed missing final speech-to-text transcription when an audio manipulation capture stream is active. \[63294760]

> Fixed a possible crash on shutdown when the process task queue was deleted before Party finished shutting down. \[63294760]

> Fixed a possible use-after-free where internal HTTP tracking objects could be deleted before the backing async task completed. \[63294760]

> Fixed a bug where PlayFab Party would fail to bind to its UDP multiplayer port in some PC environments with misconfigured WMI registries. \[63251323]

#### Publisher Content

> Fixed an internal bug in `XTaskQueue` to prevent an infinite wait during teardown. \[63190218]

#### MSIXVC2

> MSIXVC2 creation now succeeds even if the Intelligent Delivery layout.xml has multiple features that use the same image file. \[63117723]

> MSIXVC2 pack command gracefully ignores the /maxencryptionfragments and /nogameos options (which have no effect on an MSIXVC2) to make it easier to drop into existing build pipelines. \[63118134]

> The MSIXVC2 pack command now correctly includes files from the source directory that are symbolic links. Previously it incorrectly treated these as 0 length files. \[63118309]

***

## April 2026 GDK Update 2

### Notifications

#### Developer tools

> The Direct3D 12 Desktop Game (Classic) template for Visual Studio 2019 no longer has ARM64 configurations. Support for targeting ARM64 with Visual Studio 2019 is deprecated. Visual Studio 2022 or later is required. \[62468394]

#### Markdown files available

> A .zip file with GDK documentation Markdown files has been added to the GDK installer. Previously, this .zip file was only available as a separate download at [https://aka.ms/gdkdl](https://aka.ms/gdkdl). \[62398050]

### Issue fixes

#### Input

> Fixed an issue where a potential out-of-memory error occurred when calling `GameInputCreate` in the `NuGet` version of `GameInput` on XBOX. \[62353092]

#### PIX

> Fixed an issue where PIX incorrectly reported the console mode as Lockhart when opening captures that were taken on Lockhart 40GB. \[62490828]

#### Media

> Fixed an issue that caused the H.264 decoder Media Foundation Transform (MFT) to stop responding during destruction when the decoder was created and destroyed without submitting input video samples. \[62525251]

#### System

> Fixed a issue in unsigned (local) MSIXVC2 packages that failed to install by using `wdapp`. \[62386086]

***

## April 2026 GDK Update 1

### Notifications

#### XBOX Game Package Manager

> Use the latest XBOX Game Package Manager (XGPM) UI release from GitHub when creating and uploading MSIXVC2 packages. This release includes multiple fixes. To download it, go to [releases - Microsoft/PackageUploader](https://github.com/microsoft/PackageUploader/releases).

### Issue fixes

#### System

> Fixed a memory leak in the `XGameActivationAcceptPendingInvite` API. \[61953160]

> Fixed an issue where `XLaunchUri` failed with URIs longer than 21 characters. \[62181431]

> Fixed an issue in the `XGameInvite.h` and `XGameProtocol.h` GDK header files that could cause a C4768 compiler error. \[62181564]

#### MSIXVC2

> Fixed various component reliability and performance issues in the preview version of MSIXVC2. \[62225080]

#### Developer tools

> Fixed an issue where the MicrosoftGame.config Editor silently failed to save or create new files while reporting success. \[62226865]

***

## April 2026 GDK

### Notifications

#### GDK layout deprecation

> The October 2025 and April 2026 GDK releases include both the simplified and legacy layouts. Beginning with the October 2026 GDK, setup installs only the simplified layout by default. The legacy layout can still be selected as an optional installation, but it is deprecated and is no longer the recommended development path.
>
> The legacy layout will no longer be supported and will be removed from the installer starting with the April 2027 GDK release.

#### API deprecations

> The `XGameActivation` API has replaced the `XGameProtocol` and `XGameInvite` APIs, providing a single API surface for all game activation scenarios. As a result, `XGameProtocol` and `XGameInvite` are now deprecated. Existing implementations will continue to function, but we recommend migrating to `XGameActivation` for new development and future compatibility.
>
> The following APIs have been deprecated.
>
> * `XGameProtocolRegisterForActivation`
> * `XGameProtocolUnregisterForActivation`
> * `XGameInviteRegisterForEvent`
> * `XGameInviteUnregisterForEvent`
> * `XGameInviteRegisterForPendingEvent`
> * `XGameInviteUnregisterForPendingEvent`
> * `XGameInviteAcceptPendingInvite`
>
> For more information, see [XGameActivation](https://docs.xbox.com/reference/system/xgameactivation/xgameactivation_members.md?view=gdk-2604).
>
> \[61232139]

#### Developer tools

> Mainstream support for Visual Studio 2019 has expired. Extended support continues until April 2029. For more information about Visual Studio 2019 product lifecycle and servicing, see [Visual Studio 2019 Product Lifecycle and Servicing](https://learn.microsoft.com/visualstudio/releases/2019/servicing-vs2019).
>
> Visual Studio 2019 and the v142 toolset compiler are out of mainstream support as of April 2024 and are only getting security servicing. Support for Visual Studio 2019 integration and use of the v142 platform toolset via Visual Studio 2022/Visual Studio 2026 will be removed in a future release of the GDK. This process will include the removal of the `Microsoft.Xbox.Services.142.GDK.C.lib` library. For Visual Studio 2022 and Visual Studio 2026, we recommend moving to `Microsoft.Xbox.Services.143.GDK.C.lib`, which was added in the April 2026 GDK.
>
> \[61594513]

> Address Sanitizer (ASAN) for XBOX is no longer supported on Visual Studio 2019. \[60868415]

> Screen captures can now be copied to the clipboard from the XBOX Manager Media Capture tab. \[41667882]

> PC command-line tools such as `wdcapture`, `wdcapturesession`, and `xblpcsandbox` now support direct bug feedback submission through the Feedback Hub app. \[60250549]

> Package Uploader now supports federated credentials. \[60771527]

#### Microsoft Azure PlayFab

> PlayFab Multiplayer has been updated to v1.9.0. For details, see [PlayFab Multiplayer C++ SDK Release Notes - PlayFab | Microsoft Learn](https://docs.xbox.com/gaming/playfab/multiplayer/lobby/lobby-matchmaking-sdks/lobby-and-matchmaking-release-notes.md#190). \[61288995]

#### Microsoft Azure PlayFab Party

> PlayFab Party has been updated to v1.10.18. For details, see [PlayFab Party Release Notes - PlayFab | Microsoft Learn](https://docs.xbox.com/gaming/playfab/multiplayer/networking/release-notes.md#11018). \[61288995]

#### Issue Fixes

> Fixed an issue that caused the language setting in a non-English command prompt to change to English after running GDK XBOX command-line tools such as xbapp.exe or xbconnect.exe. \[59688191]

> Fixed an issue where XBOX Game Package Manager didn't populate the UI with the last selected branch. \[60771527]

***

## Known issues

### makepkg2: /priorpackage doesn't generate a compare report for MSIXVC2 packages

> **Issue:**\
> In `makepkg2`, using the `/priorpackage` flag when packing MSIXVC2 packages doesn't generate a compare report. Compare report generation isn't supported for MSIXVC2 packages in this release.
>
> **Applies to:**
>
> * April 2026 GDK
>
> **Workaround:**\
> None at this time.
>
> **Status:**\
> This issue will be fixed in a future GDK update.
>
> \[61771743]

### makepkg2: layout.xml requires DisplayName on all features

> **Issue:**\
> In `makepkg2`, the `layout.xml` parser requires the `DisplayName` attribute on all features, including hidden features where a display name isn't meaningful.
>
> **Applies to:**
>
> * April 2026 GDK
>
> **Workaround:**\
> Add a placeholder `DisplayName` attribute to any hidden features in `layout.xml`.
>
> **Status:**\
> This issue will be fixed in a future GDK update.
>
> \[61767246]

### makepkg2: /contentid flag fails when ContentId is absent from MicrosoftGame.config

> **Issue:**\
> In `makepkg2`, using the `/contentid` flag when no `ContentId` is specified in `MicrosoftGame.config` results in the following error.
>
> *`/contentid specified on the command line does not match the ContentId derived from the MicrosoftGame.config file.`*
>
> This behavior differs from `makepkg`, which accepted the `/contentid` value directly in this scenario.
>
> **Applies to:**
>
> * April 2026 GDK
>
> **Workaround:**\
> Use `/contentidoverride` instead of `/contentid`.
>
> **Status:**\
> This issue will be fixed in a future GDK update.
>
> \[61767256]

### MSIXVC2 packages can't be uploaded to Microsoft Partner Center via its web UI

> **Issue:**\
> The upload of an `.msixvc` package to Partner Center fails if it was built by using the new `makepkg2` tools.
>
> **Applies to:**
>
> * Partner Center web UI
>
> **Workaround:**\
> Use one of the following tools to upload MSIXVC2 packages to Partner Center.
>
> * `makepkg2` upload command: `makepkg2 upload /d <content_directory> /branch "<BranchName>" /msixvc2`
>
> * **XBOX Game Package Manager**: Download the latest version from [https://github.com/microsoft/PackageUploader](https://github.com/microsoft/PackageUploader).
>
> **Status:**\
> Partner Center will be updated in the coming months to add support for web uploads of MSIXVC2 packages.

### XboxPcTray.exe might block MSIXVC2 package uninstall or update

> **Issue:**\
> `XboxPcTray.exe` sometimes retains a handle to the game's Content folder, which can prevent uninstall or update operations from completing.
>
> **Applies to:**
>
> * April 2026 GDK
>
> **Workaround:**\
> Close the XBOX PC Tray app before attempting to uninstall or update. To close it, right-click the `XboxPcTray` icon in the system tray, and then select **Quit**. You can also end the `XboxPcTray.exe` process in Task Manager.
>
> **Status:**\
> This issue will be fixed in a future GDK update.
>
> \[61618609]

### MSIXVC2 packages can't be uploaded via Package Uploader

> **Issue:**\
> Uploading an `.msixvc` package to Partner Center via the Package Uploader command-line tool fails with a 400 (Bad Request) error if the package was built by using the `makepkg2` tool with the `/msixvc2` flag. Although MSIXVC and MSIXVC2 packages share the same `.msixvc` file extension, MSIXVC2 packages use a different internal format that Package Uploader doesn't currently support.
>
> **Applies to:**
>
> * Package Uploader CLI (PackageUploader.exe)
>
> **Workaround:**\
> Use one of the following tools to upload MSIXVC2 packages.
>
> * makepkg2 upload command: `makepkg2 upload /d <content_directory> /branch "<BranchName>" /msixvc2>`
> * **XBOX Game Package Manager:** Download the latest version from [https://github.com/microsoft/PackageUploader](https://github.com/microsoft/PackageUploader).
>
> **Status:**\
> This issue will be addressed in a future release of Package Uploader.

### MSIXVC2 packages in Partner Center appear as 1 byte in size in its UI

> **Issue:**\
> Partner Center shows an incorrect size for uploaded MSIXVC2 packages. It shows 1 byte, regardless of the package's size.
>
> **Applies to:**
>
> * Partner Center
>
> **Workaround:**\
> None at this time.
>
> **Status:**\
> This issue will be fixed in a future GDK tools update.

### Build With/Out Install (BWOI) MSBuild integration for Visual Studio 2026

> **Issue:**\
> The Build With/Out Install (BWOI) MSBuild integration for Visual Studio 2026 differs slightly from previous releases. In the current releases of Visual Studio 2026, the BWOI implementation must "lock" to a specific `VCTargetsPath`. The result is that all projects are built with v145 or clang-cl, even if the `PlatformToolset` values are set to v142 or v143. These older toolsets usually build correctly in standard Visual Studio scenarios.
>
> **Applies to:**
>
> * April 2026 GDK
>
> **Workaround:**\
> For details about a workaround, see [BWOIExample](https://github.com/microsoft/XBOX-GDK-Samples/tree/main/Samples/Tools/BWOIExample/readme_en-us.md).
>
> **Status:**\
> The GDK team and the Visual Studio team are working to resolve this issue in a future Visual Studio release.
>
> \[61855642]

***

## Documentation

> Offline documentation for the April 2026 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.

> * The online GDKX and GDK documentation is at [Game Development Kit (GDK) documentation](https://aka.ms/gdkonline).

***


## Related topics

- [Release notes for the Microsoft Game Development Kit (GDK)](https://docs.xbox.com/announcements/gdk/release-notes.md)
- [What's new in the Microsoft Game Development Kit (GDK)](https://docs.xbox.com/announcements/gdk/whats-new.md)
- [Visual Studio 2026 GDK support notes](https://docs.xbox.com/tools/tools-console/visualstudio/vs-2026-support-notes.md)
- [XBOX Godot Sample v0.1.0 Release](https://docs.xbox.com/build/gdk-and-engines/godot-release-notes/godot-release-notes-0-1-0.md)
