Multi-disc Functionality

Multi-disc functionality on Xbox One allows one or more XVC packages to be shipped on a set of discs which acts as a single playable license for end 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 than this, please work with your DAM.

Within a set of discs, Disc #1 acts as the gameplay disc, and will include the licenses for all XVCs in the set of discs.

End users start the install/play process by inserting Disc #1. The Xbox Shell will prompt users when it is time to insert subsequent discs. When the game is actively installing from disc, ejecting a disc will not shut down the game as long as another disc from the same set is inserted within a short period of time.

There are no title APIs to trigger disc swapping. However, if titles reorder the install order of the chunks within the actively running title’s XVC package, the multi-disc install system will prompt the user as appropriate to service title data requests.

Once a title has completed installation and stops playing the title, subsequent title launches wil 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 of two discs).

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

Note Do not submit the output XVCs from Split Package (splitpkg.exe) into the XDP publishing system. You will submit your master XVC along with your DiscLayout.xml file, and splitpkg.exe is 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 should be placed on a specific disc. The following example specifies that all assets specific to an Xbox One X console will be 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 chunk prior to the chunk with the Marker="launch" attribute (chunks in the title’s launch set) will always be included on Disc #1 if possible, so that Xbox One X-specific assets which are in the launch set will not be placed on Disc #2.

It’s very important that titles are verified for functionality prior to submission for publication when disc layouts like these are used, to avoid errors in publishing which will cause delays and necessitate test disc re-ordering.

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. It is strongly recommended you burn test discs to validate your install experience. For information about the folder layout and metadata requirements for creating test discs, see Creating Test Discs.

The individual files produced by split package can be sideloaded using xbapp install or Xbox One Manager. Assuming the example layout above was used, the following command will install Disc #1:

Xbapp install PackageName_1.0.0.0_x64__8wekyb3d8bbwe.GameDisc.1

Once installation of the content from Disc #1 is complete, the Xbox Shell will notify the user to insert Disc #2, which can be accomplished similarly:

Xbapp install PackageName_1.0.0.0_x64__8wekyb3d8bbwe.GameDisc.2