
Descripción
A lean C++ Common UI shell for Unreal Engine 5 — Primary Layout, layer stacks, and async widget push without a full Lyra-style experience stack.
Built for projects that want Epic’s CommonUI activatable layers (HUD, menu, modal) with a small, predictable runtime: strategy games, RPGs, city builders, and any title where UI should stay on a GameInstance shell across map travel. The plugin owns layout lifecycle, soft class loading, and input gating; you own all visuals in Blueprint (UCommonActivatableWidget subclasses).
Key Features
Primary Game Layout — Abstract USGCPrimaryGameLayout (Lyra-inspired) hosts multiple Common Activatable Widget Stacks registered by Gameplay Tag. One root layout is created per client and reattached after level transitions.
Push Content To Layer — Blueprint async node: push a soft widget class onto a tagged layer. Sync path when the class is already loaded; otherwise loads through a lightweight Soft Content subsystem with in-flight coalescing (no long-lived hard refs after callback).
Game Instance UI Manager — USGCUIManagerSubsystem creates the root layout from Project Settings, queues layer pushes until the shell is ready, handles Open Level / world cleanup, and exposes pop / query helpers.
Input Gate — Suspend and resume Common Input via suspend tokens — useful while async UI is loading or during stack transitions.
Blueprint Extensions — USGCCommonUIExtensions: suspend/resume input, pop previous widget on a layer, get active widget on a layer.
Optional Named Slot Hosts — USGCNamedSlot + slot resolver for embedding dynamic content into tagged holes inside your layout WBP (alternative to full-screen layer stacks).
Push Content To Slot — Async push into a registered named slot by UI.Slot.* tag, with the same soft-load behavior as layer push.
Project Settings — Assign your Primary Layout class and viewport Z-order under Project Settings → SGC Common UI. No C++ required for basic setup.
Architecture
Single runtime module — SGCCommonUIRuntime; focused surface area, no editor dependency.
C++ core, Blueprint configuration — Subsystems and push pipeline in C++; widgets, stacks, and screens in UMG/CommonUI.
No plugin content — Bring your own Primary Layout Blueprint, layer tags, and widget assets.
Requires CommonUI (and Common Input at runtime for input suspend/resume).
Client-only UI — Subsystems skip dedicated servers automatically.
Blueprint-Friendly — Typical setup: create a Primary Layout WBP with activatable stacks, register layers with tags, assign the class in Project Settings, push screens from level or menu Blueprints with Push Content To Layer.
Attention: Sample UI widgets and layout are not included in the package. You provide your own USGCPrimaryGameLayout Blueprint and Gameplay Tags (UI.Layer.* / UI.Slot.*).


