playcanvas/skills

build-hud

Use when building a PlayCanvas game's on-screen interface such as ready, pause, and victory overlays, menus, and live indicators like gauges, timers, or reload meters, so the interface is driven by game state, readable over the scene, and separate from the 3D hierarchy.

Trending #8897 First seen Aug 20, 2026

Installation

$ npx skills add playcanvas/skills --skill build-hud

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from playcanvas/skills · top by installs.

npx skills add playcanvas/skills

Browse all from playcanvas/skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 14
License LICENSE
Default branch main
Open issues 1
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,214 B
  • docs SUMMARY.md 287 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 74 installs

SKILL.md

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.