gum-service

Initialize and manage the Gum runtime UI lifecycle across MonoGame, Raylib, KNI, and FNA.

597|79|Updated Mar 11, 2015
One-click install
npx skills add https://github.com/vchelaru/Gum --skill gum-service
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: gum-service
Source: https://github.com/vchelaru/Gum/tree/main/.claude/skills/gum-service
Command: npx skills add https://github.com/vchelaru/Gum --skill gum-service

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

GumService provides a runtime-facing API to initialize, update, and draw Gum UI across multiple engines, ensuring a consistent lifecycle for Gum-based interfaces in games. It also coordinates the Root, PopupRoot, and ModalRoot containers and supports hot-reload workflows.

Core Features & Use Cases

  • Lifecycle management: Initialize, Update, Draw, and Uninitialize with predictable teardown.
  • Multi-engine compatibility: Works with MonoGame, Raylib, KNI, and FNA projects, including hot-reload workflows.
  • Root/container orchestration: Manages Root, PopupRoot, and ModalRoot for layered UIs and input handling.

Quick Start

Initialize GumService in your game and call Update every frame, followed by Draw to render the Gum UI.

Frequently Asked Questions about gum-service

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I manage the Gum UI runtime lifecycle in MonoGame or FNA?

To manage the Gum UI runtime lifecycle, initialize the service, then call Update and Draw each frame to process logic and render interfaces in MonoGame or FNA, ensuring predictable teardown via Uninitialize.

Does the Gum UI runtime support hot-reload workflows for game development?

Yes, the Gum UI runtime supports hot-reload workflows, allowing developers to dynamically update Gum interfaces during development by coordinating Root, PopupRoot, and ModalRoot containers without restarting the application.

How do I render layered game UI with PopupRoot and ModalRoot containers?

Rendering layered game UI involves utilizing the runtime's orchestration of Root, PopupRoot, and ModalRoot containers, which manages layered interfaces and handles input routing across different UI depths within your game.

Can I use the Gum UI runtime with Raylib and KNI projects?

Yes, the Gum UI runtime is compatible with Raylib and KNI projects, providing a consistent initialization, per-frame Update, and Draw lifecycle to render Gum interfaces across these game engines.

What is the best way to safely uninitialize a Gum UI runtime?

The best way to safely uninitialize the Gum UI runtime is to call the Uninitialize method, which provides safe teardown handling for the lazy-initialized Default singleton and clears the Root containers.