Back to monogame.net
Show / Hide Table of Contents

Platforms

MonoGame supports the following systems:

  • Windows
  • Mac
  • Linux
  • Android
  • iOS
  • PlayStation 4
  • PlayStation Vita
  • Xbox One
  • Nintendo Switch
  • Google Stadia

There are different implementations of MonoGame that we call target platforms (or just platforms). The platforms mostly correspond to the systems MonoGame supports but some platforms support multiple systems. Platforms for systems that require registration such as PlayStation and Xbox are not publicly available. To get access to those platforms, please contact your console account manager(s). MonoGame documentation for closed platforms is available in their respective repositories.

Below is a list of public platforms with the corresponding NuGet package, the dotnet new template identifier and an explanation of the platform.

  • WindowsDX
  • DesktopGL
  • Windows Universal
  • Android
  • iOS

MonoGame provides additional templates for shared game logic and extensions to the MonoGame Content Pipeline.

  • .NET Standard Library
  • Shared Project
  • Content Pipeline Extension

Platform details

WindowsDX

Supported Systems NuGet Package Template ID
Windows MonoGame.Framework.WindowsDX mgwindowsdx

WindowsDX uses WinForms to manage the game window, DirectX (9.0c or newer) is used for graphics, and XAudio is used for audio. You can target Windows Vista and up with this platform.

DesktopGL

Supported Systems NuGet Package Template ID
Windows, macOS, Linux MonoGame.Framework.DesktopGL mgdesktopgl

DesktopGL uses SDL for windowing. OpenGL is used for graphics, and OpenAL-Soft for audio. DesktopGL supports Windows (Vista and up), macOS (High Sierra 10.13 and up) and Linux (64bit-only).

DesktopGL requires at least OpenGL 2.0 with the ARB_framebuffer_object extension (or alternatively at least OpenGL 3.0).

DesktopGL is a convenient way to publish builds for Windows, macOS, and Linux from a single project and source code. It also allows to cross-compile any build from any of these operating systems.

DesktopGL currently does not have a VideoPlayer implementation.

WindowsUniversal

Supported Systems NuGet Package Template ID
Windows 10, Xbox One (UWP-only, not XDK) MonoGame.Framework.WindowsUniversal mguwpcore (core app, no xaml), mguwpxaml (xaml app)

The WindowsUniversal platform runs on Universal Windows Platform (UWP). WindowsUniversal uses DirectX for graphics, and XAudio for audio just like the WindowsDX platform.

This platform is meant to publish games on the Windows Store, for both Windows and Xbox One (through the Xbox Live Creators Program).

Note that UWP games running on Xbox One get restricted access to the console capabilities. To unlock those restrictions, MonoGame has a dedicated Xbox One platform for registered ID@Xbox developers targeting the XDK (this platform is private and requires you to contact your ID@Xbox manager).

Android

Supported Systems NuGet Package Template ID
Android MonoGame.Framework.Android mgandroid

The Android platform uses Xamarin.Android. OpenGL is used for graphics, and OpenAL for audio.

iOS

Supported Systems NuGet Package Template ID
iOS MonoGame.Framework.iOS mgios

The iOS platform uses Xamarin.iOS. OpenGL is used for graphics, and OpenAL for audio.

Other templates

.NET Standard Library

Template ID: mgnetstandard

A project template with a .NET Standard project to share game logic for cross-platform development.

Shared Project

Template ID: mgshared

A project template with a shared project library to support cross-platform development.

Content Pipeline Extension

Template ID: mgpipeline

A project template for writing custom logic for handling content and building it into XNB files.

Back to top Generated by DocFX