The April 2018 release of the Xbox One XDK from Microsoft contains the following new features, tools, and documentation. For features that shipped in a previous release of the Xbox One XDK, see the What’s New document for that release, available from Features Introduced in Previous Releases.
Sections:
The most recent release notes for and updates to the Xbox One XDK can always be found on Xbox One XDK Software Downloads on the Xbox Game Developer (XGD) site. For access, log in with your ID and password on https://developer.microsoft.com/en-us/games/xbox/partner/index; on the left hand table of contents select Xbox One Development, and then select Software Downloads.
You can check with your account manager for the latest information about upcoming Xbox One XDK releases.
The April 2018 Xbox One XDK contains the latest tools and libraries for Xbox One.
The Xbox One Developer Roadmap on XGD has been updated with the latest projections of developer-facing feature work. The roadmap is intended to help developers plan their implementation schedules around upcoming feature and tooling efforts for the Xbox One console and related services.
To learn about new updates to Xbox Live, see the What’s New topic in the documentation for the Xbox Live SDK. You can find this documentation under your XDK install location at %XboxOneXDKLatest%\Documentation\XboxLiveSDK.chm. You can also download the Xbox Live help file from the Xbox One XDK Documentation page.
You can now manipulate Game Chat 2 pre-encode chat-audio buffers
Game Chat 2 now supports manipulation of chat-audio buffers captured for local users. This is an updated version of the pre-encode buffer manipulation found in Game Chat.
New Game Chat 2 WinRT projections to support C# development
The new WinRT version of Game Chat 2 allows you to interface with the library using native WinRT-compatible languages like JavaScript and C#.
Support for Visual Studio 2017 version 15.6
Version 15.6 of Visual Studio 2017 is now supported for XDK development. The XDK includes an updated set of CRT headers and libraries that correspond to the compiler and linker toolset that is included in the 15.6 release. All projects built with Visual Studio 2017 will use these new headers and libraries by default. The EnableLegacyXdkHeaders msbuild property allows you to opt out of using these new headers and libraries.
Run from PC deployment over XBTP leaves preview
Run from PC deployment over the Xbox Transfer Protocol (XBTP) is now a complete feature. For more information, see Run from PC Deployment.
Xbox One Manager
The following updates and improvements have been made to Xbox One Manager:
New option to automatically accept consent prompts
The new Automatically accept consent prompts option in Xbox One Manager, Windows Device Portal (WDP), and unattended setup scripts suppresses consent prompts that appear when first using console features such as microphone access. This can be useful for automated testing.
Title Display screen for the Xbox One X dev kit front panel
The front panel for Xbox One X dev kit dev kits has a new screen that displays information about the title planes: resolution, whether HDR is enabled, and the present interval. This new screen is next to System Display, which shows the TV resolution. For more information, see Using the front panel display.
You can now assign a script to a button on the Xbox One X dev kit front panel
Unattended setup scripts include a new action that allows you to assign a script to a button on the Xbox One X dev kit front panel.
Xbox Instant Play (Preview)
You can now automatically create streaming install plans for optical media without reducing install size by separating assets into separate files. To create an automatically-optimized streaming plan, run your title, extract the automatically captured I/O profile, and run Xiputil.exe. You can test the output by using the new /oddsim option in xbapp install.
Multithreaded benefits for package creation when running on fast SSD hard drives
The new /s switch on MakePkg.exe allows faster packaging when run on systems with high-performance SSD drives. Note that this option should not be used with rotational drives, as the parallel I/O request nature of the option can actually reduce performance when used with those drives.
xbWatson
The xbWatson tool for Xbox One now includes the following features:
MakePkg can no longer produce unencrypted packages
The /lu switch for the Make Package (makepkg.exe) tool is no longer supported.
USB mouse support
The XDK now supports input from all USB mouse devices that are supported by Microsoft Windows. The Mouse API for exclusive apps supports five mouse buttons, horizontal and vertical wheel movement, and custom cursor glyphs. You can determine whether a mouse is plugged in, get the capabilities of an attached mouse, and show or hide the cursor. For more information, see Mouse Input.
Timing Captures now include an option to collect and analyze CPU samples
PIX now includes a CPU sampling profiler that can optionally be run when taking a timing capture. Viewing CPU samples is useful for determining what code is running on a thread or core for portions of your title that either have been sparsely instrumented with PIX events or not instrumented at all.
The integration of samples into timing captures improves the iteration time of your profiling tasks because you can now get a sense of what code is executing at any point in time without having to go back and add additional instrumentation to your title.
Timing captures now include the ability to visualize the execution times of individual functions in your title
Timing captures now allow you to track the execution of your title’s functions. You can select which functions to track by viewing callstacks for samples, by analyzing an aggregate view of the samples, or by selecting functions from your title’s PDBs. Each call to the functions you track is displayed on an additional lane per thread (or core) in the capture. As with the ability to collect CPU samples, the ability to track functions improves your iteration time by drastically reducing the need to add instrumentation to your title, rebuild, and redeploy.
Symbol information is now saved in Timing captures The function names that are displayed in CPU samples, tracked functions, and context switch callstacks are now saved in the timing capture file. Persisting this symbol information allows you to see the function names in the capture even if you don’t have access to the PDBs that were present at the time the capture was taken.
New Timeline rendering options in Timing and GPU captures
Timing captures and GPU captures now include an option to draw all child nodes in the timeline on top of a collapsed parent node instead of hiding them. This option allows you to view the data in the same way it was displayed before the hierarchical flame graph display was added to PIX. You can also collapse or expand a node by double-clicking it.
Console display
PIX can now show meshes and textures from PIX onto the display connected to your console. Textures have the options of displaying in HDR, in 4K resolution, and showing the portion of the texture visible from PIX and the selected pixel.
Start/End of Pipe timestamps in timing captures
Timing captures now include start of pipe to end of pipe timing lanes for GPU work. These lanes show GPU work per hardware or API queue as non-overlapping items with duration measured from start of pipe to end of pipe and are similar to execution duration lane in GPU captures. By default, new lanes are added in a collapsed state directly under the corresponding GPU flame graph lanes. Column names in the timing capture event list have been renamed to match the column names in GPU captures.
Edit and Continue of GPU Instructions
Shader GPU instructions can now be edited directly to see the effects that modifying hardware instructions has upon your capture. This functionality is similar to HLSL.
Title warnings on connection
In previous releases, PIX displayed a warning dialog box after opening a GPU capture for title configuration problems such as 7th core, Kinect, and extended reservation. These warnings have been moved into the Connection view, which can now display multiple warnings. The warnings appear immediately after PIX connects to the title. After opening a GPU capture, the warnings will be included in the Warning view.