GS_UI

Interfaces that feel as good as your gameplay.

A flat, recursive page navigation framework built on LyShine — from simple HUDs to complex menus with animated transitions, input routing, and focus management.

Complete UI Management

Structured navigation that scales from prototypes to production

Single-Tier Page Navigation

UIManager → Page. A flat, recursive page hierarchy where every page can be a root canvas, a nested child, or both. Navigate forward, back, and across canvases with a unified API — no hub or window layers to manage.

  • GS_UIPageComponent — One component handles root registration, child management, focus, and animated transitions
  • NavigateTo / NavigateBack — Focus-stack navigation with automatic ancestor alignment
  • ChangePage — Swap child content within a parent page without losing broader focus state
  • NavigationReturnPolicy — Per-page control over where focus lands on return: last focused or always default
Explore Page Navigation

Enhanced Button System

Gamepad and keyboard navigation with automatic routing. Focus states, hover effects, and visual feedback. Built on LyShine's interactable system with GS extensions for animated state transitions.

  • Navigation Routing — Configure up/down/left/right routing per button
  • Focus Management — Automatic focus stack for returning to previous UI states
  • Input Integration — Works with mouse, keyboard, and gamepad input
  • State Animations — UiAnimationMotion assets drive hover, focus, and click transitions
Explore Buttons

Loading Screens & Pause Menus

Specialized components for the UI patterns every game needs. Loading screens that coordinate with stage transitions. Pause menus that integrate with game state. Ready-to-use, fully customizable.

  • Load Screen — Progress tracking, splash display, stage transition coordination
  • Pause Menu — Game pause integration, focus management
  • UIManager Integration — Participates in the global focus stack seamlessly
  • Prefab Assets — Working templates to start from and customize
Explore UI Manager

UI Animation System

Asset-based animation via the GS_Motion extension. Author reusable .uiam motion assets in the editor and attach them directly to page show, hide, and loop transitions — or play them on demand from Script Canvas.

  • 8 Motion Tracks — Position, rotation, scale, element alpha, image alpha, image color, text color, text size
  • Page Transitions — OnShow, OnHide, and OnShowLoop motion slots built into every page
  • Reusable Assets — .uiam files shared across pages for consistent UX
  • Easing Support — Full access to GS_Core's easing library
Explore UI Animation

Technical Specifications

Components

Single-tier page navigation framework

Navigation: GS_UIPageComponent, GS_UIManagerComponent

Interaction: GS_ButtonComponent, GS_UIInputInterceptorComponent

Specialized: GS_LoadScreenComponent, PauseMenuComponent

Animation: UiAnimationMotionComponent, UiAnimationMotionAsset (.uiam)

Dependencies

Required: GS_Core, LyShine, LmbrCentral

Built directly on O3DE’s LyShine UI system. GS_Motion (from GS_Core) powers the animation system.

EBus Interfaces

Request Buses: UIManager, UIPage, LoadScreen, PauseMenu, Button

Notification Buses: UIPage events, Input notifications

Full EBus integration for C++ and Script Canvas.

Data Assets

Animation Assets: UiAnimationMotionAsset (.uiam) — reusable motion data for transitions and effects

Prefabs: GS_UIManager.prefab, canvas templates

Reusable UI templates and motion assets.

Built for Real Interfaces

Start Fast

Use the prefab manager and load screen templates to get UI running immediately. The flat page hierarchy keeps simple HUDs simple while scaling naturally to complex menus.

Scale to Complexity

Build deeply nested menus with animated transitions on every page. Focus routing, NavigationReturnPolicy, and cross-canvas navigation mean the system handles the complexity so you don’t have to.

Input-Agnostic

Works with mouse, keyboard, and gamepad out of the box. The input interceptor handles focus routing and the button system navigates menus naturally — without fighting the input system.

Build Interfaces That Feel Good

From simple HUDs to complex menu systems — GS_UI gives you the structure to make great interfaces.

Get GS_Play Read Documentation Explore Other Gems