Hi there!
I am currently researching Common UI a lot as it seems to solve a lot of problems with dynamic UIs. As the rest of my project uses Enhanced Input, I’d like Common UI to use that too. However, I feel like the available documentation and learning content is missing a lot of details.
My basic use case is an inventory with inventory slots that is navigatable. Also the same widget should be able to interact with similar widgets for other inventories, for example a container placed in the world.
So now I have a few specific questions:
-
Navigation on the controller works with both the joystick and the cross, on the PC only with arrow keys. Where can I control that, especially when I want to enable WASD for PC navigation?
-
Looking at the Content Examples project, the navigation works nicely, but it seems to be only working with Common UI Button widgets (= Common Button Base). Is there another base class other than the button to benefit from the navigation mechanics?
-
Inventory slots should be able to react to different inputs, eg. Action1 to transfer one item, Action2 to transfer the whole stack. Can the Common UI Button be configured to react to different input actions or just be “clicked/pressed”?
Common UI ↔ Enhanced Input in general: It seems the intended way is to make the root widget have Common Activatable Widget as parent class and its Input Mapping value set to the Input Mapping Context containing the generic input actions.
-
When a Common UI button has the Triggering Enhanced Input Action set, it responds to this globally, not only when the button is selected. This is problematic when multiple buttons have the same input action configured, as only the first button seems to receive the click. Is there a way to deal with this or should these only be used for global “singleton” bindings?
-
Consuming Enhanced Input Actions seems to be problematic by itself. When in the project settings Enable Default Input Config is true, all the Enhanced Inputs seem to be ignored in the buttons, when it is false, they seem to trigger for all buttons at once, but also in some cases get consumed, like for the default Click Action (pressing A on the xbox controller triggers only the click event, not the EI event).
From my current standpoint, I’d figure that I can only implement this using a workaround solutions.
Any help appreciated!