تخطي إلى المحتوى
الوسائط 1 للقائمة SGC Common UI

الوصف

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.*).

التنسيقات المضمنة