unreal-umg-commonui

Design and implement layered game UI with UMG and CommonUI in Unreal Engine 5.8.

Updated May 28, 2023
One-click install
npx skills add https://github.com/steveulrich/ProjectB --skill unreal-umg-commonui-steveulrich
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: unreal-umg-commonui
Source: https://github.com/steveulrich/ProjectB/tree/main/.cursor/skills/unreal-umg-commonui
Command: npx skills add https://github.com/steveulrich/ProjectB --skill unreal-umg-commonui-steveulrich

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Building game UI in Unreal Engine 5.8 involves hard decisions about widget architecture, screen layering, focus and gamepad navigation, input routing, and performance, and mistakes lead to duplicated bindings, broken focus, and per-frame UI cost. ## Core Features & Use Cases - Stack selection guidance: Decide between plain UMG, UMG plus CommonUI, and whether the Beta UMG Viewmodel/MVVM path is justified for a given screen. - Architecture and lifecycle rules: Enforce the presentation boundary so widgets never own authoritative gameplay state, with correct Construct/activation binding and unbind discipline. - Layer, input, and focus policy: Define activatable screens, Back routing, input modes, and deterministic focus targets for HUDs, menus, modals, and notifications. - Performance and accessibility workflows: Profile with Slate Insights before applying Invalidation Boxes or Retainer Panels, virtualize long lists with ListView, and validate DPI scaling, Safe Zones, and text scaling. - Use Case: When building a pause menu with an inventory list and a confirmation modal, use this Skill to define the layer stacks, per-screen input configuration, focus restoration, and event-driven health HUD updates. ## Quick Start Use $unreal-umg-commonui to design and implement a responsive gamepad-navigable pause menu with an inventory screen and modal confirmation in Unreal Engine 5.8.

Frequently Asked Questions about unreal-umg-commonui

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

FAQPage Schema
When should I use CommonUI instead of plain UMG in Unreal Engine?▼

Use CommonUI when the UI needs multiple stacked screens, modal layers, controller-first focus navigation, a universal Back action, or platform-specific button glyphs. Plain UMG is sufficient for a small mouse-driven HUD or a single simple menu.

How do I update UMG widgets from replicated gameplay state?▼

Subscribe a local presenter to RepNotify or gameplay delegates, convert raw state into display state, and push it into the widget through setters or FieldNotify. Never poll the replicated actor from a widget binding or store authoritative state in the widget.

Is UMG Viewmodel MVVM production-ready in Unreal Engine 5.8?▼

UMG Viewmodel is marked Beta in UE 5.8. Use it when push binding and UI/backend separation justify the maturity risk, document the fallback plan, and test cooked builds; otherwise prefer explicit delegates and widget setters.

Why does my gamepad still move the character while a menu is open?▼

This indicates an input mode or Mapping Context priority problem. Check that the screen is an active Common Activatable Widget, that its UI input configuration and contexts are applied on activation, and that gameplay contexts are correctly prioritized beneath it.

Why do widget events fire multiple times after reopening a screen?▼

Duplicate firings come from bindings added in Construct or activation hooks without matching unbinds. Bind and unbind symmetrically in the paired lifecycle hooks and guard against repeated registration, since Construct can run multiple times.

When should I use Invalidation Boxes or Retainer Panels for UMG performance?▼

Only after profiling with Slate Insights or Unreal Insights confirms the cost. Use an Invalidation Box for mostly-static subtrees and a Retainer Panel to flatten a subtree to a texture; never wrap constantly changing trees, which destroys the cache benefit.