Overview
MSIXVC2 encrypts content at the segment level. Each segment is independently encrypted, which enables efficient parallel processing during upload and delivery. Encryption keys are unique to each package version. Content is encrypted in the following contexts:- On the CDN. Content stored on the content distribution network is encrypted.
- In transit. Content delivered to the player’s device is encrypted during download.
- On the player’s device after installation. Installed files are stored as plain files on NTFS. There’s no runtime decryption cost.
Executable (.exe) files remain encrypted as flat files and can only be launched, not read. This is consistent with the Flat File Install behavior for MSIXVC.
Per-version encryption
Each version of a package is encrypted with its own set of keys. This means:- Pre-downloaded content remains secure. If a player pre-downloads an update before its release date, the content can’t be decrypted until the player has a license for that specific version.
- Different versions use different keys. Access to one version’s encryption keys doesn’t grant access to another version’s content.
- Sandbox and flight isolation. Packages used across sandboxes, flights, or playtests can have distinct encryption, providing content isolation without requiring full reingestion.
Per-version licensing (the ability to license individual versions independently) isn’t available and is planned for the April 2027 GDK.
Per-segment encryption
Unlike MSIXVC, where encryption is applied across large contiguous regions of the package, MSIXVC2 encrypts each segment independently. This approach offers several practical benefits:- Efficient delivery. Only the segments that have changed need to be re-encrypted and delivered. Unchanged segments retain their existing encrypted form on the CDN.
- No cascading re-encryption. Modifying one segment doesn’t require re-encrypting adjacent segments.
- No
/maxencryptionfragmentsconsideration. The/maxencryptionfragmentsoption is no longer a consideration in MSIXVC2. The per-segment encryption model eliminates the need for this option.
Comparison with MSIXVC encryption
Impact on IO performance
Because MSIXVC2 files are stored unencrypted on the player’s device, there’s no runtime decryption overhead. DirectStorage and standard Win32 file reads operate at full speed against plain NTFS files. Your game engine sees no difference between reading files from an MSIXVC2 installation and reading files from an unpackaged build directory.Upload encryption
MSIXVC2 packages uploaded to Partner Center don’t use client-side upload encryption. The XBOX service handles all encryption for distribution. The/l and /lk encryption modes are only applicable to XVC and MSIXVC (v1) packages.
