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

# Start a new PC title with GDK project templates

> Start new PC Desktop titles with five GDK Visual Studio project templates for Direct3D 12, Gaming Runtime, static libraries, DLLs, and makefile builds.

This topic describes how to get started developing a new title by using the GDK project templates.

<Note>
  For games targeting PC Desktop using the Gaming Runtime, you are free to use Direct3D 12, Direct3D 11, or even legacy Direct3D 9. Note there are some special considerations if making use of legacy DirectX SDK components such as D3DX9, D3DX10, D3DX11, etc. See the [DirectX Framework package](/build/core-features/common/packaging/packaging-framework-packages) documentation for more details.
</Note>

## Getting started by using Visual Studio project templates for the Gaming Runtime

When the Microsoft Game Development Kit (GDK) is installed on a development PC with Visual Studio, it installs five project templates for targeting PC Desktop as shown in the following table.

| Target platform | Template                           | Description                                                                                                                                                                                              |
| --------------- | ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Desktop         | Direct3D 12 Desktop Game (Classic) | Creates a project in the Visual Studio project system that builds a standalone PC game executable using the Gaming Runtime and stock x64 MSBuild platform.                                               |
|                 | Direct3D 12 Desktop Game           | Creates a project in the Visual Studio project system that builds a standalone PC game executable.                                                                                                       |
|                 | Direct3D 12 Desktop Game Makefile  | Creates a project that's suitable for building a PC Desktop game from a `makefile` by using a command prompt.                                                                                            |
|                 | Desktop Static Library             | Creates a project in the Visual Studio project system that builds a static library using the Gaming.Desktop.x64 custom MSBuild platform. It's suitable to include in a game that's targeting PC Desktop. |
|                 | Desktop DLL                        | Creates a project in the Visual Studio project system that builds a DLL using the Gaming.Desktop.x64 custom MSBuild platform. It's suitable to include in a game that's targeting PC Desktop.            |

To access these templates:

1. Open Visual Studio.
2. Select **File** > **New** > **Project**. The **New Project** dialog box appears.
3. In the **New Project** dialog, set the **All Languages** filter to **C++**, set the **All Platforms** filter to **Windows**, and set **All Project Types** to **Games**. You can search for the project names above as well.
4. From the list of Microsoft Game Development Kit project templates, select the project template that you want.
5. Select **OK**.

## Use the appropriate template

### Game exclusively targeting PC Desktop

If you're developing a game that exclusively targets PC devices, the Direct3D 12 Desktop Game template is the common starting point. Some of the key aspects of this template include the following:

* Uses Windows API Family `WINAPI_FAMILY_DESKTOP_APP` and links against typical PC Desktop libraries, including *kernel32.lib*, *user32.lib*, etc. As a result, the full breadth of PC Desktop APIs are available for use in the game.
* Includes the necessary headers and libraries so that the template is ready for the addition of the Direct3D 12 graphics implementation that's compatible with PC Desktop. The template provides a simple swapchain, Direct3D device, and basic game update & render loop.
* Links against *XGameRuntime.lib* and includes the necessary headers so that all of the Gaming Runtime capabilities are ready for use.
* The XBOX Live API (XSAPI) extension library is also available by default. Additional Microsoft Game Development Kit (GDK) extension libraries can be added as well.
* Declares a build configuration that's based on either the 'stock' x64 platform or the custom MSBuild platform Gaming.Desktop.x64, which builds an x64 target with the expectation that you're iterating on the game locally (on your development PC) by using the local debugger.
* Creates a *MicrosoftGameConfig.mgc* file with placeholder information that you fill in with your title's information from Partner Center.

## See also

* [MicrosoftGame.Config overview](/build/core-features/common/game-config/MicrosoftGameConfig-Overview)
* [Getting started with the Gaming Runtime](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/pc-dev/archive/gr-get-started-with-pc-dev-toc)


## Related topics

- [Develop a new GDK title](/home/build-first-title/developing-new-titles.md)
- [Project templates in Visual Studio for PC game development](/tools/tools-pc/visualstudio/gr-vs-templates.md)
- [Getting Started with Android Studio and Push Notifications](/services/playfab/live-service-management/game-configuration/title-communications/push-notifications/getting-started-android-studio-push-notifications.md)
- [Project templates in Visual Studio for XBOX development](/tools/tools-console/visualstudio/durango-visual-studio-templates.md)
- [Build and run your first console title with GDKX](/home/build-first-title/first-console-title-walkthrough.md)
