Controller Icon Setup (CommonUI Integration)

This section explains how to configure CommonUI Controller Data Assets so that EGSActionWidget automatically displays the correct button icons for each controller type.


How It Works

The plugin includes EGSActionWidget, a UMG widget that:

  1. Listens to UEGSGamepadSubsystem for controller type and input type changes
  2. Resolves the correct CommonUI Controller Data Asset for the active controller
  3. Queries that asset for the icon brush matching the current button/key
  4. Updates the displayed icon automatically — no Blueprint logic required

The widget resolves Controller Data Assets using a three-level fallback chain:

Specific ID  →  Family ID  →  Generic ID

If no asset is found for the specific controller model, it falls back to the family, then to a generic fallback. This means you only need to create the assets you care about.


ID Reference Table

These are the identifiers you must enter in the GamepadHardwareIdMapping of your Controller Data Assets. The widget matches against InputDeviceName first (FName, fast), then against HardwareDeviceIdentifier (FString, fallback).

Controller Specific ID Family ID
Xbox 360 EGS_Xbox360 EGS_Xbox
Xbox One / Series EGS_XboxOne EGS_Xbox
PlayStation 3 EGS_PS3 EGS_PlayStation
PlayStation 4 EGS_PS4 EGS_PlayStation
PlayStation 5 EGS_PS5 EGS_PlayStation
Nintendo Switch EGS_Switch EGS_Switch
Generic / Unknown EGS_Generic

Fallback Example

If the active controller is a PS4 and you have no EGS_PS4 asset, the widget will look for EGS_PlayStation. If that also does not exist, it will use EGS_Generic. This lets you ship a single generic PlayStation asset and add specific ones later.


Step-by-Step Setup