Multi-disc functionality

Multi-disc functionality on Xbox One allows one or more XVC packages to be shipped on a disc set that acts as a single playable license for users.

The platform supports up to 15 discs in a single disc set. However, the physical manufacturing and packaging logistics currently support publishing only two discs per retail package. If you need more discs, work with your developer account manager (DAM).

Within a disc set, disc 1 acts as the gameplay disc and includes the licenses for all XVCs in the set. The user starts the install/play process by inserting disc 1. The Xbox shell prompts the user to insert subsequent discs. When the game is actively installing from a disc, ejecting the disc doesn't shut down the game if another disc from the same set is inserted within a short period of time.

There are no title APIs for triggering disc swapping. However, if the title changes the installation order of the chunks within the actively running title's XVC package, the multi-disc installation system prompts the user to respond to the title's data requests.

After a title has completed installation and stopped playing, subsequent launches of the title always require disc 1 to be in the console.

To lay out a package for multi-disc support, update your DiscLayout.xml file as shown in the following example. This instructs the packaging and mastering process to allow the creation of two XVC files, one for each disc.

<Packages>
  <Package Name="GameDisc" MaxDiscs="2">
  </Package>
</Packages>  

Note

Don't submit the output XVCs from Split Package (splitpkg.exe) into the Microsoft Partner Center publishing system. You'll submit your master XVC along with your DiscLayout.xml file. Splitpkg.exe will be run as part of the publishing and disc-mastering process.

The platform also supports more complex layout instructions. For example, you can indicate that all assets with a certain specifier are to be placed on a specific disc. The following example specifies that all assets specific to an Xbox One X console are laid out on disc 2. This same approach could be used with certain languages or to group content for custom developer specifiers on disc 2 through disc n.

<Packages>
  <Package Name="GameDisc" MaxDiscs="2">
    <Include Devices="Xbox-Scorpio" Disc="2"/>
  </Package>
</Packages>  

Important

Any chunks in your title's DiscLayout.xml file that precede the chunk with the Marker="launch" attribute (that is, any chunks in the title's launch set) are always included on disc 1, if possible, so that Xbox One X–specific assets in the launch aren't placed on disc 2.

It's very important that when disc layouts like these are used, titles get verified for functionality prior to being submitted for publication. This helps avoid errors in publishing that cause delays and necessitate reordering of test discs.

Use the SplitPkg command, along with the XVC generated by Make Package (makepkg.exe) and your DiscLayout.xml file, to generate your test disc XVC files. We strongly recommend that you burn test discs to validate your installation experience.

The individual files produced by Split Package can be sideloaded by using xbapp install (NDA topic)Authorization required or Xbox Manager (NDA topic)Authorization required. Assuming that the previous example layout was used, the following command installs disc 1:
Xbapp install PackageName_1.0.0.0_x64__8wekyb3d8bbwe.GameDisc.1

After installation of the content from disc 1 is completed, the Xbox shell notifies the user to insert disc 2, which can be accomplished similarly as follows:
Xbapp install PackageName_1.0.0.0_x64__8wekyb3d8bbwe.GameDisc.2

See also