These instructions are only for testing purposes. For retail scenarios, this data is autoconfigured according to the metadata in Partner Center. The options selected in the flow for creating compilation discs are used to control the installation order, autoplay, and more. You don’t submit the test metadata or JSON config files to us directly when you submit your games for ingestion.
Compilations
Create a test compilation disc
To create and test a compilation disc, you need to create a catalog.js metadata file and a disc layout described as follows.Create a disc layout
Create a disc layout that looks like the following example.- Licenses contains the license files for the games. This information isn’t needed for XBOX One ERA dev kits. Make sure to use XVCs that are created with the /LT flag. Afterward, these can be omitted.
- MSXC contains the packaged games and the metadata that are used by the XBOX shell.
- Metadata contains the metadata that the shell uses for games on the disc and for game packages.
- Bundle contains images that are used by the shell.
- Package1.XVC contains images that are used by the shell for the first game. The name must match that of the game package file in MSXC.
- Package2.XVC contains images that are used by the shell for the second game. The name must match that of the game package file in MSXC.
Catalog.js
In the Metadata folder, create a file called catalog.js. Edit this file to reflect the names of your packages and images in the other folders. This file must be UTF-16 LE encoded. We recommend using a JSON validator on the web. To ensure that the JSON is valid, copy it into a text editor and then save the file in UTF-16 LE format.Example of a catalog.js file for a multi-game scenario with comments
Example of catalog.js for a game and downloadable content (DLC) scenario
Installation ordering and notifications
DLC installation notifications are usually triggered when a DLC package completes an installation. For certain types of game discs, there are cases when this isn’t desired, because it would create a large number of notifications in a very short time. For example, a Game of the Year edition might include a large number of small DLC packages on the disc. To handle this situation, notifications for DLC are triggered only when the game they apply to is already installed. For games with a large number of small DLC packages, we recommend that the packages on the disc be ordered such that the DLC is installed before the game. This ensures that the user isn’t inundated with notifications when the DLC packages are installed. For games with a small number of large DLC packages, we recommend that the DLC be installed after the main game to ensure that a user isn’t blocked from playing the game until all the DLC packages are installed. To control the order in which the DLC and game are installed, simply adjust their order in the Packages JSON array in catalog.js. This array is what controls the default order of installation.Deploying
To deploy the compilation disc, burn the directory structure to a disc. When you insert the disc into a dev kit, it starts just as a release version would on a retail console.Multi-discs
To create test multi-discs, split your existing XVC into two files.XVCs can be split only on individual chunk boundaries, as defined in your Layout.xml file. XVCs that have extremely large chunks (larger than 45 GB) might be impossible to publish by using the multi-disc facility. In general, it’s best to keep your title’s chunks smaller than 45 GB.
xbapp install for disc 1 and xbapp install for disc 2. After the content on disc 1 is installed, the console will prompt you to insert disc 2.
