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 callingPackageInstallChunksAsync 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 in the GDK documentation.
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) orAddChunkSpecifiersAsync(XDK) API.
XPackageCreateInstallationMonitor (GDK) or the events and methods of the PackageTransferWatcher object obtained by using the AddChunkSpecifiersAsync 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)
- 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.
- 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 unresponsive.
- 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 unresponsive.
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)
- 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.
- The title installs the expected device-specific content.
- The title remains stable and does not crash or become unresponsive.
- The title does not install the expected device-specific content.
- The title crashes or becomes unresponsive.
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)
- [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 Series X|S.
- The title installs the expected device-specific content.
- The title remains stable and does not crash or become unresponsive.
- The title crashes or becomes unresponsive.
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)
- 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.
- The title installs the on-demand content as expected.
- The title remains stable and does not crash or become unresponsive.
- The title does not install the on-demand content as expected.
- The title crashes or becomes unresponsive.
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)
- 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.
- The title remains stable when optional content is not installed.
- The title allows access to optional content when installed.
- The title crashes or becomes unresponsive when optional content is not installed.
- The title does not allow access to optional content when installed.
