Share via


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

The Microsoft Game Development Kit (GDK) is a complete set of tools, APIs, extensions, and programming models that can be used across current and future Microsoft Gaming platforms and initiatives. Microsoft Game Development Kit (GDK) design and features are driven by your feedback about how you like to develop games. For a complete introduction, see Welcome to the Microsoft Game Development Kit.

For an introduction to what's new in the October 2023 GDK, see the following video.

The GDKX | Roadmap for this and future releases of the Microsoft Game Development Kit (GDK) can be found on the Xbox Developer Forums. Release notes for the current release of the Microsoft Game Development Kit (GDK) can also be found in the GDK/XDK Release notes space on the Xbox Developer Forums.

In addition to many bug fixes, this release includes the following new features.

Table of Contents

System
Networking
Developer tools
PIX
Samples


System

Franchise Game Hubs
This release adds support for Franchise Game Hubs, which allow creators to build a franchise game launcher on console. To support this new feature, some of the existing APIs for download, update, install, enumerate, query and storage access have been improved or new APIs have been added. The improvements benefit Franchise Game Hubs as well as regular games. Contact your Microsoft Account Representative if you are interested in Franchise Game Hubs.

Shareable Persistent Local Storage
Persistent Local Storage can now be marked as shareable between games that are related to each other. A title has to specify this in MicrosoftGame.config, and the related games will be able to read its Persistent Local Storage. This feature can be particularly useful for Franchise Game Hubs, but it is not limited to them.


Networking

PlayFab event pipeline compression
The PlayFab event pipeline now supports optional and configurable compression to reduce the payload size, substantially reducing bandwidth consumption for larger payloads with a small impact on CPU consumption and call duration time.


Developer tools

XBTPLinkSvc now supports developer scenarios around 10GbE
XbtpLinkSvc.exe (NDA topic)Authorization required supports a new transport for faster deployment speeds when using an Xbox Series X Dev Kit. Configure your console with both NIC's connected to a 10Gb switch and turn on the new transport via XbtpLinkSvc /enable:UDP.

DevKit Agent
The DevKit Agent is a new way of managing your consoles from a hosted web service. The console Agent heartbeats to a hosted service and requests jobs to be run on the console. Please see the DevKit Agent overview (NDA topic)Authorization required for more information.

Windows SDK version 22000 now required for GDK development
Starting with the October 2023 version of the GDK, the minimum supported version of the Windows SDK is version 22000. This version of the Windows SDK has several improvements for game development including API additions and bug fixes for WINAPI_FAMILY_GAMES, a new version of DirectX Math and improved C++ language conformance. Version 22000 of the Windows SDK is available in the Game Development with C++ workload in the Visual Studio installer or as a standalone download Windows SDK - Windows app development | Microsoft Developer.

XBOM group remote view can be split into single separate views
Group Remote Control has been reorganized to simplify how multiple consoles can be viewed. The old "Low FPS/High FPS" options have been removed; to get a console's high FPS view just click on the Expand button for that item.

XBOM remote Control supports 1440 and HDR on Xbox Series S consoles
Remote Control can now view content in 1440p resolution including HDR support if the console is running in that mode.

XBOM improved flexibility with network names
Xbox Manager is now more flexible about the kinds of network names accepted when adding consoles. It now allows any resolvable name, so you can use CONSOLENAME.LOCAL, for example, to help with name resolution on VPNs vs local networks. Previously it was unnecessarily strict, limiting consoles to 15-character NETBIOS-style names.


PIX

PIX UI Performance
Numerous wholistic performance improvements were made as well as memory leaks fixed that had been causing performance degradation over time. Targeted performance improvements were also made to the Shader Source view, Resource Table, GPU State view, and other views.

D3D object memory usage in the Timing Capture Summary layout
The Summary Layout in Timing Captures now includes a list of the top D3D resource and heap API objects sorted by size. Hyperlinks can be used to get more detail about each allocated object.

Updates to idle time display in the Timing Capture core lanes
The core lanes in Timing Captures have been updated so the display of idle time is consistent with the way idle time is drawn in the thread lanes. In light mode idle time is now white on the context switch sublane, so it's clearly distinguished from the black used for other processes. Dark mode has been adjusted to have similar levels of contrast as in light mode for each type of block: Idle time is black so it blends in with the background. Other process blocks are white. Thread time with no PIX event is rendered as black with hatches.

Timing Capture Metrics View Improvements
Improvements to the Metrics View in this release include new mouse wheel interactions and a simplified budget UI. Shift + mouse wheel can now be used within the metrics lane or the histogram to change the y axis minimum and maximum values by zooming in and out. Clicking and dragging in the histogram, creates a selection range on the y-axis. The metrics lane will then zoom to show that range. Clicking and dragging the selected region within the histogram allows the user to reposition their viewport.

PIX Circular Timing Captures
PIX Timing Captures can now be taken in a circular, or ring-buffer, mode. When capturing in this mode, PIX stores capture data in an in-memory buffer on the console. The size of the buffer is controlled by the tooling memory setting. When the buffer is full, the oldest capture data is aged out to make room for newer data. Because the amount of memory needed to store capture data is fixed, circular captures can be run continuously. Circular captures can be started and stopped either from the PIX UI, or from the PIXBeginCapture and PIXEndCapture APIs.


Samples

Franchise Game Hub sample
This sample demonstrates how to set up a Franchise Game Hub, and hub-aware and related titles, and employ existing and new API available in October 2023 Microsoft Game Development Kit (GDK) to present actions based on ownership and installation context.

AmbientOcclusion sample
This sample demonstrates two ambient occlusion techniques: MiniEngine's Screen Space Ambient Occlusion (SSAO) and Intel's Ground Truth Ambient Occlusion (GTAO). The sample also shows FP16 versions of some of the shaders which can improve performance with slight tradeoffs in quality.

For a complete list of samples included with the Microsoft Game Development Kit (GDK), see Microsoft Game Development Kit samples.