I’m currently deep into a modular Common UI implementation for a PC/Console project. I’ve successfully set up the Common Input Data and Common Bound Action Buttons, and the system is working perfectly for dynamic glyph swapping between Keyboard/Mouse and Controller.
The Goal: I want to add automated visual feedback when a key or button is physically depressed. Ideally, I’d like the Common Action Widget (the icon itself) to switch its texture/brush to a “Pressed” variant automatically when the bound input is active.
The Challenge: Standard Common UI setup handles the “Static” glyph swap (e.g., Spacebar to ‘A’ Button) via CommonInputBaseControllerData, but it doesn’t seem to have a built-in slot for a “Pressed State” brush in the Data Assets.
My Questions for the Elite CommonUI Programmers:
-
Has anyone found an “out of the box” way to extend the Slate Brush definitions in Common UI to include a Pressed state alongside the default state?
-
Is the most efficient route to subclass
CommonBoundActionButtonand manually handle theOnPressed/OnReleasedevents to swap the icon texture, or is there a more “Data Driven” way to inject this into the existing framework? -
Are there any specific performance or input-routing caveats I should be aware of if I try to drive icon texture swaps via the Input Method listeners?
I’m trying to avoid over-engineering a solution on top of Common UI if there is a native or “intended” way to achieve this tactile feedback that I’ve simply overlooked.
Any insights or architectural advice would be greatly appreciated!
Short GIF/MP4 that shows my old UI doing this with the arrow keys - Imgur: The magic of the Internet