> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# MSIXVC2 packaging overview

> MSIXVC2 is the new PC packaging format in the GDK, delivering smaller base packages, faster content updates, and a simplified upload workflow.

MSIXVC2 is the new packaging format for PC games built with the Microsoft Game Development Kit (GDK). It delivers significantly smaller base game packages and content updates, faster packaging, and a simplified upload workflow compared to the original MSIXVC format. MSIXVC2 is generally available starting with the October 2026 GDK.

<Info>
  MSIXVC2 is **PC-only**. XBOX console games continue to use the existing XVC packaging format. The `makepkg` tool handles both formats - one tool for both platforms.
</Info>

## Why MSIXVC2

The original MSIXVC packaging format was designed for a world of infrequent updates and disc-based distribution. Modern game development looks different: games exceed 100 GB, updates ship weekly or daily, and players expect small, fast, frequent updates.

MSIXVC2 addresses the development friction around packaging, upload times, and content update efficiency by changing how game content is segmented, deduplicated, and delivered.

## Key improvements

### Smaller content updates

MSIXVC2 eliminates the alignment padding and chunk-boundary constraints that inflate content updates today. Changes are tracked at the byte level rather than at fixed 4 KB block boundaries. Moving a file between chunks or reordering content within a chunk doesn't trigger a redownload - only genuinely changed content is delivered.

In testing across shipped titles, some update sizes are reduced by 64-94% compared to MSIXVC.

### Faster packaging

`makepkg pack` with `/msixvc2` runs significantly faster than legacy `MakePkg pack` for large titles. Packaging overhead that previously accounted for minutes of build time is largely eliminated.

| Title                       | MakePkg pack | makepkg pack | Speedup |
| --------------------------- | ------------ | ------------ | ------- |
| Small title (\~1 GB)        | 5 sec        | 2 sec        | 2.2x    |
| Medium title (\~12 GB)      | 70 sec       | 12 sec       | 5.7x    |
| Large title (\~130 GB)      | 14 min       | 3 min        | 4.6x    |
| Very large title (\~320 GB) | 52 min       | 7 min        | 7.6x    |

### Reduced package overhead

Every MSIXVC package today includes a fixed minimum hash tree that scales with game size. For a 320 GB title, this overhead is approximately 2 GB and is always fully downloaded with every update. MSIXVC2 reduces this overhead by over 90% and allows it to be partially downloaded.

### Built-in compression

Assets that aren't already compressed are transparently compressed for transport and storage on the CDN. On the player's machine, files are installed uncompressed.

### Per-version encryption

Each version of a package is encrypted with its own set of keys, isolating package versions from one another. Encryption is applied at the CDN and in transit. On the player's device, installed files are stored unencrypted.

### One-command upload from loose files

With MSIXVC2, you can combine packaging and uploading into a single step:

```text theme={null}
makepkg upload /d <your_build_folder> /msixvc2
```

The traditional two-step workflow (pack locally, then upload separately) is still supported for teams that want to inspect their package before uploading.

## Format differences

| Aspect              | MSIXVC                                                | MSIXVC2                                                                |
| ------------------- | ----------------------------------------------------- | ---------------------------------------------------------------------- |
| Segmentation        | Fixed-size 4 KB aligned blocks                        | Variable-size content-based segments                                   |
| Encryption          | Shared key across versions                            | Per-version keys                                                       |
| Package overhead    | Fixed minimum hash tree based on game size            | Minimal overhead                                                       |
| Chunk layout impact | Reordering chunks or moving files triggers redownload | Chunk layout changes are metadata-only - no redownload of moved assets |

## What stays the same

* **Your game doesn't know.** Files are installed in their original form. Your engine reads them the same way it reads files from an unpackaged build directory—Win32 reads and DirectStorage work unchanged.
* **Your scripts don't break.** Existing MakePkg commands work unchanged in `makepkg`. The `/msixvc2` flag opts in to the new format.

<Note>
  The October 2026 GDK removes the legacy MakePkg.exe and the temporary `makepkg2.exe` name. The managed replacement is `makepkg.exe`.
</Note>

* **Intelligent Delivery works the same.** You define chunks the same way. The difference is under the hood - reordering chunks is free.
* **Partner Center submission flow is unchanged.** Same APIs, same UI for uploading and publishing.
* **Console builds are unaffected.** XVC continues to work for XBOX consoles. `makepkg` handles both formats.

