X157 Dev Notes

One simulant attempts to share insight with others.

Common UI Plugin

The Common UI plugin allows the automation of a lot of platform-specific behavior in the UI. For example, buttons can be automatically shown/hidden depending on the platform type, and it is very easy to test different platforms in the Editor.

Lyra Input Overview gives a good big picture look at a possible way Common UI can be implemented.

Key Concepts

Example Usage in Lyra

Example: Lyra Common UI Layers

In ascending priority, Lyra defines these Common UI Layers as stacks with associated Gameplay Tags:

Input Handling

Input is directed by Common UI to the Widget that currently has focus (by default the one at the top of the highest priority visible layer) at any given time.

Widget inputs are configured via:

Project Settings: Common Input

Resources to Better Understand Input & Project Setup for Common UI

Shared Style Assets

Common UI allows you to create style assets that are then easily applied to widgets, buttons, etc.

In this way you only need to update the one style and all widgets in the game will be updated based on that style change.

To accomplish this, derive from the base style classes as needed and configure your widgets to use the appropriate style.

Base Style C++ Classes:

Debugging Common UI

Console command: CommonUI.DumpActivatableTree

If you enter the above console command you will get an output log dump of debug information that can be helpful to understand what the current Common UI display stack looks like.

Annotations from Epic Games video sources

External References

For more insight into Common UI, I recommend: