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

# Visual Studio properties for XBOX development

> Visual Studio properties for XBOX development

The Microsoft Game Development Kit (GDK) has custom Visual Studio property pages that are used to configure XBOX projects.

#### To access the XBOX property pages

1. In **Solution Explorer**, right-click the project name, and then select **Properties**.
2. Expand **Configuration Properties**.
3. Observe the **XBOX General**, **XBOX Deploy**, **XBOX Layout** and **Debugging** property pages.

The following **XBOX** and related property pages are available.

* [XBOX General](#general)
* [XBOX Deploy](#deploy)
* [XBOX Layout](#layout)
* [Debugging](#debugging)
* [Related property pages](#related)
* [Game Dependency Lookup](#gamedependency)

<a id="general" />

## XBOX General

The **XBOX General** property page contains the following properties.

* **Gaming Edition Target.** Specifies the GDK edition the project will be built with. Defaults to highest version of the GDK installed on your development PC.
* **Gaming Extension Libraries.** Specifies the set of Gaming Extension libraries to use (such as Xbox.Services.API.C).
* **Alternate Binary Subdirectory** This optional property is used to specify a subdirectory for binary and CRT dependencies under the game root. This is used to mirror the structure in the Layout folder and will be utilized by the Debugger to find the executable when debugging. When specifying a subdirectory, the MicrosoftGame.config should live in the root of the title still. Any changes to pathing in the MicrosoftGame.config for executable location should be updated as well.
* **Remote IP Address.** Specifies the remote console name or IP address. This is the console on which built projects are deployed, run, and debugged. If this property is left blank, or is set to blank, the default remote console specified by [Connect (xbconnect.exe)](/tools/tools-console/commandlinetools/xbconnect), [XBOX Manager](/tools/tools-console/xbom/xbom), or [Windows Device Portal](/tools/tools-console/wdp/wdp) is used.
* **Package Localization Dir.** Specifies an optional directory relative to the project directory for use when creating localized shell resources.  See [MicrosoftGame.config localization](/build/core-features/common/game-config/MicrosoftGameConfig-Localization) for additional information on adding localized resources to your project.

**Figure 1.   The XBOX General property page** <img src="https://mintcdn.com/microsoft-4404708b/6TXzXmujKayly5Sf/images/gdk/tools/property_page_general.png?fit=max&auto=format&n=6TXzXmujKayly5Sf&q=85&s=2dd98c01503a3c4b3a5a8fb40167fca2" alt="General property page" width="1162" height="809" data-path="images/gdk/tools/property_page_general.png" />

<Note>
  It's also possible to specify the remote IP within a *project*.vcxproj.user file, stored with *project*.vcxproj in the project's directory. That file should have the following format.
</Note>

```text theme={null}
  <?xml version="1.0" encoding="utf-8"?>  
  <Project ToolsVersion="4.0" xmlns="https://schemas.microsoft.com/developer/msbuild/2003">  
    <PropertyGroup>  
      <RemoteAddress>10.10.10.10</RemoteAddress>  
    </PropertyGroup>  
  </Project>  
```

In the previous example, *10.10.10.10* is replaced by the address of your remote console.

<a id="deploy" />

## XBOX Deploy

The **XBOX Deploy** property page allows for selection of each Deploy method. Based on the selection, the property page will include different options. For more information on deployment, see [Deploying your title to your XBOX dev kit](/home/setup-install/concepts/deployment).

### XBOX Deploy Method: Push (Run from devkit)

This Deploy method deploys the title to a folder on the devkit (xD:\Titles by default). This Deploy method contains the following properties.

* **Deployment folder path override.** Optional property used to override the default deployment path on the devkit.
* **Remove extra files from target device.** Optional property that, when checked, removes files found on the console that are not part of the project build output (orphan files).

### XBOX Deploy Method: External (Visual Studio is not used for deployment)

This Deploy method defers deployment to an external, independent mechanism. This Deploy method contains the following properties.

* **Title launch string.** Launch string that is used to launch the title when debugging is started (F5).
* **Target devkit titles.** Select from a list of titles matching the current project on the target devkit to populate the title launch string.

### XBOX Deploy Method: Run from PC (Register network share)

This Deploy method runs the title from the development PC via a network share accessible to the devkit.

* **Network share path override.** Optional property used to override the default network share path for Run From PC deployment.
* **Network share username.** Optional property used to access network share location that require credentials (SMB network share).
* **Network share password.** Optional property used to access network share location that require credentials (SMB network share).

> <img src="https://mintcdn.com/microsoft-4404708b/z-rLYkO3Ax6HPtgm/images/gdk/tools/caution.gif?s=c35e42b8bb5ca0bdac12d10f6c467c29" alt="caution" width="11" height="11" data-path="images/gdk/tools/caution.gif" />**CAUTION:** This username and password is passed as plain text and is stored locally in plain text. For added security, leave this field blank and manage your credentials as shown in [XBOX Device Portal (Windows Device Portal on XBOX)](/tools/tools-console/wdp/wdp) or [Developer Home on the Console (Dev Home)](/tools/tools-console/devhome/devhome).

**Figure 2.   The XBOX Deploy property pages based on Deploy method** <img src="https://mintcdn.com/microsoft-4404708b/6TXzXmujKayly5Sf/images/gdk/tools/property_page_deploy.png?fit=max&auto=format&n=6TXzXmujKayly5Sf&q=85&s=2645bd2b57441d389e5d623a215d9602" alt="Deploy property page for Push" width="1173" height="817" data-path="images/gdk/tools/property_page_deploy.png" />

<img src="https://mintcdn.com/microsoft-4404708b/6TXzXmujKayly5Sf/images/gdk/tools/property_page_deploy_external.png?fit=max&auto=format&n=6TXzXmujKayly5Sf&q=85&s=6956ecceabb322d6b75dae3477011d39" alt="Deploy property page for External" width="1173" height="817" data-path="images/gdk/tools/property_page_deploy_external.png" />

<img src="https://mintcdn.com/microsoft-4404708b/6TXzXmujKayly5Sf/images/gdk/tools/property_page_deploy_rfpc.png?fit=max&auto=format&n=6TXzXmujKayly5Sf&q=85&s=cc068e6967bb903be4e5a6c57149bd2c" alt="Deploy property page for Run from PC" width="1173" height="817" data-path="images/gdk/tools/property_page_deploy_rfpc.png" />

<a id="layout" />

## XBOX Layout

The **XBOX Layout** property page contains the following properties.

* **Layout Directory.** Specifies the local directory where build results are laid out. It's from this directory that the application is deployed to the remote console.
* **Exclusion Filter.** Specifies files and file types that won't be copied from the build output directory to the layout directory. Note that this property cannot be used to exclude files that reside outside of the build output directory.
* **Isolate Configurations.** When set to **Yes**, Visual Studio treats each build configuration as a separate output for determining the list of files copied to the layout directory. The default is **No**.
* **Game OS.** Specifies the path to the Game OS to be provided with the loose file layout of a title.
* **Deploy from Outdir.** When set to **Yes**, Visual Studio will deploy the contents of the build output directory rather than copying files to the layout directory before deployment.  The values of the **Layout Directory**, **Exclusion Filter**, and **Isolate Configurations** properties will be ignored.

**Figure 3.   The XBOX Layout property page** <img src="https://mintcdn.com/microsoft-4404708b/6TXzXmujKayly5Sf/images/gdk/tools/property_page_layout.png?fit=max&auto=format&n=6TXzXmujKayly5Sf&q=85&s=996357b982ee8d5b00c0ea2b5252398c" alt="Layout property page" width="785" height="545" data-path="images/gdk/tools/property_page_layout.png" />

<a id="debugging" />

## Debugging

The **Debugging** property page contains the following properties.

* **Debugger to launch:** For XBOX projects, select **XBOX Game Core Debugger**.
* **Debugger Type.** Specifies the debugger type to use. When set to Auto, the debugger type is selected based on contents of the .exe file.
* **Command Arguments.** The command-line arguments to pass to the application.
* **Log Module Loading.** Enable verbose debug output, which includes module loading information.  The **Log Module Loading** option is useful for debugging "dependent dll was not found" issues.

**Figure 4.   The Debugging property page** <img src="https://mintcdn.com/microsoft-4404708b/6TXzXmujKayly5Sf/images/gdk/tools/property_page_debug.png?fit=max&auto=format&n=6TXzXmujKayly5Sf&q=85&s=76a15961c2b3b73d8fc332052faa57f8" alt="Debugging property page" width="1172" height="812" data-path="images/gdk/tools/property_page_debug.png" />

<a id="related" />

## Related property pages

There are additional properties that, while not unique to XBOX, have required or recommended settings for XBOX applications. These settings ensure proper and optimal functioning of XBOX applications and are as follows.

**RandomizedBaseAddress:** Must be set to **Yes**, which is the default for a GDK project. This setting is required for address space layout randomization (ASLR) to function. ASLR is required by XBOX applications. Don't set **RandomizedBaseAddress** to **No** or attempt to disable ASLR.

**RandomizedBaseAddress** is set on the **Linker**/**Advanced** property page.

<a id="gamedependency" />

## Game Dependency Lookup

When specifying a game dependency within your project, this will look at the local path in addition to the game root G:, and all subdirectories to find the dependent files.

<a id="ID4EIIAC" />

## See also

[Application Management (xbapp.exe)](/tools/tools-console/commandlinetools/xbapp)

[Connect (xbconnect.exe)](/tools/tools-console/commandlinetools/xbconnect)

[Deploying your title to your XBOX dev kit](/home/setup-install/concepts/deployment)

[How to: deploying game resource files by using Visual Studio](/tools/tools-console/visualstudio/how-to-deploy-resources)


## Related topics

- [Visual Studio 2022 GDK support notes](/tools/tools-console/visualstudio/vs-2022-support-notes.md)
- [Visual Studio 2026 GDK support notes](/tools/tools-console/visualstudio/vs-2026-support-notes.md)
- [Debugging XBOX projects by using Visual Studio](/tools/tools-console/visualstudio/debugging-with-visualstudio.md)
- [XBOX Gaming Project Control](/tools/tools-console/visualstudio/xbox-gaming-project-control.md)
- [XBOX Gaming Explorer](/tools/tools-console/visualstudio/xbox-gaming-explorer.md)
