mcpField
B
build-hud

build-hud

github.com/playcanvasDesign & UI31170 installsUpdated 1w ago
Repository

About build-hud

A HUD-building skill for game developers that treats the interface as a rendering of game state rather than a place to store gameplay data. It covers UI-layer choice, layout, indicators, and visual verification.

Key features

  1. 01Render HUD from game state
  2. 02Choose a suitable UI layer
  3. 03Show overlays by state
  4. 04Map indicators to state snapshots
  5. 05Verify layout and rendered output

Use cases

  1. 01Building a state-driven game HUD
  2. 02Creating pause or menu overlays
  3. 03Displaying timers and cooldowns
  4. 04Checking interfaces at target resolutions

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/playcanvas/skills --skill build-hud

After installing, type/build-hudin Claude Code to confirm it loaded.

Details

From the project README

Game interface

A HUD is a view of game state, not a source of it. Render it from the current state each frame or on each transition; never store gameplay truth in the DOM or a UI element.

Choose the UI layer

  • Build the interface in the natural UI layer for the surface — a DOM or React overlay, or the Engine screen and element UI — decided with the build-app skill. Keep it outside gameplay model hierarchies, as assemble-scene requires.
  • For a screen-space Engine UI, adapt a user-interface example with find-examples rather than guessing element anchoring, scaling, and font handling.

Drive from state

  • Map each overlay to a game state and each indicator to a snapshot field. A transition shows or hides overlays; it does not duplicate the state the game already owns (see manage-game-state).
  • An indicator that is idle most of the time toggles enabled with its visibility; an element left drawing at opacity 0 still costs a draw call every frame (see reduce-draw-calls).
  • Anchor and scale elements to the viewport so the layout holds at the target resolution and on resize. Verify at the acceptance resolution, not the default window size.
  • Keep copy minimal and legible over the scene: back text with a plate or shadow where the frame is bright, and unify interface colour with the scene's grade from light-scene.

Prove it reflects state

Drive real input through every transition and confirm with screenshots that the correct overlay shows and each indicator tracks the snapshot — a reload meter empties and refills, a timer advances, a menu appears only in its state. A saved filepath or a visibility flag is not visual evidence; inspect the returned pixels as the local agent guide requires.

Choose the authoring surface with the build-app skill and build the interface through its own UI primitives before reaching into the Engine.

Comments

Markdown supported