> ## 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.

# Enable multiple build configurations in one deployment

> How to: enabling multiple build configurations in a single deployment

XBOX One projects can be set up to allow executables built with different configurations (for example, debug and release) to deploy to and run in the same directory on the XBOX One console.

#### To enable multiple build configurations in a single deployment

1. In the project's properties page, set the **Isolate Configuration** property to **Yes**.

![Isolate Configuration property](https://mintcdn.com/microsoft-4404708b/z-rLYkO3Ax6HPtgm/images/gdk/tools/isolate_configurations_property.png?fit=max\&auto=format\&n=z-rLYkO3Ax6HPtgm\&q=85\&s=6278d6c45f2029a5796b037848ae0e1f)

1. Give a unique name to each configuration.

By default, the value of the **Target Name** property for each configuration is **$(ProjectName)**. Change the **Target Name** of *each* configuration to **$(ProjectName)\$(Configuration)**.

![Target Name property](https://mintcdn.com/microsoft-4404708b/6TXzXmujKayly5Sf/images/gdk/tools/unique_target_name.png?fit=max\&auto=format\&n=6TXzXmujKayly5Sf\&q=85\&s=5960438685a38560f7229a2e52464c3b)

1. Add application elements that correspond to each of the configurations in the project to Package.appxmanifest, which is the default manifest file.

For example, a project with an entry for the release configuration and the debug configuration would have an **\<Applications** section in Package.appxmanifest that looks something like the following example.

```xml theme={null}
        <Application Id="App"
            Executable="MultiAppId1Release.exe"
            EntryPoint="MultiAppId1.App">
            <VisualElements
               DisplayName="MultiAppId1"
               Logo="Logo.png"
               SmallLogo="SmallLogo.png"
               Description="MultiAppId1"
               ForegroundText="light"
               BackgroundColor="#6495ED">
               <SplashScreen Image="SplashScreen.png" />
            </VisualElements>
        </Application>
        <Application Id="AppDebug"
            Executable="MultiAppId1Debug.exe"
            EntryPoint="MultiAppId1.App">
            <VisualElements
               DisplayName="MultiAppId1Debug"
               Logo="LogoD.png"
               SmallLogo="SmallLogoD.png"
               Description="MultiAppId1"
               ForegroundText="light"
               BackgroundColor="#6495ED">
               <SplashScreen Image="SplashScreen.png" />
            </VisualElements>
        </Application>  
```

> [!NOTE]
>
> You can specify different visual elements if you want the configurations to appear differently in the launcher.

1. Add the `<Extensions>` node to the manifest if your project contains a reference to a WinRT project and you would like to deploy multiple configurations of the WinRT project.

The following example shows `<Extensions>` configured for two WinRT projects.

```xml theme={null}
        <Extensions>
          <Extension Category="windows.activatableClass.inProcessServer">
            <InProcessServer>
              <Path>WindowsRuntimeComponent1Release.dll</Path>
              <ActivatableClass ActivatableClassId="WindowsRuntimeComponent1.WinRTComponent" ThreadingModel="both" />
            </InProcessServer>
          </Extension>
          <Extension Category="windows.activatableClass.inProcessServer">
            <InProcessServer>
              <Path>WindowsRuntimeComponent1Debug.dll</Path>
              <ActivatableClass ActivatableClassId="WindowsRuntimeComponent1.WinRTComponent" ThreadingModel="both" />
            </InProcessServer>
          </Extension>
        </Extensions>  
```

## Deploying multiple build configurations

After multiple build configurations have been configured as described in this topic, the configurations can be deployed by using the following tools.

**Visual Studio:** Configurations can be deployed by pressing Ctrl-F5 or F5. All configurations are deployed to the console. The currently selected configuration is the configuration that's launched.

**xbapp:** Running **xbapp** **deploy** *directory-path* on a Layout directory that contains multiple configurations deploys all the configurations and returns multiple Application User Model IDs (AUMIDs). The configuration you want can then be launched by passing its AUMID to **xbapp** **launch**.

For syntax and more information about **xbapp** commands, see [Application Management (xbapp.exe)](/tools/tools-console/commandlinetools/xbapp).


## Related topics

- [Visual Studio for console development](/tools/tools-console/visualstudio/visualstudio.md)
- [Packaging and deployment for XBOX GDK titles](/build/core-features/common/packaging/index.md)
- [Dual SKU cross-generation games](/build/console-features/cross-gen/cross-gen-dual-sku.md)
- [D3D12_RAYTRACING_SHADER_CONFIG (XBOX Series consoles)](/reference/graphics/d3d12/structs/d3d12_raytracing_shader_config_public.md)
- [Game Saves Implementation with October 2025 GDK](/services/playfab/player-progression/game-saves/october-2025-gdk-changes.md)
