Choosing a technology for your Windows 10 game

There are several programming languages and graphics technologies available for use in Windows 10 games. The path you take depends on the type of game you’re developing, the experience and preferences of your development studio, and specific feature requirements of your game. Will you use C#, C++, or JavaScript? DirectX, XAML, or HTML5?

Learn more to help you make the choice that’s right for your game.

Choose a technology


Microsoft DirectX is the choice to make for the highest-performance 2D and 3D graphics and multimedia. Direct3D 12, new in Windows 10, brings the power of a console-like API and is faster and more efficient than ever before. Your game can fully utilize modern graphics hardware and feature more objects, richer scenes, and enhanced effects. Direct3D 12 delivers optimized graphics across Windows 10, including PC, and Xbox One. If you want to use the familiar graphics pipeline of Direct3D 11, you’ll still benefit from the new rendering and optimization features added to Direct3D 11.3. And, if you’re a tried-and-true desktop Windows API developer with roots in Win32, you’ll still have that option in Windows 10.

The extensive features and deep platform integration of DirectX provide the power and performance needed by the most demanding games.


XAML is an easy-to-use declarative UI language with convenient features like animations, storyboards, data binding, scalable vector-based graphics, dynamic resizing, and scene graphs. XAML works great for game UI, menus, sprites, and 2D graphics. To make UI layout easy, XAML is compatible with design and development tools like Expression Blend and Microsoft Visual Studio. XAML is commonly used with C#, but C++ is also a good choice if that’s your preferred language or if your game has high CPU demands.


HyperText Markup Language (HTML) is a common UI markup language used for web pages, apps, and rich clients. Windows games can use HTML5 as a full-featured presentation layer with the familiar features of HTML, access to the Universal Windows Platform, and support for modern web features like AppCache, Web Workers, canvas, drag-and-drop, asynchronous programming, and SVG. Behind the scenes, HTML rendering takes advantage of the power of DirectX hardware acceleration, so you can still get the performance benefits of DirectX without writing any extra code. HTML5 is a good choice if you are proficient with web development, porting a web game, or want to use language and graphics layers that can be easier to approach than the other choices. HTML5 is used with JavaScript, but can also call into components created with C# or C++/CX.


JavaScript is a dynamic scripting language widely used for modern web and rich client applications.

Windows JavaScript apps can access the powerful features of the Universal Windows Platform in an easy, intuitive way—as methods and properties of object-oriented JavaScript classes. JavaScript is a good choice for your game if you’re coming from a web development environment, are already familiar with JavaScript, or want to use HTML5, CSS, WinJS, or JavaScript libraries. If you're targeting XAML, choose C# or C++/CX instead. If you're targeting DirectX, choose C++/CX.


C++/CX is a high-performance, low overhead language that provides the powerful combination of speed, compatibility, and platform access. C++/CX makes it easy to use all of the great gaming features in Windows 10, including DirectX and Xbox Live. You can also reuse existing C++ code and libraries. C++/CX creates fast, native code that doesn’t incur the overhead of garbage collection, so your game can have great performance and low power consumption, which leads to longer battery life. Use C++/CX with DirectX or XAML, or create a game that uses a combination of both.


C# (pronounced "C sharp") is a modern, innovative language that is simple, powerful, type-safe, and object-oriented. C# enables rapid development while retaining the familiarity and expressiveness of C-style languages. Though easy to use, C# has numerous advanced language features like polymorphism, delegates, lambdas, closures, iterator methods, covariance, and Language-Integrated Query (LINQ) expressions. C# is an excellent choice if you are targeting XAML, want to get a quick start developing your game, or have previous C# experience. C# is used primarily with XAML, so if you want to use DirectX, choose C++ instead, or write part of your game as a C++ component that interacts with DirectX.

Combining graphics technologies

The Microsoft DirectX Graphics Infrastructure (DXGI) provides interop and compatibility across multiple graphics technologies. For high-performance graphics you can combine XAML and DirectX, using XAML for menus and other simple UI, and DirectX for rendering complex 2D and 3D scenes. DXGI also provides compatibility between Direct2D, Direct3D, DirectWrite, DirectCompute, and the Microsoft Media Foundation.

Combining languages using Windows Runtime Components

With the Universal Windows Platform, it’s easy to combine components written in different languages. Create Windows Runtime Components in C++, C#, or Visual Basic, and then call into them from JavaScript, C#, C++, or Visual Basic. This is a great way to program portions of your game in the language of your choice. Components also let you consume external libraries that are only available in a particular language, as well as use legacy code you’ve already written.

Game engines

Using a game engine can accelerate game development and get you quickly started using new technologies like DirectX 12.

DirectX 12 is coming to Unity 5! Unity 5 will support DirectX 12, bringing the performance and efficiency of Direct3D 12 to the Unity development platform. Reap the benefits of the graphics pipeline designed from the ground up to fully utilize multiple cores and modern graphics hardware. With Unity 5 and DirectX 12 you can expect increased frame rates, increased battery life, and positively stunning graphics.

Unity 5 is the next generation of the award-winning development platform for creating 2D and 3D games and interactive experiences. Unity 5 brings you awesome new artistic power, enhanced graphics capabilities, and improved efficiency.

Unreal Engine

Unreal Engine 4 is a complete suite of game development tools for all types of games and developers. From mobile to the most demanding console and PC games, Unreal Engine is used by game developers worldwide. DirectX 12 early access program members who subscribe to Unreal Engine 4 can receive access to an Unreal Engine 4.4 development project that supports DirectX 12.

Better Power, Better Performance: Your Game on DirectX12

Direct3D 12 enables new performance improvements for your game on Windows 10. Learn how to architect your game engine to best reduce CPU overhead, increase GPU efficiency, and improve frame-rate stability using the new Direct3D 12 API. Understand the fundamentals for building a fast-performing, efficient game engine on Direct3D 12 and where to find the best resources for diving deeper.

Watch this GDC 2015 development talk

Create a Windows 10 game

Get started

Download, tools, and information you need to start developing your Windows 10 game.


Galleries and guidelines to inform and inspire your design.


A full library of documentation and technical information for Windows 10 development.


Programs and partnerships to help you publish your game in the Windows Store, for phone, PC, and Xbox One.

Was this page helpful?
Additional feedback?
Thank you! We appreciate your feedback.