XR-129: Intelligent Delivery Content Management *
Version 1.3, 4/1/2021
Titles that support intelligent delivery must handle scenarios gracefully when content that is not currently installed is needed. Titles can accomplish this by calling PackageInstallChunksAsync in the GDK or AddChunkSpecifiersAsync in the XDK when additional content needs to be installed from disc or Xbox Live.
For more information on Streaming Install or Intelligent Delivery with the GDK, read the Streaming Install and Intelligent Delivery overview
More Information
With intelligent delivery, titles can use the device-specific, language-specific, or on-demand install of game content. Titles that allow for in-game alternation of features/settings that would need content not installed automatically must:
- Not crash or become unresponsive when the content is not available. & Initiate the install correctly by using the PackageInstallChunksAsync (GDK) or AddChunkSpecifiersAsync (XDK) API. It is highly recommended that the title display progress about the installation of content initiated by the title, using XPackageCreateInstallationMonitor (GDK) or the events and methods of the PackageTransferWatcher object obtained by using the AddChunkSpecifersAsync API (XDK).
Example scenarios:
Language Packs
The user is using en-US as their console language setting, and you offer fr-FR, it-IT, es-SP, fr-CA, de-AU and ja-JP languages also, via intelligent delivery. By default, because the user has their console set to en-US, the platform will install the en-US language chunks as the base installation.
However, if your title offers language selection in an in-game menu, your title must trigger the installation of additional language content if the user selects a different language from what was initially installed.
Devices
The user originally installed the game on an external drive as an Xbox One S title. The user moves the external drive to an Xbox One X console. The platform will automatically install the Xbox One X chunks prior to the launch marker, but any content not in the launch set that is specific to Xbox One X will be streamed in while the title is runnable from its launch set. Your title must check that the chunks for the device type are installed, and handle this scenario gracefully while waiting for them. Additionally, titles that offer device-specific optimizations, such as improved textures, should consider this scenario as part of their content-management experience.
On-Demand Content
The user is playing a game that has a multiplayer campaign, a character editor, and a level editor. Your title has marked these as on-demand assets in your layout file. Your title should indicate in the menu entries for these modes that the content needs to be installed. If the user selects one of these menu entries, or the title otherwise needs the content, the title must request that the content be installed. Users can cancel a request to install the content, and titles must gracefully handle this return value from AddChunkSpecifiersAsync.
Implementation Guidance and Best Practices
Additional Resources
Certification Test Cases
129-01 Intelligent Delivery of Language Packs
Tools Needed:
- 1 x Xbox One
- 1 x Xbox One S
- 1 x Xbox One X
- 1 x Xbox Series X Dev Kit (using Xbox Series X|S retail console mode)
Test Steps
- Set Xbox One console to a supported language.
- Install the title.
- Launch the title.
- Navigate the title and ensure the experience matches that of the console selected language.
- If the title offers an in-game menu option to switch languages, select each language to install each of those language chunks.
- Repeat steps 1-5 for all supported languages.
- Repeat steps 1-6 on all generations of devices.
Expected Result
The expected language packs are installed as expected.Pass Examples
- The title installs the expected language pack based on the console language setting.
- Selecting a different language from a menu option installs the correct language pack.
- The title remains stable and does not crash or become un-responsive.
Fail Examples
- The title does not install the expected language pack based on the console language setting.
- Selecting a different language from a menu option does not install the correct language pack.
- The title crashes or becomes un-responsive.
129-02 Intelligent Delivery of Device specific Content
Tools Needed:
- 1 x Xbox One
- 1 x Xbox One S
- 1 x Xbox One X
- 1 x Xbox Series X Dev Kit (using Xbox Series X|S retail console mode)
Test Steps
- Set Xbox One console to a supported language.
- Install title.
- Launch the title.
- Navigate the title and ensure only Xbox One specific content is installed.
- Repeat steps 1-4 on all generations of devices and ensure all generation specific content is installed.
- Repeat steps 1-5 for all supported languages.
Expected Result
The expected device specific content is installed as expected.Pass Examples
- The title installs the expected device specific content.
- The title remains stable and does not crash or become un-responsive.
Fail Examples
- The title does not install the expected device specific content.
- The title crashes or becomes un-responsive.
129-03 Migration of Device Specific Content
Tools Needed:
- 1 x Xbox One
- 1 x Xbox One S
- 1 x Xbox One X
- 1 x Xbox Series X Dev Kit (using Xbox Series X|S retail console mode)
Test Steps
- [Xbox One Console] Set Xbox One console to a supported language.
- [Xbox One Console] Install title to an external USB device.
- [Xbox One Console] Launch the title.
- [Xbox One Console] Navigate the title and ensure only Xbox One specific content is installed.
- Move the USB device to an Xbox One X console
- [Xbox One X Console] Take the update to install Xbox One X specific content.
- [Xbox One X Console] Launch the title and ensure the title gracefully handles the install of additional Xbox One X content.
- Move the USB device back to an Xbox One console.
- [Xbox One Console] Navigate the title and ensure the title gracefully handles both platform content being installed.
- Repeat steps [5] - [9] on an Xbox One Series X|S.
Expected Result
The expected device specific content is installed as expected.Pass Examples
- The title installs the expected device specific content.
- The title remains stable and does not crash or become un-responsive.
Fail Examples
- The title crashes or becomes un-responsive.
129-04 Intelligent Delivery of On-Demand Content
Tools Needed:
- 1 x Xbox One
- 1 x Xbox One S
- 1 x Xbox One X
- 1 x Xbox Series X Dev Kit (using Xbox Series X|S retail console mode)
Test Steps
- Set Xbox One console to a supported language.
- Install title.
- Launch the title.
- Install all on-demand content.
- Repeat steps 1-4 for all supported languages.
- Repeat steps 1-5 on all generations of devices.
Expected Result
The on-demand content is installed as expected.Pass Examples
- The title installs the on-demand content as expected.
- The title remains stable and does not crash or become un-responsive.
Fail Examples
- The title does not install the on-demand content as expected.
- The title crashes or becomes un-responsive.
129-05 Features and Recipes
Tools Needed:
- 1 x Xbox One
- 1 x Xbox One S
- 1 x Xbox One X
- 1 x Xbox Series X Dev Kit (using Xbox Series X|S retail console mode)
Test Steps
- Install the base title without any optional content associated with Features and Recipes.
- Navigate to all areas of the title, attempt to access content not installed and ensure the title remains stable.
- For each Feature exposed in the system UI install the Feature and attempt to access it within the title and ensure the title remains stable.
- For each Feature not exposed in the system UI install the Feature view via the in title UI option and ensure the title remains stable.
- For each Recipe, ensure the user owns any related store entitlements and perform a fresh install.
- Ensure that any Features contained within the Recipe are installed and accessible within the title.
Expected Results
The title remains stable when optional content is not installed and the title allows access to optional content when installed.Pass Examples
- The title remains stable when optional content is not installed.
- The title allows access to optional content when installed.
Fail Examples
- The title crashes or becomes un-responsive when optional content is not installed.
- The title does not allow access to optional content when installed.