Bot releases are visible (Hide)
Published by FLY1NGSQU1RR3L 12 months ago
Welcome to the October 2023 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.
We have organized this document into the following sections.
- The GDK is released in two types: Major (focused on features, three 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.
The GDK currently supports building game projects with the Visual Studio 2017 compiler and linker toolset (version v141) either from the command line or from the Visual Studio 2019 or Visual Studio 2022 IDEs.
Support for building game projects with the v141 toolset will be removed in the October 2024 version of the GDK.
Fixed an issue with
XStoreQueryAssociatedProductsAsync
where themaxItemsToRetrievePerPage
parameter wasn't returning the correct number of results when 26 or more products were requested.
The Microsoft Game Config editor can't be used to edit the new
<shareable>
element that has been added to<PersistentLocalStorage>
in the October 2023 GDK. You must edit the game config file manually to add the<shareable>
element.If the Microsoft Game Config editor is used to open a file that contains the
<shareable>
element, it will be inadvertently deleted when the file is saved.
Systems using the GDK Unity Package that have only the public GDK installed will have missing DLL issues in Unity projects until the next plugin release.
For more information and a quick fix, see Plugin fails to load DLLs/Tools for public GDK installs Issue #93 microsoft/gdk-unity-package.
Published by FLY1NGSQU1RR3L about 1 year ago
Welcome to the June 2023 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.
We have organized this document into the following sections.
- The GDK is released in two types: Major (focused on features, three 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.
Fixed several issues related to the Game Config Editor when using the Store Association module.
Fixed an issue that caused the MicrosoftGame.config file in Visual Studio to be reformatted when the xml was edited directly. This was caused because the GUI version of the game config editor was saving the file and overwriting the formatting.
Fixed an issue that caused wdapp.exe to incorrectly report error code 0x800705b4 (This operation returned because the timeout period expired) when installing a .msixvc file on a PC that has the latest public release of the Gaming Services component installed.
Fixed an issue that caused the Microsoft Game Config editor to scale incorrectly when the PC was set to a non-English language.
Fixed an issue where
XblCleanupAsync
would never complete when called without any ongoing requests.
If you're updating from a GDK version earlier than March 2023 GDK Update 3, check the release notes for previous releases for additional breaking changes that might affect you.
Microsoft Azure PlayFab APIs that previously took
XToken
in the request structure now takeXUserHandle
.
The following requests are affected.
PFInventoryRedeemMicrosoftStoreInventoryItemsRequest
PFFriendsClientGetFriendsListRequest
PFAccountManagementClientLinkXboxAccountRequest
A compile error now occurs when
XToken
is used in these APIs.
Multiplayer Session Directory and SmartMatch features deprecation timeline
We're announcing a deprecation timeline for new titles that use the MPSD and SmartMatch features in the GDK. These features will be deprecated by March 2024 and will be replaced with Microsoft Azure PlayFab Lobby and PlayFab Matchmaking. Titles should use Multiplayer Activity (MPA) for XR compliance. Developers can continue to use their own in-house or third-party multiplayer services in combination with MPA. We'll begin warning on API usage in the October 2023 GDK.
New titles will lose access to these features in March 2024. There will be a process for applying for exceptions after March 2024. Existing titles will continue to have access to the GDK APIs past that date. However, new titles will be prevented from access in Partner Center to configure SmartMatch Hoppers or MPSD Session Templates unless these titles are given an exception. For more information, members of a managed program can see MPSD deprecation on the GDK forums.
Fixed an issue where Xbox Services API (XSAPI) real-time event callbacks weren't invoked on
XTaskQueue
that was provided to XSAPI during initialization.
Fixed a rare crash in Achievement manager that was caused by retrieving un-cached achievements during a Real-Time Activity service resync.
You can view the documentation online at Game Development Kit (GDK) documentation.
Published by FLY1NGSQU1RR3L about 1 year ago
Welcome to the June 2023 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.
We have organized this document into the following sections.
- The GDK is released in two types: Major (focused on features, three 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.
Fixed an issue that caused the MicrosoftGame.config file in Visual Studio to be reformatted when the xml was edited directly. This was caused because the GUI version of the game config editor was saving the file and overwriting the formatting.
Fixed an issue that caused wdapp.exe to incorrectly report error code 0x800705b4 (This operation returned because the timeout period expired) when installing a .msixvc file on a PC that has the latest public release of the Gaming Services component installed.
Fixed an issue that caused the Microsoft Game Config editor to scale incorrectly when the PC was set to a non-English language.
Fixed an issue where
XblCleanupAsync
would never complete when called without any ongoing requests.
If you're updating from a GDK version earlier than March 2023 GDK Update 3, check the release notes for previous releases for additional breaking changes that might affect you.
Microsoft Azure PlayFab APIs that previously took
XToken
in the request structure now takeXUserHandle
.
The following requests are affected.
PFInventoryRedeemMicrosoftStoreInventoryItemsRequest
PFFriendsClientGetFriendsListRequest
PFAccountManagementClientLinkXboxAccountRequest
A compile error now occurs when
XToken
is used in these APIs.
Multiplayer Session Directory and SmartMatch features deprecation timeline
We're announcing a deprecation timeline for new titles that use the MPSD and SmartMatch features in the GDK. These features will be deprecated by March 2024 and will be replaced with Microsoft Azure PlayFab Lobby and PlayFab Matchmaking. Titles should use Multiplayer Activity (MPA) for XR compliance. Developers can continue to use their own in-house or third-party multiplayer services in combination with MPA. We'll begin warning on API usage in the October 2023 GDK.
New titles will lose access to these features in March 2024. There will be a process for applying for exceptions after March 2024. Existing titles will continue to have access to the GDK APIs past that date. However, new titles will be prevented from access in Partner Center to configure SmartMatch Hoppers or MPSD Session Templates unless these titles are given an exception. For more information, members of a managed program can see MPSD deprecation on the GDK forums.
Fixed an issue where Xbox Services API (XSAPI) real-time event callbacks weren't invoked on
XTaskQueue
that was provided to XSAPI during initialization.
Fixed a rare crash in Achievement manager that was caused by retrieving un-cached achievements during a Real-Time Activity service resync.
You can view the documentation online at Game Development Kit (GDK) documentation.
Published by FLY1NGSQU1RR3L about 1 year ago
Welcome to the March 2023 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.
We have organized this document into the following sections.
- The GDK is released in two types: Major (focused on features, three 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.
Fixed an issue where
XblCleanupAsync
would never complete when called without any ongoing requests. [45364143]
Fixed an issue that caused the Microsoft Game Config editor to scale incorrectly when the PC was set to a non-English language. [45264919]
As of the March 2023 recovery, the GDK Lighting API only supports the following devices on console. Support for additional devices will be added in future recovery releases.
- Razer Turret for Xbox One (keyboard and mouse)
- Razer BlackWidow Tournament Edition Chroma V2
Fixed an issue where
makepkg pack
would not create a package if the source files were read-only.
PlayFab Party titles that use peer-to-peer (P2P) for connectivity will now fall back to relayed connectivity if P2P connectivity is disrupted and unrecoverable.
If you're updating from a GDK version earlier than October 2022 GDK Update 2, check the release notes for previous releases for additional breaking changes that might affect you.
Side-by-side GDK uninstall issues
A bug in Visual Studio Installer version 17.4 can cause GDK components in Visual Studio 2019 and Visual Studio 2022 to work incorrectly after installing multiple GDK versions side-by-side on the same PC. The installer can also cause GDK uninstall failures.
This bug is fixed in Visual Studio Installer versions 17.4.6, 17.5.3 and 17.6.
Fixed a known issue where using the Visual Studio 2022 Debug Quick Resume option could result in a
failure to launch the title
error message.
Improved support for Japanese keyboard layouts in
GameInput
.
Added checks to the LTA tool to detect if an Azure PlayFab title is using a known sample
titleid
. The tool now returns a red failure that indicates that a sampletitleid
is being used and must be configured to use a non-sampletitleid
prior to being shipped to retail.
Added the PlayFab SDK Unreal Marketplace Plugin and GitHub Source to the ongoing official GDK compatibility matrix. Both releases were tested and are compatible with the March 2023 GDK and later.
You can view the documentation online at Game Development Kit (GDK) documentation.
Published by FLY1NGSQU1RR3L about 1 year ago
Welcome to the June 2023 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.
We have organized this document into the following sections.
- The GDK is released in two types: Major (focused on features, three 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.
Fixed an issue that caused the Microsoft Game Config editor to scale incorrectly when the PC was set to a non-English language.
Fixed an issue where
XblCleanupAsync
would never complete when called without any ongoing requests.
If you're updating from a GDK version earlier than March 2023 GDK Update 3, check the release notes for previous releases for additional breaking changes that might affect you.
Microsoft Azure PlayFab APIs that previously took
XToken
in the request structure now takeXUserHandle
.
The following requests are affected.
PFInventoryRedeemMicrosoftStoreInventoryItemsRequest
PFFriendsClientGetFriendsListRequest
PFAccountManagementClientLinkXboxAccountRequest
A compile error now occurs when
XToken
is used in these APIs.
Multiplayer Session Directory and SmartMatch features deprecation timeline
We're announcing a deprecation timeline for new titles that use the MPSD and SmartMatch features in the GDK. These features will be deprecated by March 2024 and will be replaced with Microsoft Azure PlayFab Lobby and PlayFab Matchmaking. Titles should use Multiplayer Activity (MPA) for XR compliance. Developers can continue to use their own in-house or third-party multiplayer services in combination with MPA. We'll begin warning on API usage in the October 2023 GDK.
New titles will lose access to these features in March 2024. There will be a process for applying for exceptions after March 2024. Existing titles will continue to have access to the GDK APIs past that date. However, new titles will be prevented from access in Partner Center to configure SmartMatch Hoppers or MPSD Session Templates unless these titles are given an exception. For more information, members of a managed program can see MPSD deprecation on the GDK forums.
Fixed an issue where Xbox Services API (XSAPI) real-time event callbacks weren't invoked on
XTaskQueue
that was provided to XSAPI during initialization.
Fixed a rare crash in Achievement manager that was caused by retrieving un-cached achievements during a Real-Time Activity service resync.
You can view the documentation online at Game Development Kit (GDK) documentation.
Published by FLY1NGSQU1RR3L over 1 year ago
Welcome to the March 2023 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.
We have organized this document into the following sections.
- The GDK is released in two types: Major (focused on features, three 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.
Fixed an issue where
XblCleanupAsync
would never complete when called without any ongoing requests. [45364143]
Fixed an issue that caused the Microsoft Game Config editor to scale incorrectly when the PC was set to a non-English language. [45264919]
As of the March 2023 recovery, the GDK Lighting API only supports the following devices on console. Support for additional devices will be added in future recovery releases.
- Razer Turret for Xbox One (keyboard and mouse)
- Razer BlackWidow Tournament Edition Chroma V2
Fixed an issue where
makepkg pack
would not create a package if the source files were read-only.
PlayFab Party titles that use peer-to-peer (P2P) for connectivity will now fall back to relayed connectivity if P2P connectivity is disrupted and unrecoverable.
If you're updating from a GDK version earlier than October 2022 GDK Update 2, check the release notes for previous releases for additional breaking changes that might affect you.
Side-by-side GDK uninstall issues
A bug in Visual Studio Installer version 17.4 can cause GDK components in Visual Studio 2019 and Visual Studio 2022 to work incorrectly after installing multiple GDK versions side-by-side on the same PC. The installer can also cause GDK uninstall failures.
This bug is fixed in Visual Studio Installer versions 17.4.6, 17.5.3 and 17.6.
Fixed a known issue where using the Visual Studio 2022 Debug Quick Resume option could result in a
failure to launch the title
error message.
Improved support for Japanese keyboard layouts in
GameInput
.
Added checks to the LTA tool to detect if an Azure PlayFab title is using a known sample
titleid
. The tool now returns a red failure that indicates that a sampletitleid
is being used and must be configured to use a non-sampletitleid
prior to being shipped to retail.
Added the PlayFab SDK Unreal Marketplace Plugin and GitHub Source to the ongoing official GDK compatibility matrix. Both releases were tested and are compatible with the March 2023 GDK and later.
You can view the documentation online at Game Development Kit (GDK) documentation.
Published by FLY1NGSQU1RR3L over 1 year ago
Welcome to the March 2023 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.
We have organized this document into the following sections.
- The GDK is released in two types: Major (focused on features, three 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.
Fixed an issue where
XblCleanupAsync
would never complete when called without any ongoing requests. [45364143]
Fixed an issue that caused the Microsoft Game Config editor to scale incorrectly when the PC was set to a non-English language. [45264919]
As of the March 2023 recovery, the GDK Lighting API only supports the following devices on console. Support for additional devices will be added in future recovery releases.
- Razer Turret for Xbox One (keyboard and mouse)
- Razer BlackWidow Tournament Edition Chroma V2
Fixed an issue where
makepkg pack
would not create a package if the source files were read-only.
PlayFab Party titles that use peer-to-peer (P2P) for connectivity will now fall back to relayed connectivity if P2P connectivity is disrupted and unrecoverable.
If you're updating from a GDK version earlier than October 2022 GDK Update 2, check the release notes for previous releases for additional breaking changes that might affect you.
Side-by-side GDK uninstall issues
A bug in Visual Studio Installer version 17.4 can cause GDK components in Visual Studio 2019 and Visual Studio 2022 to work incorrectly after installing multiple GDK versions side-by-side on the same PC. The installer can also cause GDK uninstall failures.
This bug is fixed in Visual Studio Installer versions 17.4.6, 17.5.3 and 17.6.
Fixed a known issue where using the Visual Studio 2022 Debug Quick Resume option could result in a
failure to launch the title
error message.
Improved support for Japanese keyboard layouts in
GameInput
.
Added checks to the LTA tool to detect if an Azure PlayFab title is using a known sample
titleid
. The tool now returns a red failure that indicates that a sampletitleid
is being used and must be configured to use a non-sampletitleid
prior to being shipped to retail.
Added the PlayFab SDK Unreal Marketplace Plugin and GitHub Source to the ongoing official GDK compatibility matrix. Both releases were tested and are compatible with the March 2023 GDK and later.
You can view the documentation online at Game Development Kit (GDK) documentation.
Published by FLY1NGSQU1RR3L over 1 year ago
Welcome to the June 2023 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.
We have organized this document into the following sections.
- The GDK is released in two types: Major (focused on features, three 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.
Fixed an issue that caused the Microsoft Game Config editor to scale incorrectly when the PC was set to a non-English language.
Fixed an issue where
XblCleanupAsync
would never complete when called without any ongoing requests.
If you're updating from a GDK version earlier than March 2023 GDK Update 3, check the release notes for previous releases for additional breaking changes that might affect you.
Microsoft Azure PlayFab APIs that previously took
XToken
in the request structure now takeXUserHandle
.
The following requests are affected.
PFInventoryRedeemMicrosoftStoreInventoryItemsRequest
PFFriendsClientGetFriendsListRequest
PFAccountManagementClientLinkXboxAccountRequest
A compile error now occurs when
XToken
is used in these APIs.
Multiplayer Session Directory and SmartMatch features deprecation timeline
We're announcing a deprecation timeline for new titles that use the MPSD and SmartMatch features in the GDK. These features will be deprecated by March 2024 and will be replaced with Microsoft Azure PlayFab Lobby and PlayFab Matchmaking. Titles should use Multiplayer Activity (MPA) for XR compliance. Developers can continue to use their own in-house or third-party multiplayer services in combination with MPA. We'll begin warning on API usage in the October 2023 GDK.
New titles will lose access to these features in March 2024. There will be a process for applying for exceptions after March 2024. Existing titles will continue to have access to the GDK APIs past that date. However, new titles will be prevented from access in Partner Center to configure SmartMatch Hoppers or MPSD Session Templates unless these titles are given an exception. For more information, members of a managed program can see MPSD deprecation on the GDK forums.
Fixed an issue where Xbox Services API (XSAPI) real-time event callbacks weren't invoked on
XTaskQueue
that was provided to XSAPI during initialization.
Fixed a rare crash in Achievement manager that was caused by retrieving un-cached achievements during a Real-Time Activity service resync.
You can view the documentation online at Game Development Kit (GDK) documentation.
Published by FLY1NGSQU1RR3L over 1 year ago
Welcome to the March 2023 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.
We have organized this document into the following sections.
- The GDK is released in two types: Major (focused on features, three 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.
Fixed an issue where
XblCleanupAsync
would never complete when called without any ongoing requests. [45364143]
Fixed an issue that caused the Microsoft Game Config editor to scale incorrectly when the PC was set to a non-English language. [45264919]
As of the March 2023 recovery, the GDK Lighting API only supports the following devices on console. Support for additional devices will be added in future recovery releases.
- Razer Turret for Xbox One (keyboard and mouse)
- Razer BlackWidow Tournament Edition Chroma V2
Fixed an issue where
makepkg pack
would not create a package if the source files were read-only.
PlayFab Party titles that use peer-to-peer (P2P) for connectivity will now fall back to relayed connectivity if P2P connectivity is disrupted and unrecoverable.
If you're updating from a GDK version earlier than October 2022 GDK Update 2, check the release notes for previous releases for additional breaking changes that might affect you.
Side-by-side GDK uninstall issues
A bug in Visual Studio Installer version 17.4 can cause GDK components in Visual Studio 2019 and Visual Studio 2022 to work incorrectly after installing multiple GDK versions side-by-side on the same PC. The installer can also cause GDK uninstall failures.
This bug is fixed in Visual Studio Installer versions 17.4.6, 17.5.3 and 17.6.
Fixed a known issue where using the Visual Studio 2022 Debug Quick Resume option could result in a
failure to launch the title
error message.
Improved support for Japanese keyboard layouts in
GameInput
.
Added checks to the LTA tool to detect if an Azure PlayFab title is using a known sample
titleid
. The tool now returns a red failure that indicates that a sampletitleid
is being used and must be configured to use a non-sampletitleid
prior to being shipped to retail.
Added the PlayFab SDK Unreal Marketplace Plugin and GitHub Source to the ongoing official GDK compatibility matrix. Both releases were tested and are compatible with the March 2023 GDK and later.
You can view the documentation online at Game Development Kit (GDK) documentation.
Published by FLY1NGSQU1RR3L over 1 year ago
Welcome to the March 2023 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.
We have organized this document into the following sections.
- The GDK is released in two types: Major (focused on features, three 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.
Fixed an issue where
XblCleanupAsync
would never complete when called without any ongoing requests. [45364143]
Fixed an issue that caused the Microsoft Game Config editor to scale incorrectly when the PC was set to a non-English language. [45264919]
As of the March 2023 recovery, the GDK Lighting API only supports the following devices on console. Support for additional devices will be added in future recovery releases.
- Razer Turret for Xbox One (keyboard and mouse)
- Razer BlackWidow Tournament Edition Chroma V2
Fixed an issue where
makepkg pack
would not create a package if the source files were read-only.
PlayFab Party titles that use peer-to-peer (P2P) for connectivity will now fall back to relayed connectivity if P2P connectivity is disrupted and unrecoverable.
If you're updating from a GDK version earlier than October 2022 GDK Update 2, check the release notes for previous releases for additional breaking changes that might affect you.
Side-by-side GDK uninstall issues
A bug in Visual Studio Installer version 17.4 can cause GDK components in Visual Studio 2019 and Visual Studio 2022 to work incorrectly after installing multiple GDK versions side-by-side on the same PC. The installer can also cause GDK uninstall failures.
This bug is fixed in Visual Studio Installer versions 17.4.6, 17.5.3 and 17.6.
Fixed a known issue where using the Visual Studio 2022 Debug Quick Resume option could result in a
failure to launch the title
error message.
Improved support for Japanese keyboard layouts in
GameInput
.
Added checks to the LTA tool to detect if an Azure PlayFab title is using a known sample
titleid
. The tool now returns a red failure that indicates that a sampletitleid
is being used and must be configured to use a non-sampletitleid
prior to being shipped to retail.
Added the PlayFab SDK Unreal Marketplace Plugin and GitHub Source to the ongoing official GDK compatibility matrix. Both releases were tested and are compatible with the March 2023 GDK and later.
You can view the documentation online at Game Development Kit (GDK) documentation.
Published by FLY1NGSQU1RR3L over 1 year ago
Welcome to the March 2023 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.
We have organized this document into the following sections.
- The GDK is released in two types: Major (focused on features, three 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.
Fixed an issue where
XblCleanupAsync
would never complete when called without any ongoing requests. [45364143]
Fixed an issue that caused the Microsoft Game Config editor to scale incorrectly when the PC was set to a non-English language. [45264919]
As of the March 2023 recovery, the GDK Lighting API only supports the following devices on console. Support for additional devices will be added in future recovery releases.
- Razer Turret for Xbox One (keyboard and mouse)
- Razer BlackWidow Tournament Edition Chroma V2
Fixed an issue where
makepkg pack
would not create a package if the source files were read-only.
PlayFab Party titles that use peer-to-peer (P2P) for connectivity will now fall back to relayed connectivity if P2P connectivity is disrupted and unrecoverable.
If you're updating from a GDK version earlier than October 2022 GDK Update 2, check the release notes for previous releases for additional breaking changes that might affect you.
Side-by-side GDK uninstall issues
A bug in Visual Studio Installer version 17.4 can cause GDK components in Visual Studio 2019 and Visual Studio 2022 to work incorrectly after installing multiple GDK versions side-by-side on the same PC. The installer can also cause GDK uninstall failures.
This bug is fixed in Visual Studio Installer versions 17.4.6, 17.5.3 and 17.6.
Fixed a known issue where using the Visual Studio 2022 Debug Quick Resume option could result in a
failure to launch the title
error message.
Improved support for Japanese keyboard layouts in
GameInput
.
Added checks to the LTA tool to detect if an Azure PlayFab title is using a known sample
titleid
. The tool now returns a red failure that indicates that a sampletitleid
is being used and must be configured to use a non-sampletitleid
prior to being shipped to retail.
Added the PlayFab SDK Unreal Marketplace Plugin and GitHub Source to the ongoing official GDK compatibility matrix. Both releases were tested and are compatible with the March 2023 GDK and later.
You can view the documentation online at Game Development Kit (GDK) documentation.
Published by FLY1NGSQU1RR3L over 1 year ago
March 30, 2023
Placeholder while we test a new process and format for release notes
Full Changelog: https://github.com/microsoft/GDK/compare/June_2022_Update_4...June_2022_Update_6
Published by FLY1NGSQU1RR3L over 1 year ago
Welcome to the March 2023 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.
We have organized this document into the following sections.
- The GDK is released in two types: Major (focused on features, three 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.
Fixed an issue where
XblCleanupAsync
would never complete when called without any ongoing requests. [45364143]
Fixed an issue that caused the Microsoft Game Config editor to scale incorrectly when the PC was set to a non-English language. [45264919]
As of the March 2023 recovery, the GDK Lighting API only supports the following devices on console. Support for additional devices will be added in future recovery releases.
- Razer Turret for Xbox One (keyboard and mouse)
- Razer BlackWidow Tournament Edition Chroma V2
Fixed an issue where
makepkg pack
would not create a package if the source files were read-only.
PlayFab Party titles that use peer-to-peer (P2P) for connectivity will now fall back to relayed connectivity if P2P connectivity is disrupted and unrecoverable.
If you're updating from a GDK version earlier than October 2022 GDK Update 2, check the release notes for previous releases for additional breaking changes that might affect you.
Side-by-side GDK uninstall issues
A bug in Visual Studio Installer version 17.4 can cause GDK components in Visual Studio 2019 and Visual Studio 2022 to work incorrectly after installing multiple GDK versions side-by-side on the same PC. The installer can also cause GDK uninstall failures.
This bug is fixed in Visual Studio Installer versions 17.4.6, 17.5.3 and 17.6.
Fixed a known issue where using the Visual Studio 2022 Debug Quick Resume option could result in a
failure to launch the title
error message.
Improved support for Japanese keyboard layouts in
GameInput
.
Added checks to the LTA tool to detect if an Azure PlayFab title is using a known sample
titleid
. The tool now returns a red failure that indicates that a sampletitleid
is being used and must be configured to use a non-sampletitleid
prior to being shipped to retail.
Added the PlayFab SDK Unreal Marketplace Plugin and GitHub Source to the ongoing official GDK compatibility matrix. Both releases were tested and are compatible with the March 2023 GDK and later.
You can view the documentation online at Game Development Kit (GDK) documentation.
Published by FLY1NGSQU1RR3L over 1 year ago
February 14, 2022
Placeholder while we test a new process and format for release notes
Published by FLY1NGSQU1RR3L almost 2 years ago
December 13, 2022
Placeholder while we test a new process and format for release notes
Published by FLY1NGSQU1RR3L almost 2 years ago
November 3, 2022
Placeholder while we test a new process and format for release notes
Published by FLY1NGSQU1RR3L almost 2 years ago
Note: June 2022 Update 3 release has been temporarily removed to correct an error in a script that packaged the files. Will post as a standalone .zip as the 2206_June branch has already been updated to Update 4.
About this document
We have organized this document into the following sections.
- Release notes errata [topics added closer to or after the general availability (GA) date]
- What’s new
- Breaking changes
- Issues fixed in this release
- Known issues in this release
- Development environment setup
Topics highlighted in this section were added closer to the general availability (GA) date.
There is no "What's new" content for UPDATE releases.
- The GDK/GDKX are released in two types: Major (focused on features, three times a year) and Updates (focused on fixes, as often as needed by partners).
- To see the full What's New section, read the release notes for the corresponding mMajor rRelease.
Note: For other breaking changes in this branch, please see the previous release notes.
(Added October 3, 2022)
Fixed a bug in the PlayFabMultiplayer C++ Client SDK that caused websocket resources to leak memory when PFMultiplayerUninitialize() was called or when the library internally handled app
suspension on Xbox consoles.
(Added October 3, 2022)
Fixed an issue where XblMultiplayerWriteSessionAsync's async callback doesn't return if it is waiting for an RTA connection ID and RTA can't reconnect after the network connection is lost.
Application platform | Multiprocess games are not currently supported on console
(Added June 9, 2022)
Multiprocess games in the GDKX on console are not currently supported. Do not use this feature in your games. We plan to revisit this area based on feedback and prioritization from our development partners. While it is possible to use CreateProcess to create multiple processes, the following are currently known issues.
- Graphics are only supported for a single process and device at any time.
- Audio is only supported for a single process at any time.
- Gaming Runtime Services (GRTS) and the various user APIs do not work across multiprocess games.
- Gamepad input does not work across multiprocess games.
Developer tools | .NET Core updates can block GDK/GDKX installation
(Added June 8, 2022)
.NET Core updates that are delivered through Microsoft Update can block GDK/GDKX installation. To resolve this issue, update your Visual Studio instance or uninstall the workloads that contain Microsoft.NET.Core.Component.SDK.2.1 through the Visual Studio Installer and then retry (un)installing the GDK/GDKX.
Developer tools | PC projects that use Xbox services, XGameSave, XStore, and/or XUser must use <game configversion=”1”>
(Added June 10, 2022)
Developers can use the June 2022 GDK/GDKX to rapidly iterate on their PC games without registering them. As a result, we strongly recommend that you update to <game configversion=”1”> in MicrosoftGame.config. This requires setting MSAAppId and Title ID for titles that are using this version or later of the GDK/GDKX, that also use one or more of the following features.
- Xbox services
- XGameSave
- XStore
- XUser
For more information, see MicrosoftGame.config reference.
Without this MicrosoftGame.config setting, launching these titles by Visual Studio Run/F5 or double-clicking the .exe file causes the following missing package error.
E_GAMEUSER_NO_PACKAGE_IDENTITY
APIs in the previous areas can also fail with various error codes because of the missing package identity.
An alternate workaround (for remaining at <game configversion=”0”>) is to register and launch the build by using the wdapp command line-tool. This is shown in the following example.
c:\temp> wdapp register Gaming.Desktop.x64\Debug
The Ggame is registered as an Application,. iIf game-specific OS features are needed, run this as an Administrator to register it as a Game.
Registered 41336MicrosoftATG.InGameStoreXS_2021.6.10.0_x64__dspnxghe87tn0
1336MicrosoftATG.InGameStoreXS_dspnxghe87tn0!Game
Copied temporarily generated AppXManifest.xml file to C:\Users\user\AppData\Local\Temp\41336MicrosoftATG.InGameStoreXS_2021.6.10.0_x64__dspnxghe87tn0_AppXManifest.xml
The operation was completed successfully.
c:\temp> wdapp launch 41336MicrosoftATG.InGameStoreXS_dspnxghe87tn0!Game
The Application was launched successfully.
After the title has been launched, you can debug it by using the Attach to process feature of Visual Studio. If the title requires debugging as it is launching, you can add a DebugBreak() call to prompt to attach a debugger at the debug location. Depending on the configuration of your development PC, this might require you to add the following registry key.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug – Aadd a DWORD named Auto with a value of 1.
- The wdapp register step makes the title appear in the Start menu, which has been changed to not be done as part of Visual Studio deploy/F5—the same behavior as generic Win32 projects.
This does not apply to console workflows and is also unnecessary for packaged builds to function correctly. This includes builds that were installed from the Xbox App or Microsoft Store.
(Known Issue – added June 15, 2022)
Developer tools | PC Game Pass titles might generate a pop-up error message (E_FAIL) when the user attempts to sign in to Xbox services
(Added June 9, 2022)
One of the newest features to improve the game launch experience for both developers and players is the PC Bootstrapper.
Bootstrapper has a dependency on GRTS. It is distributed automatically to all Windows 10 PCs and Windows 11 PCs.
If GRTS is out of date on your development PC, it can generate an error (E_FAIL) when the user attempts to sign in to the Xbox services.
To ensure that you have the latest version of SRTS on your development PC
- Verify your Windows 10 or Windows 11 developer environment is set to RETAIL mode and not in a developer sandbox.
- Close all other games and apps.
- Select the following link to go to the Microsoft Store page for GRTS (and then select More details to expand the Store page, if needed): https://www.microsoft.com/store/productId/9MWPM2CQNLHN.
- Ensure that the version of GRTS is current and does not prompt you for an update.
- To update all apps and components, go to the Library view in the Microsoft Store app.
Visual Studio life cycle updates
(Added June 9, 2022)
- Visual Studio 2017 (15.9) is now out of mainstream support. The June 2022 GDK/GDKX is the last release expected to support the Visual Studio 2017 IDE. Note that Platform Toolset v141 (the Visual Studio 2017 compiler) is supported through Visual Studio 2019 and Visual Studio 2022 with the appropriate components installed.
- Visual Studio 2019 (16.8) and earlier are out of mainstream support. Visual Studio 2019 (16.9) is in mainstream support through October 2022 and is supported by the June 2022 GDK/GDKX. Visual Studio 2019 (16.11) is in mainstream support until April 2029.
- Visual Studio 2022 (17.0) and Visual Studio 2022 (17.2) are supported through a Long-Term Servicing Channel.
Issue with XGameSaveFiles and player sign-out
(Added June 9, 2022)
If a game uses XGameSaveFiles and has any signed-in player sign out of that game, it will be closed. This issue will be fixed in a future update.
Updated requirements for MSAAppId and TitleId
(Added June 9, 2022)
As of the March 2022 GDK/GDKX, MicrosoftGame.config has been updated to schema version 1 (Game configVersion="1") for new titles. As part of these new schema requirements, MSAAppId and TitleId must be present if either element is specified in MicrosoftGame.config. Also, if AdvancedUserModel is set to false, a valid MSAAppId and TitleId must be present in MicrosoftGame.config.
Newly added MicrosoftGameConfig.mgc files do not appear in Xbox Gaming Project Control
(Added June 9, 2022)
When you add a new MicrosoftGameConfig.mgc file to a Visual Studio project for the first time, it does not immediately appear in Xbox Gaming Project Control. You must close your Visual Studio project and then reopen it for the new file to appear. Note that this only occurs for the first file that you add. Subsequent files immediately appear in Xbox Gaming Project Control.
Quick Resume debugging Preview in Visual Studio 2022
(Added June 9, 2022)
This release contains a Preview feature that enables you to debug through a Quick Resume save and restore. The saving and restoring of the Quick Resume state is done by using the Xbox Gaming Explorer in the Visual Studio IDE. In this release of the GDKX, a save cannot be initiated if the title is currently being debugged. The Save menu item on the context menu of the Xbox Gaming Explorer is currently disabled if a debugger is attached to the title.
Selecting the Visual Studio 2019 or Clang build tools in a Visual Studio project
(Added June 9, 2022)
The options to select either the version 142 (Visual Studio 2019) toolsets or the Clang toolsets by using the Platform Toolset property in Visual Studio is not available if the toolsets were installed by using the Individual Components section of the Visual Studio installation dialog. Selecting version 142 and Clang components from the Desktop Development with C++ workload at installation time causes the toolsets to appear properly in the Platform Toolset property.
__imp___std_init_once_complete unresolved external symbol with Visual Studio 2022 17.2
When you use the Xbox Services API (XSAPI) static C++ library with Visual Studio 2022 17.2, you might see what’s in the following error example.
This is because of a change in Microsoft STL. The workaround is to add the following code example to one of your code files.
For status on a fix for this issue, see Visual Studio Feedback.
Error example
unresolved external symbol __imp___std_init_once_begin_initialize referenced in function "void __cdecl std::call_once<class <lambda_155357a9be3d845a3d89ac4e05cd0d71(struct std::once_flag &,class <lambda_155357a9be3d845a3d89ac4e05cd0d71> &&)" (?$call_once@V<lambda_155357a9be3d845a3d89ac4e05cd0d71>@@$$V@std@@YAXAEAUonce_flag@0@$$QEAV<lambda_155357a9be3d845a3d89ac4e05cd0d71>@@@Z)
Code example
#if _MSC_VER == 1932 // Visual Studio 2022 version 17.2.
#pragma comment(linker, "/alternatename:__imp___std_init_once_complete=__imp_InitOnceComplete")
#pragma comment(linker, "/alternatename:__imp___std_init_once_begin_initialize=__imp_InitOnceBeginInitialize")
#endif
Debugger property might be missing when upgrading PC GDK/GDKX projects
(Added June 9, 2022)
When you upgrade your PC projects to the June 2022 version of the GDK/GDKX, there might be cases where the debugger property is set to the Unsupported debug option.
If this occurs, you must reset the debugger property to Local Windows Debugger by using the debugging toolbar, the project property page, or by setting the DebuggerFlavor msbuild property to WindowsLocalDebugger. (Removing the DebuggerFlavor property altogether also causes Local Windows Debugger to be used.)
GDK features might be disabled if a Visual Studio 2022 Preview has been installed
(Added June 9, 2022)
Developer PCs with a version of Visual Studio 2022 from the Preview channel can result in GDK .vsix files being erroneously marked as disabled.
- If the GDK Visual Studio extensions do not appear in the Visual Studio IDE in this scenario in Visual Studio 2019 and Visual Studio 2022, select Extensions > Manage Extensions. In Visual Studio 2017, select Tools > Extensions and Updates.
- The GDK .vsix files are on the Installed tab. If any of them are marked disabled, reenable them. Restart Visual Studio to restore the GDK features.
PIX (CPU) | Instrumenting PC titles with PIX events requires the WinPixEventRuntime package
(Added June 9, 2022)
To instrument your Windows PC title with PIX events, you must use the following steps.
- Download and install the WinPixEventRuntime NuGet package.
- Include pix3.h from this NuGet package. Note that the Windows 10 SDK contains a pix.h header. However, this file is now obsolete and cannot be used in gaming titles on Windows PCs. The project templates that are included in the GDKX include pix.h by default.
- After the WinPixEventRuntime NuGet package is downloaded, you must change pix.h to pix3.h.
Input | Minimum value required for manual title control of GameInput work queue (CreateDispatcher)
(Added June 8, 2022)
IGameInputDispatcher::Dispatch will not complete any work when passing a value of 0 for the quotaInMicroseconds parameter per the API documentation. To work around this, pass a value of at least 100 us. This regression will be fixed in an upcoming GDK update.
General
(Added June 8, 2022)
- GameInput currently supports Windows 10 build 18362 (the “Windows 10 May 2019 Update”) and later.
- GameInput is currently available for PC as part of the GDK + Gaming Runtime Services (GRTS) package.
Keyboard and mouse support
Keyboard and mouse support is currently in Beta release quality. The primary known issues are as follows.
- The following members of the GameInputDeviceInfo structure are currently populated with hard-coded values that might not match the device’s actual properties.
- keyboardInfo
- mouseInfo
- The codePoint, virtualKey, and isDeadKey values that are returned in the GameInputKeyState structure might not always be accurate.
- Keyboard state is currently hard-coded to the US English keyboard layout.
- Aggregate keyboard device support is not available. Keyboard state must be individually processed from each keyboard.
Game controller device support
All Xbox One, Xbox 360, and Human Interface Device (HID) game controllers are supported, with the following exceptions.
- Xbox 360 devices are only supported on PC, on Windows 10 build 19041 (the “Windows 10 May 2020 Update”), and later.
HIDs are only supported on PC. Most HIDs only provide “controller” (raw axis and button) state. Support for fixed-format state like Gamepad or RacingWheel is limited to the following:
- The original version of the Sony DualSense™ Wireless Controller (but not the latest version)
- The Nintendo Switch™ Pro controller, but only when it isit’s operating in Bluetooth mode
- Several popular racing wheels
*“DualSense” is a registered trademark or trademark of Sony Interactive Entertainment Inc.* *“Nintendo Switch” is registered trademark or trademark of Nintendo of America Inc.*
Missing features and APIs
Several GameInput APIs aren’t yet implemented, or have limited functionality, as detailed as follows.
IGameInput
- The GetNextReading and GetPreviousReading APIs require a valid IGameInputDevice filter that matches the device that the reference reading is from. Support for iterating through readings across all devices (by passing null for the device filter) will be added in a future update.
- The following functions are currently not implemented and will be added in a future update.
- CreateAggregateDevice
- EnableOemDeviceSupport
- FindDeviceFromObject
- FindDeviceFromPlatformHandle
- FindDeviceFromPlatformString
- GetTemporalReading
- RegisterReadingCallback
- RegisterGuideButtonCallback
- RegisterKeyboardLayoutCallback
- SetFocusPolicy
- On Xbox, the focus policy is currently always set to GameInputDisableBackgroundInput. Only the application in focus receives input.
- On PC, the focus policy is currently always set to GameInputDefaultFocusPolicy. Applications always receive input, even when not in focus.
IGameInputReading
- IGameInputReading instances currently do not have reference identity, contrary to what the API documentation indicates. This means that IGameInputReading pointers obtained via separate API calls cannot be compared for equality to determine if both API calls refer to the same reading. Instead, get the input state from both readings and compare that instead.
- The value returned by the GetSequenceNumber function is currently not valid (for all input kinds).
IGameInputDevice
- Force Feedback is currently only supported for Xbox One accessories (on both Xbox and PC). On PC, the device must be running in Xbox One mode, not HID mode.
- Vibration Feedback is currently only supported for Xbox One gamepads, Xbox 360 gamepads, and the Sony DualSense Wireless Controller.
- The IsForceFeedbackMotorPoweredOn function always returns “true”, regardless of the actual hardware state, unless the provided motor index is invalid.
- The CreateRawDeviceReport function can only be used to create reports of the GameInputRawOutputReport kind.
- The SendRawDeviceOutput function can only be used on Xbox to send these reports to Xbox One accessories.
- The following functions are currently not implemented and will be added in a future update.
- AcquireExclusiveRawDeviceAccess
- ExecuteRawDeviceIoControl
- GetBatteryState
- GetRawDeviceFeature
- PowerOff
- ReleaseExclusiveRawDeviceAccess
- SetHapticMotorState
- SetRawDeviceFeature
The following members of the GameInputDeviceInfo structure are currently not populated with valid values. These either contain zero or a null pointer.
- collectionNumber
- controllerAxisInfo
- controllerButtonInfo
- controllerSwitchInfo
- deviceDescriptorData
- deviceDescriptorSize
- deviceRootId
- deviceStringCount
- deviceStrings
- displayName
- featureReportCount
- featureReportInfo
- hapticFeedbackMotorInfo
- inputReportCount
- inputReportInfo
- interfaceNumber
- outputReportCount
- outputReportInfo
- revisionNumber
Offline documentation for the June 2022 Update 4 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 GDKX\Documentation.
- The online GDKX documentation is at http://aka.ms/gdkonline.
- For your convenience, you can also download an offline copy of the documentation from the GDKX download site at http://aka.ms/gdkdl.
- Localized GDKX offline documentation will be available approximately four to five weeks following the initial release of the English documentation.
Published by FLY1NGSQU1RR3L about 2 years ago
About this document
We have organized this document into the following sections.
- Release notes errata [topics added closer to or after the general availability (GA) date]
- What’s new
- Breaking changes
- Issues fixed in this release
- Known issues in this release
- Development environment setup
Topics highlighted in this section were added closer to the general availability (GA) date.
- No errata submitted for this GDK update.
There is no "What's new" content for UPDATE releases.
- The GDK/GDKX are released in two types: Major (focused on features, three times a year) and Updates (focused on fixes, as often as needed by partners).
Direct3D 12 | DirectX header convergence across PC and Xbox
(Added June 7, 2022)
This section modifies the guidance that was provided in the What's New section of the same name (DirectX header convergence across PC and Xbox).
- Public D3D12 headers now look more alike between PC and Xbox. Any previously unsupported APIs between PC and Xbox are now explicitly noted as such in the debug layer.
- NOTE: Although some functionality is now included in the header (for example, D3D12_BARRIER_ACCESS), the driver does not yet support all the new additions.
- NOTE: If PC headers were previously being included in Xbox One and Xbox Series X|S toolchains to gain access to additional debug layer options that were not previously available in the console-specific headers, you might need to remove those includes (for example, d3dcommon.h from the Windows 10 SDK). Those defines now exist within the Xbox headers. If you do not do this, there might be duplicate guid\interface defines.
Uninstall the October 2021 Visual Studio 2022 .vsix files before installing the June 2022 GDK/GDKX
(Added June 9, 2022)
This note was included in the March 2022 GDK/GDKX, but it is important enough to highlight again for June 2022 and related updates.
If you manually installed the Visual Studio 2022 .vsix files that shipped alongside the October 2021 GDK/GDKX, uninstall those files before you install the June 2022 GDK/GDKX. If you do not do this, you will get debugging and deployment failures when you use Visual Studio 2022.
- Use the following command-line example to uninstall the October 2021 GDK/GDKX .vsix files. **NOTE: **This command might vary, depending on which edition of Visual Studio 2022 is installed and which .vsix files were initially installed.
- If the June 2022 GDK/GDKX was installed prior to uninstalling the October 2021 GDK/GDKX .vsix files, repair the June 2022 GDK/GDKX after uninstalling the October 2021 .vsix files to get back into a working state.
[Command-line example]:
vsixinstaller /skuName:Enterprise /skuVersion:17.1 /appIdName:VS /appIdInstallPath:"C:\Program Files\Microsoft Visual Studio\2022\Enterprise" /uninstall:Microsoft.Gaming.GDKX.PC.v143.211004 /uninstall:Microsoft.Gaming.GDKX.PC.v143.Templates /uninstall:Microsoft.Gaming.GDKX.PC /uninstall:Microsoft.Gaming.GDKX.Xbox.v143.211004 /uninstall:Microsoft.Gaming.GDKX.Xbox.v143.Templates /uninstall:Microsoft.Gaming.GDKX.Xbox
Networking | XCurl automatically injects cookies when making HTTP requests
(Added July 15, 2022)
Fixed an issue in XCurl where cookies provided in server responses via Set-Cookie headers were automatically included on all future requests. Cookie headers are now not automatically set to align with LibCurl behavior.
PlayFab multiplayer | PFLobby header incorrectly documented the amMember special reserved key value
(Added July 15, 2022)
Fixed incorrect constant string values for PFLobbyMemberCountSearchKey and PFLobbyAmMemberSearchKey. This is one of three fixes that are included in the PFMultiplayer VPack update to version 1.1.5.
PlayFab multiplayer | LibHttpClient could cause PFMultiplayer to stall during PFMultiplayerUninitialize if the web socket is disconnected
(Added July 15, 2022)
Fixed an issue that could cause PFMultiplayerUninitialize to block indefinitely if a web socket was closed unexpectedly. This is one of three fixes that are included in the PFMultiplayer VPack update to version 1.1.5.
PlayFab Multiplayer | PubSub fails to reconnect if the underlying web socket failed, which could stall future operations that are relying on PubSub
(Added July 15, 2022)
Fixed an issue that caused PubSub notifications to become unusable and API operations to stall indefinitely after a web socket was disconnected unexpectedly. This is one of three fixes included in the PFMultiplayer VPack update to version 1.1.5.
Developer tools | .NET Core updates can block GDK/GDKX installation
(Added June 8, 2022)
.NET Core updates that are delivered through Microsoft Update can block GDK/GDKX installation. To resolve this issue, update your Visual Studio instance or uninstall the workloads that contain Microsoft.NET.Core.Component.SDK.2.1 through the Visual Studio Installer and then retry (un)installing the GDK/GDKX.
Developer tools | PC projects that use Xbox services, XGameSave, XStore, and/or XUser must use <game configversion=”1”>
(Added June 10, 2022)
Developers can use the June 2022 GDK/GDKX to rapidly iterate on their PC games without registering them. As a result, we strongly recommend that you update to <game configversion=”1”> in MicrosoftGame.config. This requires setting MSAAppId and Title ID for titles that are using this version or later of the GDK/GDKX, that also use one or more of the following features.
- Xbox services
- XGameSave
- XStore
- XUser
For more information, see MicrosoftGame.config reference.
Without this MicrosoftGame.config setting, launching these titles by Visual Studio Run/F5 or double-clicking the .exe file causes the following missing package error.
E_GAMEUSER_NO_PACKAGE_IDENTITY
APIs in the previous areas can also fail with various error codes because of the missing package identity.
An alternate workaround (for remaining at <game configversion=”0”>) is to register and launch the build by using the wdapp command line-tool. This is shown in the following example.
c:\temp> wdapp register Gaming.Desktop.x64\Debug
Game registered as an Application, if game-specific OS features are needed, run as an Administrator to register as a Game.
Registered 41336MicrosoftATG.InGameStoreXS_2021.6.10.0_x64__dspnxghe87tn0
1336MicrosoftATG.InGameStoreXS_dspnxghe87tn0!Game
Copied temporarily generated AppXManifest.xml file to C:\Users\user\AppData\Local\Temp\41336MicrosoftATG.InGameStoreXS_2021.6.10.0_x64__dspnxghe87tn0_AppXManifest.xml
The operation was completed successfully.
c:\temp> wdapp launch 41336MicrosoftATG.InGameStoreXS_dspnxghe87tn0!Game
The Application was launched successfully.
After the title has been launched, you can debug it by using the Attach to process feature of Visual Studio. If the title requires debugging as it is launching, you can add a DebugBreak() call to prompt to attach a debugger at the debug location. Depending on the configuration of your development PC, this might require you to add the following registry key.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug – add a DWORD named Auto with value of 1.
- The wdapp register step makes the title appear in the Start menu, which has been changed to not be done as part of Visual Studio deploy/F5—the same behavior as generic Win32 projects.
This does not apply to console workflows and is also unnecessary for packaged builds to function correctly. This includes builds that were installed from the Xbox App or Microsoft Store.
(Known Issue – added June 15, 2022)
Developer tools | PC Game Pass titles may generate pop-up error message (E_FAIL) when the user attempts to sign in to Xbox services
(Added June 9, 2022)
One of the newest features to improve the game launch experience for both developers and players is the PC Bootstrapper.
Bootstrapper has a dependency on GRTS. It is distributed automatically to all Windows 10 PCs and Windows 11 PCs.
If GRTS is out of date on your development PC, it can generate an error (E_FAIL) when the user attempts to sign in to the Xbox service.
To ensure that you have the latest version of SRTS on your development PC
- Verify your Windows 10 or Windows 11 developer environment is set to RETAIL mode and not in a developer sandbox.
- Close all other games and apps.
- Select the following link to go to the Microsoft Store page for GRTS (and then select More details to expand the Store page, if needed): https://www.microsoft.com/store/productId/9MWPM2CQNLHN.
- Ensure that the version of GRTS is current and does not prompt you for an update.
- To update all apps and components, go to the Library view in the Microsoft Store app.
Visual Studio life cycle updates
(Added June 9, 2022)
- Visual Studio 2017 (15.9) is now out of mainstream support. The June 2022 GDK/GDKX is the last release expected to support the Visual Studio 2017 IDE. Note that Platform Toolset v141 (the Visual Studio 2017 compiler) is supported through Visual Studio 2019 and Visual Studio 2022 with the appropriate components installed.
- Visual Studio 2019 (16.8) and earlier are out of mainstream support. Visual Studio 2019 (16.9) is in mainstream support through October 2022 and is supported by the June 2022 GDK/GDKX. Visual Studio 2019 (16.11) is in mainstream support until April 2029.
- Visual Studio 2022 (17.0) and Visual Studio 2022 (17.2) are supported through a Long-Term Servicing Channel.
Issue with XGameSaveFiles and player sign-out
(Added June 9, 2022)
If a game uses XGameSaveFiles and has any signed-in player sign out of that game, it will be closed. This issue will be fixed in a future update.
Updated requirements for MSAAppId and TitleId
(Added June 9, 2022)
As of the March 2022 GDK/GDKX, MicrosoftGame.config has been updated to schema version 1 (Game configVersion="1") for new titles. As part of these new schema requirements, MSAAppId and TitleId must be present if either element is specified in MicrosoftGame.config. Also, if AdvancedUserModel is set to false, a valid MSAAppId and TitleId must be present in MicrosoftGame.config.
Newly added MicrosoftGameConfig.mgc files do not appear in Xbox Gaming Project Control
(Added June 9, 2022)
When you add a new MicrosoftGameConfig.mgc file to a Visual Studio project for the first time, it does not immediately appear in Xbox Gaming Project Control. You must close your Visual Studio project and then reopen it for the new file to appear. Note that this only occurs for the first file that you add. Subsequent files immediately appear in Xbox Gaming Project Control.
Selecting the Visual Studio 2019 or Clang build tools in a Visual Studio project
(Added June 9, 2022)
The options to select either the version 142 (Visual Studio 2019) toolsets or the Clang toolsets by using the Platform Toolset property in Visual Studio is not available if the toolsets were installed by using the Individual Components section of the Visual Studio installation dialog. Selecting version 142 and Clang components from the Desktop Development with C++ workload at installation time causes the toolsets to appear properly in the Platform Toolset property.
__imp___std_init_once_complete unresolved external symbol with Visual Studio 2022 17.2
When you use the XSAPI API static C++ library with Visual Studio 2022 17.2, you might see what’s in the following error example.
This is because of a change in Microsoft STL. The workaround is to add the following code example to one of your code files.
For status on a fix for this issue, see Visual Studio Feedback.
Error example
unresolved external symbol __imp___std_init_once_begin_initialize referenced in function "void __cdecl std::call_once<class <lambda_155357a9be3d845a3d89ac4e05cd0d71(struct std::once_flag &,class <lambda_155357a9be3d845a3d89ac4e05cd0d71> &&)" (?$call_once@V<lambda_155357a9be3d845a3d89ac4e05cd0d71>@@$$V@std@@YAXAEAUonce_flag@0@$$QEAV<lambda_155357a9be3d845a3d89ac4e05cd0d71>@@@Z)
Code example
#if _MSC_VER == 1932 // Visual Studio 2022 version 17.2
#pragma comment(linker, "/alternatename:__imp___std_init_once_complete=__imp_InitOnceComplete")
#pragma comment(linker, "/alternatename:__imp___std_init_once_begin_initialize=__imp_InitOnceBeginInitialize")
#endif
Debugger property might be missing when upgrading PC GDK/GDKX projects
(Added June 9, 2022)
When you upgrade your PC projects to the June 2022 version of the GDK/GDKX, there might be cases where the debugger property is set to the Unsupported debug option.
If this occurs, you must reset the debugger property to Local Windows Debugger by using the debugging toolbar, the project property page, or by setting the DebuggerFlavor msbuild property to WindowsLocalDebugger. (Removing the DebuggerFlavor property altogether also causes Local Windows Debugger to be used.)
GDK features might be disabled if a Visual Studio 2022 Preview has been installed
(Added June 9, 2022)
Developer PCs with a version of Visual Studio 2022 from the Preview channel can result in GDK .vsix files erroneously marked as disabled.
- If the GDK Visual Studio extensions do not appear in the Visual Studio IDE in this scenario in Visual Studio 2019 and Visual Studio 2022, select Extensions > Manage Extensions. In Visual Studio 2017, select Tools > Extensions and Updates.
- The GDK .vsix files are on the Installed tab. If any of them are marked disabled, reenable them. Restart Visual Studio to restore the GDK features.
PIX (CPU) | Instrumenting PC titles with PIX events requires the WinPixEventRuntime package
(Added June 9, 2022)
To instrument your Windows PC title with PIX events, you must use the following steps.
- Download and install the WinPixEventRuntime NuGet package.
- Include ix3.h from this NuGet package. Note that the Windows 10 SDK contains a pix.h header. However, this file is now obsolete and cannot be used in gaming titles on Windows PCs. The project templates that are included in the GDKX include pix.h by default.
- After the WinPixEventRuntime NuGet package is downloaded, you must change pix.h to pix3.h.
Input | Minimum value required for manual title control of GameInput work queue (CreateDispatcher)
(Added June 8, 2022)
IGameInputDispatcher::Dispatch will not complete any work when passing a value of 0 for the quotaInMicroseconds parameter per the API documentation. To work around this, pass a value of at least 100 us. This regression will be fixed in an upcoming GDK update.
General
(Added June 8, 2022)
- GameInput currently supports Windows 10 build 18362 (the “Windows 10 May 2019 Update”) and later.
- GameInput is currently available for PC as part of the GDK + Gaming Runtime Services (GRTS) package.
Keyboard and mouse support
Keyboard and mouse support is currently in Beta release quality. The primary known issues are as follows.
- The following members of the GameInputDeviceInfo structure are currently populated with hard-coded values that might not match the device’s actual properties.
- keyboardInfo
- mouseInfo
- The codePoint, virtualKey, and isDeadKey values that are returned in the GameInputKeyState structure might not always be accurate.
- Keyboard state is currently hard-coded to the US English keyboard layout.
- Aggregate keyboard device support is not available. Keyboard state must be individually processed from each keyboard.
Game controller device support
All Xbox One, Xbox 360, and Human Interface Device (HID) game controllers are supported, with the following exceptions.
- Xbox 360 devices are only supported on PC, on Windows 10 build 19041 (the “Windows 10 May 2020 Update”), and later.
HIDs are only supported on PC. Most HIDs only provide “controller” (raw axis and button) state. Support for fixed-format state like Gamepad or RacingWheel is limited to the following:
- The original version of the Sony DualSense™ Wireless Controller (but not the latest version)
- The Nintendo Switch™ Pro controller, but only when it’s operating in Bluetooth mode
- Several popular racing wheels
*“DualSense” is a registered trademark or trademark of Sony Interactive Entertainment Inc.* *“Nintendo Switch” is registered trademark or trademark of Nintendo of America Inc.*
Missing features and APIs
Several GameInput APIs aren’t yet implemented, or have limited functionality, as detailed as follows.
IGameInput
- The GetNextReading and GetPreviousReading APIs require a valid IGameInputDevice filter that matches the device that the reference reading is from. Support for iterating through readings across all devices (by passing null for the device filter) will be added in a future update.
- The following functions are currently not implemented and will be added in a future update.
- GetTemporalReading
- RegisterReadingCallback
- RegisterGuideButtonCallback
- RegisterKeyboardLayoutCallback
- CreateAggregateDevice
- FindDeviceFromObject
- FindDeviceFromPlatformHandle
- FindDeviceFromPlatformString
- EnableOemDeviceSupport
- SetFocusPolicy
- On Xbox, the focus policy is currently always set to GameInputDisableBackgroundInput. Only the application in focus receives input.
- On PC, the focus policy is currently always set to GameInputDefaultFocusPolicy. Applications always receive input, even when not in focus.
IGameInputReading
- IGameInputReading instances currently do not have reference identity, contrary to what the API documentation indicates. This means that IGameInputReading pointers obtained via separate API calls cannot be compared for equality to determine if both API calls refer to the same reading. Instead, get the input state from both readings and compare that instead.
- The value returned by the GetSequenceNumber function is currently not valid (for all input kinds).
IGameInputDevice
- Force Feedback is currently only supported for Xbox One accessories (on both Xbox and PC). On PC, the device must be running in Xbox One mode, not HID mode.
- Vibration Feedback is currently only supported for Xbox One gamepads, Xbox 360 gamepads, and the Sony DualSense Wireless Controller.
- The IsForceFeedbackMotorPoweredOn function always returns “true”, regardless of the actual hardware state, unless the provided motor index is invalid.
- The CreateRawDeviceReport function can only be used to create reports of the GameInputRawOutputReport kind.
- The SendRawDeviceOutput function can only be used on Xbox to send these reports to Xbox One accessories.
- The following functions are currently not implemented and will be added in a future update.
- GetBatteryState
- SetHapticMotorState
- PowerOff
- GetRawDeviceFeature
- SetRawDeviceFeature
- ** ExecuteRawDeviceIoControl**
- AcquireExclusiveRawDeviceAccess
- ReleaseExclusiveRawDeviceAccess
The following members of the GameInputDeviceInfo structure are currently not populated with valid values. These either contain zero or a null pointer.
- revisionNumber
- interfaceNumber
- collectionNumber
- deviceRootId
- inputReportCount
- outputReportCount
- featureReportCount
- deviceStringCount
- deviceDescriptorSize
- inputReportInfo
- outputReportInfo
- featureReportInfo
- controllerAxisInfo
- controllerButtonInfo
- controllerSwitchInfo
- hapticFeedbackMotorInfo
- displayName
- deviceStrings
- deviceDescriptorData
Published by FLY1NGSQU1RR3L over 2 years ago
- The public GDK release notes are a subset of information available to developers inside the Xbox developer program (e.g. ID@Xbox). The goal is to increase the amount of public information with every release, but some content remains specific and exclusive to developers with an active Microsoft Game Developer Kit w/ Xbox Extensions (GDKX) license agreement.
- GDK development samples are publicly available: https://github.com/microsoft/Xbox-GDK-Samples/!
- GDK public documentation available here: https://aka.ms/gamedevdocs
- For more information about the GDK and how to start developing games for Xbox consoles or Xbox Game Pass for PC on Windows 10/11, view the ReadMe.MD.
About this document
We have organized this document into the following sections.
- Release notes errata [if there are late changes and additions submitted the same week as GA]
- What’s new
- Breaking changes
- Issues fixed in this release
- Known issues in this release
- Development environment setup
Topics highlighted in this section are added just before or just after the general availability (GA) release date.
No release notes errata submitted as of June 7, 2022.
- There is no What's new content for Update releases.
- The GDK/GDKX are released in two types: Major (focused on features, three times a year) and Updates (focused on fixes, as often as they are needed by partners).
Direct3D 12 | DirectX header convergence across PC and Xbox
(Added June 7, 2022)
This section modifies the guidance that was provided in the What's new section of the same name (DirectX header convergence across PC and Xbox).
- Public Direct3D 12 headers now look more alike between PC and Xbox. Any previously unsupported APIs between PC and Xbox are now explicitly noted as such in the debug layer.
- Note: Although some functionality is now included in the header (for example, D3D12_BARRIER_ACCESS), the driver does not yet support all the new additions.
- Note: If PC headers were previously being included in Xbox One and Xbox Series X|S toolchains to gain access to additional debug layer options that were not previously available in the console-specific headers, you might need to remove those includes (for example, d3dcommon.h from the Windows 10 SDK). Those defines now exist within the updated Xbox headers. If you do not do this, there might be duplicate guid\interface defines.
Uninstall the October 2021 Visual Studio 2022 .vsix files before installing the June 2022 GDK or GDKX
(Added June 9, 2022)
This note was included in the March 2022 GDK, but it is important enough to highlight again for June 2022
If you manually installed the Visual Studio 2022 .vsix files that shipped alongside the October 2021 GDKX, uninstall those files before you install the June 2022 GDKX. If you do not do this, you will get debugging and deployment failures when you use Visual Studio 2022.
- Use the following command-line example to uninstall the October 2021 GDKX .vsix files. **NOTE: **This command might vary, depending on which edition of Visual Studio 2022 is installed and which .vsix files were initially installed.
- If the June 2022 GDKX was installed prior to uninstalling the October 2021 GDKX .vsix files, repair the June 2022 GDKX after uninstalling the October 2021 .vsix files to get back into a working state.
Command-line example :
vsixinstaller /skuName:Enterprise /skuVersion:17.1 /appIdName:VS /appIdInstallPath:"C:\Program Files\Microsoft Visual Studio\2022\Enterprise" /uninstall:Microsoft.Gaming.GDKX.PC.v143.211004 /uninstall:Microsoft.Gaming.GDKX.PC.v143.Templates /uninstall:Microsoft.Gaming.GDKX.PC /uninstall:Microsoft.Gaming.GDKX.Xbox.v143.211004 /uninstall:Microsoft.Gaming.GDKX.Xbox.v143.Templates /uninstall:Microsoft.Gaming.GDKX.Xbox
Developer tools | Fixed wdapp.exe launch failure
(Added July 7, 2022)
Fixed a bug when launching an .exe by using wdapp.exe launch and passing launch parameters .
GameInput | No callbacks fired by RegisterDeviceCallback method when passing in the GameInputAsyncEnumeration type.
(Added July 7, 2022)
IGameInputDispatcher::Dispatch now performs a minimal amount of work, even if a value of 0 is passed for the quotaInMicroseconds parameter.
Input | GameInput.lib for x86 returns error (E_NOTMIPL)
(Added July 7, 2022)
The x86 version of gameinput.lib was erroneously included in the June 2022 GDK . However, this file wasn’t intended for use and has been removed from the June 2022 GDK Update 1.
Networking | Fixed a bug that caused XCurl to stop responding when suspending the title
(Added July 7, 2022)
Fixed a bug in XCurl that would cause it to stop responding if a request was starting at about the same time that the title started suspending.
PIX (CPU) | Invalid data in component-placed API object resources
(Added July 7, 2022)
The data that was displayed in the Timing Capture Element Details view was incorrect for Direct3D resource objects. Data that did not apply to the selected resource was displayed. This has been fixed.
Memory Manager | Minor inconsistencies in XMemVirtualQuery and XMemGetWorkingSetStatistics
(Added July 7, 2022)
Fixed minor inconsistencies in XMemVirtualQuery and XMemGetWorkingSetStatistics that might occur when the June 2022 Game OS is used with the August 2022 recovery on Xbox Series S consoles.
- This change aalso addresses an issue where XMEM_TOOL allocations that are used with XMEM_GPUOPT_BW_REQ may fail when the June 2022 Game OS is used with the August 2022 recovery on Xbox Series S consoles.
- This is an extremely rare combination because XMEM_GPUOPT_BW_REQ has no effect on Xbox Series S devices.
- Titles can also work around this by simply removing XMEM_GPUOPT_BW_REQ in this scenario.
Developer tools | .NET Core updates can block GDK or GDKX installation
(Added June 8, 2022)
.NET Core updates that are delivered through Microsoft Update can block GDKX installation. To resolve this issue, update your Visual Studio instance or uninstall the workloads that contain Microsoft.NET.Core.Component.SDK.2.1 through the Visual Studio Installer and then retry (un)installing the GDKX.
Developer tools | PC projects that use Xbox services, XGameSave, XStore, and/or XUser must use <game configversion=”1”>
(Added June 10, 2022)
Developers can use the June 2022 GDK to rapidly iterate on their PC games without registering them. As a result, we strongly recommend that you update to <game configversion="1"> in Microsoftgame.config. This requires setting MSAAppId and Title ID for titles that are using this GDKX or later that use one or more of the following features.
- Xbox services
- XGameSave
- XStore
- XUser
For more information, see MicrosoftGame.config reference.
Without this MicrosoftGame.config setting, launching PC titles by using Visual Studio Run/F5 or double-clicking the .exe file causes the following missing package identity error.
E_GAMEUSER_NO_PACKAGE_IDENTITY
APIs in the previous areas can also fail with various error codes because of the missing package identity.
An alternate workaround (for remaining at <game configversion=”0”>) is to register and launch the build by using the wdapp command-line tool. This is shown in the following example.
c:\temp> wdapp register Gaming.Desktop.x64\Debug Game registered as an Application, if game-specific OS features are needed, run as an Administrator to register as a Game. Registered 41336MicrosoftATG.InGameStoreXS_2021.6.10.0_x64__dspnxghe87tn0 1336MicrosoftATG.InGameStoreXS_dspnxghe87tn0!Game Copied temporarily generated AppXManifest.xml file to C:\Users\user\AppData\Local\Temp\41336MicrosoftATG.InGameStoreXS_2021.6.10.0_x64__dspnxghe87tn0_AppXManifest.xml The operation was completed successfully. c:\temp> wdapp launch 41336MicrosoftATG.InGameStoreXS_dspnxghe87tn0!Game The Application was launched successfully.
After the title has been launched, you can debug it by using the Attach to process feature of Visual Studio. If the title requires debugging as it is launching, you can add a DebugBreak() call to prompt you for attaching a debugger at the debug location. Depending on the configuration of your development PC, this might require you to add the following registry key.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug – add a DWORD named Auto with value of 1.
- The wdapp register step makes the title appear in the Start menu, which has been changed to not be done as part of Visual Studio deploy/F5—the same behavior as generic Win32 projects.
This does not apply to console workflows and is also unnecessary for packaged builds to function correctly. This includes builds that were installed from the Xbox app or Microsoft Store.
Developer tools | PC Game Pass titles can generate a pop-up error message (E_FAIL) when the user attempts to sign in to the Xbox service
(Added June 9, 2022)
One of the newest features to improve the game launch experience for both developers and players is the PC Bootstrapper.
Bootstrapper has a dependency on the Gaming Runtime Service (GRTS). It is distributed automatically to all Windows 10 PCs and Windows 11 PCs.
If GRTS is out of date on your development PC, it can generate an error (E_FAIL) when the user attempts to sign in to the Xbox service.
**To ensure that you have the latest version of GRTS on your development PC
- Verify your Windows 10 or Windows 11 developer environment is set to RETAIL mode and not to a developer sandbox.
- Close all other games and apps.
- Select the following link to go to the Microsoft Store page for GRTS (and then select More details to expand the Store page, if needed): https://www.microsoft.com/store/productId/9MWPM2CQNLHN.
- Ensure that the version of GRTS is current and does not prompt you for an update.
- To update all apps and components, go to the Library view in the Microsoft Store app.
Visual Studio life cycle updates
(Added June 9, 2022)
- Visual Studio 2017 (15.9) is now out of mainstream support. The June 2022 GDKX is the last release expected to support the Visual Studio 2017 IDE. Note that Platform Toolset v141 (the Visual Studio 2017 compiler) is supported through Visual Studio 2019 and Visual Studio 2022 with the appropriate components installed.
- Visual Studio 2019 (16.8) and earlier are out of mainstream support. Visual Studio 2019 (16.9) is in mainstream support through October 2022 and is supported by the June 2022 GDKX. Visual Studio 2019 (16.11) is in mainstream support until April 2029.
- Visual Studio 2022 (17.0) and Visual Studio 2022 (17.2) are supported through a Long-Term Servicing Channel.
Issue with XGameSaveFiles and player sign-out
(Added June 9, 2022)
If a game uses XGameSaveFiles and has any signed-in player sign out of that game, it will be closed. This issue will be fixed in a future release.
Updated requirements for MSAAppId and TitleId
(Added June 9, 2022)
As of the March 2022 GDK and GDKX, MicrosoftGame.config has been updated to schema version 1 (Game configVersion="1") for new titles. As part of these new schema requirements, MSAAppId and TitleId must be present if either element is specified in MicrosoftGame.config. Also, if AdvancedUserModel is set to false, a valid MSAAppId and TitleId must be present in MicrosoftGame.config.
Newly added MicrosoftGameConfig.mgc files do not appear in Xbox Gaming Project Control
(Added June 9, 2022)
When you add a new MicrosoftGameConfig.mgc file to a Visual Studio project for the first time, it does not immediately appear in Xbox Gaming Project Control. You must close your Visual Studio project and then reopen it for the new file to appear. Note that this only occurs for the first file that you add. Subsequent files immediately appear in Xbox Gaming Project Control.
Quick Resume debugging Preview in Visual Studio 2022
(Added June 9, 2022)
This release contains a Preview feature that enables you to debug through a Quick Resume save and restore. The saving and restoring of the Quick Resume state is done by using the Xbox Gaming Explorer in the Visual Studio IDE. In this release of the GDK and GDKX, a save cannot be initiated if the title is currently being debugged. The Save menu item on the context menu of the Gaming Explorer is currently disabled if a debugger is attached to the title.
Selecting the Visual Studio 2019 or Clang build tools in a Visual Studio project
(Added June 9, 2022)
The options to select either the version 142 (Visual Studio 2019) toolsets or the Clang toolsets by using the Platform Toolset property in Visual Studio is not available if the toolsets were installed by using the Individual Components section of the Visual Studio installation dialog. Selecting version 142 and Clang components from the Desktop Development with C++ workload at installation time causes the toolsets to appear properly in the Platform Toolset property.
__imp___std_init_once_complete unresolved external symbol with Visual Studio 2022 17.2
When you use the XSAPI API static C++ library with Visual Studio 2022 17.2, you might see what’s in the following error example.
This is because of a change in Microsoft STL. The workaround is to add the following code example to one of your code files.
For status on a fix for this issue, see Visual Studio Feedback.Error example
unresolved external symbol __imp___std_init_once_begin_initialize referenced in function "void __cdecl std::call_once<class <lambda_155357a9be3d845a3d89ac4e05cd0d71(struct std::once_flag &,class <lambda_155357a9be3d845a3d89ac4e05cd0d71> &&)" (?$call_once@V<lambda_155357a9be3d845a3d89ac4e05cd0d71>@@$$V@std@@YAXAEAUonce_flag@0@$$QEAV<lambda_155357a9be3d845a3d89ac4e05cd0d71>@@@Z)
Code example
#if _MSC_VER == 1932 // Visual Studio 2022 version 17.2 #pragma comment(linker, "/alternatename:__imp___std_init_once_complete=__imp_InitOnceComplete") #pragma comment(linker, "/alternatename:__imp___std_init_once_begin_initialize=__imp_InitOnceBeginInitialize") #endif
Debugger property might be missing when upgrading PC GDK projects
(Added June 9, 2022)
When you upgrade your PC projects to the June 2022 version of the GDKX, there might be cases where the debugger property is set to the Unsupported debug option.
If this occurs, you must reset the debugger property to Local Windows Debugger by using the debugging toolbar, the project property page, or by setting the DebuggerFlavor msbuild property to WindowsLocalDebugger. (Removing the DebuggerFlavor property altogether also causes Local Windows Debugger to be used.)
GDKX features might be disabled if a Visual Studio 2022 Preview has been installed
(Added June 9, 2022)
Developer computers with a version of Visual Studio 2022 from the Preview channel can result in GDKX VSIXs erroneously marked as disabled.
- If the GDKX Visual Studio extensions do not appear in the Visual Studio IDE in this scenario in Visual Studio 2019 and Visual Studio 2022, select Extensions > Manage Extensions. In Visual Studio 2017,select Tools > Extensions and Updates.
- The GDKX VSIX files are on the Installed tab. If any of them are marked Disabled, reenable them. Restart Visual Studio to restore the GDKX features.
PIX (CPU) | Instrumenting PC titles with PIX events requires the WinPixEventRuntime package
(Added June 9, 2022)
To instrument your Windows PC title with PIX events, you must use the following steps.
- Download and install the WinPixEventRuntime NuGet package.
- Include ix3.h from this NuGet package. Note that the Windows 10 SDK contains a pix.h header. However, this file is now obsolete and cannot be used in gaming titles on Windows PCs. The project templates that are included in the GDKX include pix.h by default.
- After the WinPixEventRuntime NuGet package is downloaded, you must change pix.h to pix3.h.
Input | Minimum value required for manual title control of GameInput work queue (CreateDispatcher)
(Added June 8, 2022)
IGameInputDispatcher::Dispatch will not complete any work when passing a value of 0 for the quotaInMicroseconds parameter per the API documentation. To work around this, pass a value of at least 100 us. This regression will be fixed in an upcoming GDK update..
General
(Added June 8, 2022)
- GameInput currently supports Windows 10 build 18362 (the “Windows 10 May 2019 Update”) and later.
- GameInput is currently available for PC as part of the GDK + Gaming Runtime Services (GRTS) package.
Keyboard and mouse support
Keyboard and mouse support is currently in Beta release quality. The primary known issues are as follows.
- The following members of the GameInputDeviceInfo structure are currently populated with hard-coded values that might not match the device’s actual properties.
- keyboardInfo.
- mouseInfo
- The codePoint, virtualKey, and isDeadKey values that are returned in the GameInputKeyState structure might not always be accurate.
- Keyboard state is currently hard-coded to the US English keyboard layout.
- Aggregate keyboard device support is not available. Keyboard state must be individually processed from each keyboard.
Game controller device support
All Xbox One, Xbox 360, and Human Interface Device (HID) game controllers are supported, with the following exceptions.
- Xbox 360 devices are only supported on PC, on Windows 10 build 19041 (the “Windows 10 May 2020 Update”), and later.
HIDs are only supported on PC. Most HIDs only provide “controller” (raw axis and button) state. Support for fixed-format state like Gamepad or RacingWheel is limited to the following:
- The original version of the Sony DualSense™ Wireless Controller (but not the latest version)
- The Nintendo Switch™ Pro controller, but only when it’s operating in Bluetooth mode
- Several popular racing wheels
*“DualSense” is a registered trademark or trademark of Sony Interactive Entertainment LLC.* *“Nintendo Switch” is registered trademark or trademark of Nintendo of America Inc.*
Missing features and APIs
Several GameInput APIs aren’t yet implemented, or have limited functionality, as detailed as follows.
IGameInput
- The GetNextReading and GetPreviousReading APIs require a valid IGameInputDevice filter to be provided that matches the device that the reference reading is from. Support for iterating through readings across all devices (by passing null for the device filter) will be added in a future update.
- The following functions are currently not implemented and will be added in a future update.
- GetTemporalReading
- RegisterReadingCallback
- RegisterGuideButtonCallback
- RegisterKeyboardLayoutCallback
- CreateAggregateDevice
- FindDeviceFromObject
- FindDeviceFromPlatformHandle
- FindDeviceFromPlatformString
- EnableOemDeviceSupport
- SetFocusPolicy
- On Xbox, the focus policy is currently always set to GameInputDisableBackgroundInput. Only the application in focus receives input.
- On PC, the focus policy is currently always set to GameInputDefaultFocusPolicy. Applications always receive input, even when not in focus.
IGameInputReading
- IGameInputReading instances currently do not have reference identity, contrary to what the API documentation indicates. This means that IGameInputReading pointers obtained via separate API calls cannot be compared for equality to determine if both API calls refer to the same reading. Instead, get the input state from both readings and compare that instead.
- The value returned by the GetSequenceNumber function is currently not valid (for all input kinds).
IGameInputDevice
- Force Feedback is currently only supported for Xbox One accessories (on both Xbox and PC). On PC, the device must be running in Xbox One mode, not HID mode.
- Vibration Feedback is currently only supported for Xbox One gamepads, Xbox 360 gamepads, and the Sony DualSense™ Wireless Controller.
- The IsForceFeedbackMotorPoweredOn function always returns “true”, regardless of the actual hardware state, unless the provided motor index is invalid.
- The CreateRawDeviceReport function can only be used to create reports of the GameInputRawOutputReport kind.
- The SendRawDeviceOutput function can only be used on Xbox to send these reports to Xbox One accessories.
- The following functions are currently not implemented and will be added in a future update:
- GetBatteryState
- SetHapticMotorState
- PowerOff
- GetRawDeviceFeature
- SetRawDeviceFeature
- ** ExecuteRawDeviceIoControl**
- AcquireExclusiveRawDeviceAccess
- ReleaseExclusiveRawDeviceAccess
The following members of the GameInputDeviceInfo structure are currently not populated with valid values. These either contain zero or a null pointer:
- revisionNumber
- interfaceNumber
- collectionNumber
- deviceRootId
- inputReportCount
- outputReportCount
- featureReportCount
- deviceStringCount
- deviceDescriptorSize
- inputReportInfo
- outputReportInfo
- featureReportInfo
- controllerAxisInfo
- controllerButtonInfo
- controllerSwitchInfo
- hapticFeedbackMotorInfo
- displayName
- deviceStrings
- deviceDescriptorData
Published by FLY1NGSQU1RR3L over 2 years ago
About this document
We have organized this document into the following sections.
- Release Notes Errata [late changes/additions submitted 1-7 days before GA]
- Breaking changes
- Issues fixed in this release
- Known issues in this release
- Development environment setup
Topics highlighted in this section were added in close proximity to or after the general availability (GA) release date
- No errata identified yet.
- No breaking changes identified yet.
Audio | Crash in MMDEVAPI.DLL
Fixed an access violation in mmdevapi.dll resulting in game crash because of accessing freed memory.
GDK Installer/Setup | VSIX packages orphaned by installer options in Visual Studio
Fixed an issue that caused GDK VSIX packages to be orphaned in Visual Studio on the PC when using Programs and Features | Change and choosing the Uninstall or Repair radio button.
Visual Studio | MGCCompile fails with updated IntelligentDelivery sample for Desktop when using Clang
Fixed a problem with the March 2022 GDK if you use a MGCCompile source filename other than “MicrosoftGame.config”, the Gaming.Desktop.x64 platform, and the ClangCl PlatformToolset together, which generated a build error:
1>C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\VC\v170\Platforms\Gaming.Desktop.x64\220300\PlatformToolsets\ClangCL\Toolset.Edition.targets(83,7): error MSB3073: The command ""C:\Program Files (x86)\Microsoft GDK\bin\makepkg.exe" localize /d "C:\Direct3DGame1" /pd "C:\Direct3DGame1\Gaming.Desktop.x64\Debug" /gc """ exited with code 3.
Storage | WDApp and PC Bootstrapper compatibility
With the release of PC Bootstrapper, developers on PC need updated tools to get the correct behavior. By default, using wdapp install should not trigger the use of PC Bootstrapper. Developers wanting to trigger the PC bootstrapper with their dev packages should use wdapp install /bootstrapper.
Direct3D12 | CopyTextureRegion copies both depth and stencil even if Subresource is 0 or 1
Fixed bug in CopyTextureRegion with depth stencil resources where only one of the two planes is specified via the subresource index.
Direct3D12 | Rendering artifacts following CopyTextureRegion from texture-compatible to non-texture-compatible depth
Fixed image corruption bug in CopyTextureRegion when copying between texture-compatible and non-texture-compatible depth stencil resources."
HLSL | New file opened at every step during live compute shader debugging
HLSL code and HLSL variables are always available in the live debug session if shader PDBs are resolved.
ThreadID_X, ThreadID_Y and ThreadID_Z are always displayed when debugging a compute shader on-demand.
Fixed a bug that would sometimes open a new file on every single step.
Networking (HTTP) | Fix for hang in XCurl
Fixes an issue in XCurl where if you try to abort an xcurl write operation (CURLOPT_WRITEFUNCTION or CURLOPT_HEADERFUNCTION), curl_easy_perform will hang indefinitely and requests managed by multi handles will never complete via calls to curl_multi_perform.
XSAPI | Real Time Activity (RTA) shared URI subscription issue
Fixed a bug where multiple Real Time Activity subscriptions that are using the same URI would all be removed if one of them unsubscribes.
XSAPI | Groups/GroupsCount value is empty when retrieved by using XblMultiplayerSessionMembers
Fixed a bug where XblMultiplayerSessionMember's Groups and GroupCount fields were not correctly deserialized.
XSAPI | LHC Websocket handle not closed on Status_Request_Error
Fixed an issue where a websocket handle would not be closed under certain circumstances, causing a timeout on suspension.
XSAPI | Crashes in curl_multi_cleanup
Fixed a crash in XSAPI and libHttpClient when cleaning up web requests handled via libHttpClient's CURL implementation
XSAPI | Duplicate sequence numbers in multiplayer activity (MPA) APIs
Fixed an issue that caused multiple Multiplayer Activity requests sent within the same second to be ignored.
XSAPI | XblTraceAnalyzer.exe fails when reading .saz files
Fixed a failure in XblTraceAnalyzer.exe when parsing .saz files if the files weren't written in timestamp order.
XSAPI | Xbox app downloads fail after switching to new sandbox (xblpcsandbox.exe) until Reboot
Fixed an issue that prevented xbox app downloads after switching sandboxes.
XSAPI | XblPresenceAddTitlePresenceChangedHandler returning unknown
Fixed a issue causing XblPresenceAddTitlePresenceChangedHandler events to show XblPresenceTitleState::Unknown instead of the correct title state.
Packaging and Installs | Deprecation of Mod and Package Virtualization elements in MicrosoftGame.config
As of the March 2022 GDK, MicrosoftGame.config has been updated to schema version 1 (Game configVersion="1") for new titles.
- As part of these new schema requirements, the ModFolder, EnableWritesToPackageRoot, DisableFilesystemWriteVirtualization, and DisableRegistryWriteVirtualization elements are now deprecated.
- Their functionality is now enabled by default because of updates to how packages are installed on PC (Flat File Install).
Packaging and Installs | Updates to the MicrosoftGame.config Editor to handle new schema and element requirements
The MicrosoftGame.config Editor now properly manages rules around schema version 1 updates (Game configVersion="1"), including enforcing MSAAppId and TitleId to be present if either is specified or if AdvancedUserModel is set to false and automatically removing deprecated elements (the ModFolder, EnableWritesToPackageRoot, DisableFilesystemWriteVirtualization, and DisableRegistryWriteVirtualization elements)
Visual Studio | Visual Studio life cycle updates
- Visual Studio 2017 (15.9) is now out of mainstream support. The June 2022 GDK/GDKX is the last release expected to support the Visual Studio 2017 IDE. Note that PlatformToolset v141 (the Visual Studio 2017 compiler) is supported through Visual Studio 2019 and Visual Studio 2022 with the appropriate components installed.
- Visual Studio 2019 (16.8) and earlier are out of mainstream support. Visual Studio 2019 (16.9) is in mainstream support through October 2022 and is supported by the June 2022 GDKX. Visual Studio 2019 (16.11) is in mainstream support until April 2029.
- Visual Studio 2022 (17.0) and Visual Studio 2022 (17.2) are supported through a Long-Term Servicing Channel.
Visual Studio | Shader Model property in Visual Studio must be set according to the platform
New shaders that are added to gaming projects through the Visual Studio Add New Project command are explicitly set to version 4.0. It isn’t a valid version for either the Gaming.Desktop.x64 platform or the Gaming.Xbox.XboxOne.x64 platform.
To specify the correct version, select Properties for the shader file. Enter the version number that corresponds to the Windows platform or the Xbox platform under HLSL Compiler > Shader Model.
- Gaming.Desktop.x64: 5.1
- Gaming.Xbox.XboxOne.x64: 6.0
- Note: You can also enter these version numbers at the project level, and then select the value "" for individual shader files.
Subval | Submission Validator /ValidationLanguage
Version 10.0.22000.4310 of SubVal.dll does not output Japanese strings when the /ValidationLanguage flag is set by using the 2206 version of MakePkg. This will be fixed with an updated version of SubVal.dll that will be available in June 2022.
Packaging and Installs | Updated requirements for MSAAppId and TitleId
As of the March 2022 GDKX, MicrosoftGame.config has been updated to schema version 1 (Game configVersion="1") for new titles. As part of these new schema requirements, MSAAppId and TitleId must be present if either element is specified in MicrosoftGame.config. Additionally, if AdvancedUserModel is set to false, a valid MSAAppId and TitleId must be present in MicrosoftGame.config.
Packaging and Installs | Newly added MicrosoftGameConfig.mgc files do not appear in Xbox Gaming Project Control
When you add a new MicrosoftGameConfig.mgc file to a Visual Studio project for the first time, it does not immediately appear in Xbox Gaming Project Control. You must close your Visual Studio project and then reopen it for the new file to appear. Note that this only occurs for the first file that you add. Subsequent files immediately appear in Xbox Gaming Project Control.
Visual Studio | Selecting the Visual Studio 2019 or Clang build tools in a Visual Studio project
The options to select either the version 142 (Visual Studio 2019) toolsets or the Clang toolsets by using the Platform Toolset property in Visual Studio is not available if the toolsets were installed by using the Individual Components section of the Visual Studio installation dialog. Selecting version 142 and Clang components from the Desktop Development with C++ workload at installation time causes the toolsets to appear properly in the Platform Toolset property.
Visual Studio | Uninstall the October 2021 Visual Studio 2022 .vsix files before installing the March 2022 GDK
If you manually installed the Visual Studio 2022 .vsix files that shipped alongside the October 2021 GDK, uninstall those files before you install the March 2022 GDK. If you don’t do this, you will get debugging and deployment failures when using Visual Studio 2022.
Use the following command-line commands to uninstall the October 2021 GDK .vsix files:
Microsoft Game Development Kit March 2022 release notes | © Microsoft. All rights reserved.
Page 12 of 24
vsixinstaller /skuName:Enterprise /skuVersion:17.1 /appIdName:VS
/appIdInstallPath:"C:\Program Files\Microsoft Visual Studio\2022\Enterprise"
/uninstall:Microsoft.Gaming.GDK.PC.v143.211004
/uninstall:Microsoft.Gaming.GDK.PC.v143.Templates /uninstall:Microsoft.Gaming.GDK.PC
/uninstall:Microsoft.Gaming.GDK.Xbox.v143.211004
/uninstall:Microsoft.Gaming.GDK.Xbox.v143.Templates /uninstall:Microsoft.Gaming.GDK.Xbox
Note: This command might vary depending on which edition of Visual Studio 2022 is installed and which .vsix files were initially installed.
If the March 2022 GDK was installed prior to uninstalling the October 2021 GDK .vsix files, repair the March 2022 GDK after uninstalling the October 2021 .vsix files to get back into a working state.
PIX | Instrumenting PC titles with PIX events requires the WinPixEventRuntime package
To instrument your Windows PC title with PIX events, you must use the following steps.
- Download and install the WinPixEventRuntime NuGet package.
- Include ix3.h from this NuGet package. Note that the Windows 10 SDK contains a pix.h header. However, this file is now obsolete and cannot be used in gaming titles on Windows PCs. The project templates that are included in the GDKX include pix.h by default.
- After the WinPixEventRuntime NuGet package is downloaded, you must change pix.h to pix3.h.
Force Feedback
The playCount member in the GameInputForceFeedbackEnvelope structure is currently ignored, and the effect plays only once. playCount is part of the parameters for most force-feedback effects
Missing features and APIs
GameInput on PC is not yet available on the March 2022 GDK branch. Please see the June 2022 GDK Release Notes to learn more about GameInput support added in that release.
The following APIs are not yet implemented in GameInput. They will be available in a future update.
- IGameInput::GetTemporalReading
- IGameInput::RegisterReadingCallback
- IGameInput::CreateAggregateDevice
- IGameInputDevice::GetBatteryState
- IGameInputDevice::PowerOff
The following APIs aren't supported on Xbox and are intended only for use on desktop (Windows PC).
- IGameInput::RegisterGuideButtonCallback
- IGameInput::RegisterKeyboardLayoutCallback
- IGameInput::FindDeviceFromObject
- IGameInput::FindDeviceFromPlatformHandle
- IGameInput::FindDeviceFromPlatformString
- IGameInput::EnableOemDeviceSupport
- IGameInput::SetFocusPolicy
- IGameInputDevice::GetRawDeviceFeature
- IGameInputDevice::SetRawDeviceFeature
- IGameInputDevice::ExecuteRawDeviceIoControl
- IGameInputDevice::AcquireExclusiveRawDeviceAccess
- IGameInputDevice::ReleaseExclusiveRawDeviceAcces