Table of Contents

The MLEM logo

MLEM Library for Extending MonoGame and FNA is a set of multipurpose libraries for the game frameworks MonoGame and FNA that provides abstractions, quality of life improvements and additional features like an extensive ui system and easy input handling.

MLEM is platform-agnostic and multi-targets .NET Standard 2.0, .NET 6.0 and .NET Framework 4.5.2, which makes it compatible with MonoGame and FNA on Desktop, mobile devices and consoles.

What next?


  • MLEM is the base package, which provides various small addons and abstractions for MonoGame and FNA, including a text formatting system and simple input handling
  • MLEM.Ui provides a mouse, keyboard, gamepad and touch ready Ui system that features automatic anchoring, sizing and several ready-to-use element types
  • MLEM.Extended ties in with MonoGame.Extended and other MonoGame and FNA libraries
  • MLEM.Data provides simple loading and processing of textures and other data, including the ability to load non-XNB content files easily
  • MLEM.Startup combines MLEM with some other useful libraries into a quick Game startup class
  • MLEM.Templates contains cross-platform project templates

Made with MLEM

If you created a project with the help of MLEM, you can get it added to this list by submitting an issue or a pull request. If its source is public, other people will be able to use your project as an example, too!

Here are some images that show a couple of MLEM's features.

The MLEM.Ui demo in action:

A gif showing various user interface elements from the MLEM.Ui demo

MLEM's text formatting system, which is compatible with both MLEM.Ui and regular sprite batch rendering:

An image showing text with various colors and other formatting

Friends of MLEM

There are several other libraries and tools that work well in combination with MonoGame, FNA and MLEM. Here are some of them:

  • Contentless, a tool that removes the need to add assets to the MonoGame Content Pipeline manually
  • GameBundle, a tool that packages MonoGame and other .NET applications into several distributable formats
  • Coroutine, a package that implements Unity-style coroutines for any project
  • DynamicEnums, a package that provides enum-like single-instance values with many additional capabilities
  • MonoGame.Extended, a package that also provides several additional features for MonoGame