gum-source-linked-project

Creates a MonoGame project referencing Gum via ProjectReference for manual runtime verification.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

When you change Gum's runtime code (MonoGameGum, GumCommon, RenderingLibrary), a unit test is not always enough — you need to run the change in a real game before release. This Skill scaffolds a scratch MonoGame project that references Gum's source directly via ProjectReference instead of NuGet, so unreleased changes can be exercised immediately.

Core Features & Use Cases

  • Source-linked project scaffolding: Generates a dotnet new mgdesktopgl project wired to MonoGameGum.csproj through a ProjectReference, bypassing NuGet packages.
  • Two verified starting patterns: Code-only UI (based on MonoGameGumInCode) or file-based UI loading a real .gumx from Content/ (based on MonoGameGumFormsSample).
  • Version pinning guidance: Pins MonoGame.Framework.DesktopGL and MonoGame.Content.Builder.Task to 3.8.4.1 and targets net8.0 to match every Gum sample.
  • Use Case: You just modified layout behavior in GumCommon and want to confirm it renders correctly in an actual game window before opening a pull request — spin up a linked scratch project, press F5, and observe the change live.

Quick Start

Create a scratch MonoGame project linked to Gum source so I can manually run my MonoGameGum change in a real game.

Frequently Asked Questions about gum-source-linked-project

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

FAQPage Schema
How do I reference Gum from source instead of NuGet in a MonoGame project?

Add a ProjectReference pointing to MonoGameGum.csproj in your .csproj, for example <ProjectReference Include="..\..\Gum\MonoGameGum\MonoGameGum.csproj" />. This builds Gum from source so unreleased runtime changes are included when you run the game.

How do I test a Gum runtime change in a real game?

Scaffold a project with dotnet new mgdesktopgl, target net8.0, pin MonoGame.Framework.DesktopGL to 3.8.4.1, and add a ProjectReference to MonoGameGum.csproj. Initialize with GumService.Default.Initialize(this), then call GumUI.Update and GumUI.Draw in the game loop.

Which MonoGame version works with Gum source projects?

Pin MonoGame.Framework.DesktopGL and MonoGame.Content.Builder.Task to 3.8.4.1, the exact version every Gum sample uses, and target net8.0. The mgdesktopgl template defaults to floating versions and the newest SDK, which can drift ahead of Gum.

Why does F5 in Visual Studio do nothing in my Gum test solution?

Whichever project is added first to the solution becomes the startup project. If a referenced library like MonoGameGum lands first, F5 tries to launch a library. Add the game project first with dotnet sln add; referenced projects are pulled in automatically.

Can I load a .gumx file in a source-linked test project?

Yes. Pass the project's relative path as the second argument to GumService.Default.Initialize and copy the Content item group with CopyToOutputDirectory from MonoGameGumFormsSample.csproj so the .gumx files are deployed to the output directory.