A UI library for MonoGame, FNA, and Stride game engines, featuring a rich widget set and XML-based UI design.
Myra is a UI library built for .NET-based game engines like MonoGame, FNA, and Stride. It provides a comprehensive set of widgets and tools for creating in-game user interfaces, such as menus, HUDs, and editor panels, directly within these game development frameworks.
Game developers using MonoGame, FNA, or Stride who need to implement user interfaces without relying on external UI frameworks or building custom solutions from scratch.
Developers choose Myra for its deep integration with popular .NET game engines, its rich widget library, and its XML-based declarative UI language (MML), which streamlines UI creation and theming for game projects.
UI Library for MonoGame, FNA and Stride
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Offers a rich variety of UI elements like Grid, SplitPane, and PropertyGrid, tailored for game interfaces, as listed in the README with examples for menus and HUDs.
MML enables XML-based UI definition, separating structure from game logic and facilitating visual editing, with samples provided in the repository for easy adoption.
MyraPad is a standalone WYSIWYG editor for creating and modifying MML files, speeding up UI prototyping and iteration, as shown in the gallery images.
Myra.PlatformAgnostic extends usability to any C# game engine beyond MonoGame, FNA, and Stride, increasing integration options for custom projects.
Heavy reliance on MML for layouts can be verbose and less intuitive for developers used to code-driven frameworks, requiring tooling like MyraPad to avoid manual errors.
Custom skins are defined in XML without a built-in visual editor, making theme creation and modification more manual compared to runtime skin systems, as admitted in the reliance on external examples.
As a niche library for .NET game engines, community support and third-party extensions are smaller, with reliance on Discord and forums indicated in the README for troubleshooting.