prowlengine/prowl/prowl-ui
- community
Checking that the SKILL.md file is still in the repository.
Game UI in Prowl. Use when building a HUD, crosshair, health or ammo display, pause or main menu, or any in game interface, and when choosing between Paper OnGui immediate mode and GameObject UI (GameCanvas, RectTransform, UIButton, EventSystem).
Install
npx vskill@latest install prowlengine/prowl/prowl-uiSKILL.md
Prowl game UI
Prowl has two unrelated UI systems. Do not mix them in one screen.
- Paper in `OnGui`: immediate mode, written in code every frame. Use it for HUDs, crosshairs and menus. This is the default choice.
- GameObject UI:
GameCanvas,RectTransform,TextComponent,UIImage,UIButtonobjects in the scene. Use it for world space or VR panels, or UI laid out in the editor.
Paper in OnGui
Paper is a large library with its own layout rules and traps. Read the prowl-paper skill before writing more than a few boxes.
Override OnGui(Paper paper) on any component. It runs every frame after the cameras render and needs no canvas. In the editor it draws only in the game view during play.
Rules:
- Text needs a font object.
FontAsset.LoadDefault().FontFileis the built in one. - Every element needs an id that is unique among its siblings. In a loop pass the index too:
paper.Box("slot", i). A duplicate id throws. - Width and height default to stretch. Use
UnitValue.Autoto fit content, a number for pixels, orUnitValue.Percentage(n). - Place things on the screen with
PositionType(PositionType.SelfDirected)andAnchorLeft/Right/Top/Bottom. Anchors take pixels orUnitValue.Percentage(p, offset). Centre a fixed size element with.Margin(UnitValue.Stretch()). - Every component's
OnGuishares one Paper, so two instances of a component collide on ids. Wrap the body inpaper.PushID(InstanceID)andpaper.PopID(). .Enter()in ausingmakes the following elements children.paper.Draw((canvas, rect) => ...)gives a vector canvas for crosshairs, arcs and custom shapes..IsNotInteractable()on display only elements, so they never block clicks.OnClickand the other callbacks run at the end of the frame, not inline.- Paper never consumes game input. A click on a button also reaches
Input.GetMouseButtonDown. InOnGuistorepaper.WantsCapturePointerin a field, and check that field in the nextUpdatebefore shooting on click. Scripts only get Paper throughOnGui.
GameObject UI
- Create elements with
menu --path "GameObject/UI/Button" --context /Canvas(also Text, Image, Panel, Slider, Toggle, Input Field, Dropdown, Scroll View). These add theRectTransformand create anEventSystemif the scene has none. - Objects made in code or with
go createmust add theRectTransformandEventSystemthemselves. Without an `EventSystem` nothing receives clicks, and it only runs in play mode. RectTransformpositions are Y up from the bottom left.UIButton.OnClickis a C# event:button.OnClick += Fire;.TextComponent.Textsets the string andSizeis an int.
Cursor
Input.LockCursor() hides and locks the cursor for mouse look. Unlock it while a menu is open, as in the example.
Look up Paper, GameCanvas, RectTransform, UIButton, TextComponent and EventSystem with api --type.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingProwl.Editor/Resources/Agent/Skills/prowl-ui/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/prowlengine/prowl/prowl-ui)