UI & FRONT END
RedCell's interface is built on CommonUI: every screen is an activatable widget on a layered stack, input routing is handled by the framework rather than per-widget hacks, and the whole UI works identically on gamepad and keyboard — down to the input icons updating live when the player switches devices.
01 | Layers
Activatable Widget Stack
From the title screen through in-game menus, every screen is a CommonUI activatable widget pushed onto a layer stack — game HUD, menus, and modals each live on their own layer, so opening and closing screens is a push/pop with focus, visibility, and input handled by the stack instead of scattered widget logic.
Beneath the screens sits a custom widget library — entry boxes, buttons, and tab controls built as reusable base classes — so every menu composes from the same vocabulary and inherits input handling, styling, and sound feedback for free.
02 | Menus
Game Menu & Modals
The in-game menu and inventory modal activate over live gameplay, with bound actions surfacing in a contextual action bar — Back unwinds the stack the same way on every screen, whether it came from a gamepad B button or Escape. UI state is driven by data and visibility, never by animation playback, so screens always reflect the true game state.
03 | Input
Input Routing
Menu-versus-gameplay input is decided by the active widget's desired input config. When a menu takes over, game input is suspended at the framework level. UI actions that share keys with gameplay are configured to coexist rather than consume, so an always-active UI never silently eats a gameplay binding.
UI input runs on Enhanced Input rather than CommonUI's legacy data tables. A generic UI mapping context loads with every Experience, so rebinding or adding a UI action means updating only the input mapping context, not editing DataTables. CommonUI's Enhanced Input support lacked Hold Data bindings, so a custom button base class was extended with a triggering-input function to honor CommonUI hold data. This allowed hold-to-confirm interactions to work natively with Enhanced Input actions.
04 | Input Icons
Platform-Aware Icons
Every prompt in the UI resolves its icon from the player's current input device and updates live mid-session when they switch between gamepad and keyboard. The icon set itself is custom-authored: a flat light-silver fill with all shading carved into the alpha channel, so the icons sit naturally on any background the UI puts behind them.
05 | Data Binding
MVVM ViewModels
Widgets bind to gameplay state through ViewModels rather than reaching into systems directly — the inventory UI is the deepest example, with item fragments feeding ViewModels that keep every slot, count, and detail panel in sync reactively. Custom UI sound feedback rounds out the layer — hover, select, equip, and close all carry designed audio.
In Development
Settings & accessibility screens
Narrative & mission UI