## Scope and timeline

| Milestone                   | Details                                          |
| --------------------------- | ------------------------------------------------ |
| **April 2026 GDK** (2604)   | Public preview - opt in with the `/msixvc2` flag |
| **October 2026 GDK** (2610) | General availability                             |
| **April 2027 GDK** (2704)   | MSIXVC2 becomes the default PC package format    |

## Package branch best practices

MSIXVC2 uses a different internal format than MSIXVC. The two formats aren't interchangeable within the same package branch in Partner Center. Follow these guidelines when adopting MSIXVC2.

### Use a separate branch or package set

Publish your MSIXVC2 packages to a **new branch** in Partner Center. Don't overwrite your production MSIXVC packages with MSIXVC2 builds. Keeping MSIXVC2 on its own branch lets you evaluate the format side-by-side with your existing MSIXVC pipeline without disrupting your live game or your existing content update history.

### Downgrading from MSIXVC2 to MSIXVC

Reverting a branch from MSIXVC2 back to MSIXVC is **not a supported workflow**. Because the two formats segment content differently, switching a branch back to MSIXVC forces a full re-ingestion of all content - effectively a complete reupload and a full redownload for any players on that branch. Plan accordingly: treat MSIXVC2 branches as forward-only.

### Recommended migration workflow

1. **Keep your existing MSIXVC pipeline running** for production releases.
2. **Create a new Partner Center branch** (for example, `msixvc2`) for MSIXVC2 testing.
3. **Publish MSIXVC2 packages to a development sandbox** using the new branch. Validate installs, updates, and Intelligent Delivery behavior.
4. **Compare content update sizes** between your MSIXVC and MSIXVC2 branches to quantify the improvement for your title. See [Evaluating MSIXVC2 for your title](/build/core-features/common/packaging/packaging-updates-msixvc2#evaluating-msixvc2-for-your-title).
5. **Submit the MSIXVC2 package for certification** when you're ready to publish it.

## Padding and alignment considerations

With MSIXVC, content update efficiency depends on careful 4 KB alignment of assets within pack files. With MSIXVC2, these alignment requirements are eliminated. Content-based segmentation automatically identifies unchanged data regardless of alignment or layout.

If your title ships on both PC and console, you can use separate padding configurations. Under MSIXVC2, you can safely reduce or remove padding for your PC build. If you prefer to maintain the same configuration across platforms, that works as well - MSIXVC2 handles both cases without penalty.

## Getting started

To start using MSIXVC2, see [Getting started with MSIXVC2 for PC](/build/core-features/common/packaging/overviews/packaging-getting-started-for-PC-msixvc2).

For the `makepkg` command-line reference, see [Make package (makepkg.exe)](/build/core-features/common/packaging/deployment/makepkg).

## Related topics

[Overview of packaging](/build/core-features/common/packaging/overviews/packaging) [Getting started with MSIXVC2 for PC](/build/core-features/common/packaging/overviews/packaging-getting-started-for-PC-msixvc2) [Getting started with MSIXVC for PC](/build/core-features/common/packaging/overviews/packaging-getting-started-for-PC) [Content updates with MSIXVC2](/build/core-features/common/packaging/packaging-updates-msixvc2) [MSIXVC2 encryption model](/build/core-features/common/packaging/packaging-encryption-msixvc2) [Make package (makepkg.exe)](/build/core-features/common/packaging/deployment/makepkg) [XBOX Game Package Manager](/build/core-features/common/packaging/xgpm) [Automating package uploading](/build/core-features/common/packaging/package-uploader)


## Related topics

- [Overview of packaging](/build/core-features/common/packaging/overviews/packaging.md)
- [MSIXVC2 encryption model](/build/core-features/common/packaging/packaging-encryption-msixvc2.md)
- [Getting started with MSIXVC2 packaging for PC](/build/core-features/common/packaging/overviews/packaging-getting-started-for-PC-msixvc2.md)
- [Content updates with MSIXVC2](/build/core-features/common/packaging/packaging-updates-msixvc2.md)
- [Flat File Install overview](/build/core-features/common/packaging/packaging-flatfileinstall.md)
