Specifically it supports:
- Inheritance
- Object instances
- Default/overriding variables
- States (categorized and uncategorized)
- Incredibly flexible layout engine
Gum exports to human-readable JSON, and can be extended either using MEF or by modifying the source code directly.
Gum Forms controls look clean by default, and a single line of code restyles every control with a built-in theme — same UI, completely different look. Pick one of the shipped themes or author your own.
DarkProTheme.Apply(GraphicsDevice); // one line — every control restyled![]() DarkPro |
![]() Bubblegum |
![]() Neon |
![]() Retro 95 |
![]() Forest Glade |
![]() Editor |
See the full theme gallery and usage →
Tutorials and documentation can be found here:
https://docs.flatredball.com/gum/
Open the interactive chart to compare Gum with other MonoGame UI libraries, switch to a log scale, and download the data. It is built and updated daily by kaltinril/gum_stats.
The fastest way to get help is to ask in our Discord: https://discord.gg/uQSam6w36d
You can also post an issue: https://github.com/vchelaru/Gum/issues
You can also check the docs: https://docs.flatredball.com/gum/
Gum's runtimes are published to NuGet. Install the package for your platform. All packages share the same version number, so they stay in sync.
| Platform | Runtime | Shapes |
|---|---|---|
| MonoGame | ||
| KNI | ||
| raylib | Built-in | |
| Maui | Built-in | |
| Silk.NET | Built-in | |
| Stride | Built-in | |
| Unity (experimental) | Unity Package Manager git URL https://github.com/vchelaru/Gum.git#upm, plus SkiaGameRendering (setup) |
Built-in |
| FNA | — (not supported) |
Shapes is the recommended way to draw rectangles, circles, and other primitives in Gum. On MonoGame and KNI it ships as a separate add-on package (install it alongside the runtime); on the other platforms it's built into the runtime.
Sokol is no longer published.
Gum.sokolversions up to2026.9.2.1remain on NuGet and still work, but receive no further updates: the backend depends on Sokol.NET, which is not actively maintained and whose submodule tree brokegit pullfor the Gum repo. The source still lives atRuntimes/SokolGum/and builds against a hand-cloned Sokol.NET — see its README.
Use these to build Gum into your own runtime or renderer.
| Library | NuGet |
|---|---|
GumCommon: layout, GraphicalUiElement, and Forms logic, with no rendering or input of its own |
|
| SkiaSharp: the Skia renderer that Maui, Silk.NET, Stride, and Unity build on |
Gum produces general-purpose XML, so it can be used in virtually any C# environment. Beyond the packages listed above, integrations also exist for environments such as FlatRedBall, Meadow, WPF, and Avalonia. For integration details, or for using GumCommon to integrate with your own runtime, see the main documentation: https://docs.flatredball.com/gum/







