UEFN Input/Widget Changes Needed to APIs

Hi! I’ve got an island published that is a little different from a lot of the UEFN islands I’ve seen. It’s a complete poker game in UEFN. (Poker Nite, Island Code 2732-4634-2071)

I wanted to provide some feedback on the specific issues I had creating my game so hopefully some of these pain points can be addressed in the future. The game is published and working, so this is not URGENT, but I think some of the items below would really increase the ease of making more diverse UEFN islands that are more than just shooters.

  1. Input Trigger conflicts with UI Widgets.

The idea of using an Input Trigger device seems really awesome…at first. And in some cases it is! If you’re just showing the default UI or something like that, having a device that can map a controller button to a verse function lets you do some neat stuff.

BUT…As soon as you show a custom UI to the player, and want to have a controller button map to a button on the Widget, you’re stuck. When you show a custom UI widget, you have to set a widget_slot for it. Widget slots take a param ui_input_mode. That param can be either None, in which case the UI isn’t really interactive, or All, in which case…this is the annoying part…the widget stops input triggers from triggering at all.

???

SO, even though I have an input trigger mapped to a controller button, and I’d like that button to select the widget button for Fold in the screenshot…i CAN’T do that, because as long as the UI widget is shown in All mode, the input trigger never fires! The input trigger fires fine if the UI widget is set to input mode None, but then none of the other Widget functionality works, i.e., you can’t select other buttons or anything.

Example UI:

betUI
Would be awesome to be able to have different buttons on this UI mapped to controller buttons!

  1. Input Trigger doesn’t seem to cover all controller buttons/not all inputs act the same

So, part of this issue is probably related to how input mapping works in UEFN. You can’t actually set an input trigger on a controller button, you have to set it on an “Action,” like Sprint or Crouch or Fire.

Here’s problem 1 with that…it doesn’t seem like all buttons are covered by actions. For example, say I want to capture D-Pad left or right, or D-Pad up or down. Those don’t seem to be capturable. If they ARE capturable, they’re not intuitive to capture, because they’re not part of the default 12 custom input mappings that I can find. Being able to respond to D-Pad presses would be extremely useful. Also missing for some reason is the B button on an xbox controller (and presumably the circle button on PS5, I don’t have one of this with me at the moment to test.)

ALSO missing…the entire right stick. That seems a glaring omission.

Second Input Trigger button issue…for some reason, certain inputs that are analog (controller triggers) are treated as digital or pressed/released.

Third Input Trigger button issue…for some reason, the forward/back and left/right controls have ignore the Consume Input checkbox. (You actually can’t even click the consume input checkbox if you change the action to the up/down or left/right actions, but it will stay selected if you click it consume input BEFORE selecting the action.) Not sure why those inputs are different. I guess there’s some reason to never allow consuming movement input, but at least for my use cases, I NEED to consume it for it to be useful. If the character is still moving around while I’m trying to use that input, then it’s kind of useless to me.

  1. Need way to get platform specific button icons.

Even if I could get the Input Triggers to still fire when the UI is up…I can’t find a way to put a platform specific button prompt on the button. Yes, Input Trigger has a way to show a UI prompt, but it shows on the left side of the screen and doesn’t seem to be configurable with regards to position. Ideally, the button itself would have an icon on it for the platform specific button. I could add my own button image, but I can’t find an API to get the platform, so that doesn’t really work.

  1. Need a way to change font size of text on buttons/UI controls.

This has been mentioned on other posts and is pretty self explanatory, but just to elaborate slightly…The default font size is fine if you’re showing three big button on a screen. If you’re showing a more complicated UI thats also supposed to leave a lot of the screen still visible ('cause you can’t really block the whole view of the game in a lot of cases, the player needs info on the rest of the screen), then you sometimes have to shrink the button text a little. I know that makes it less readable from a couch 10 feet from a TV, but that’s just a fact of game design. Some game types need to show more complicated UIs.

  1. It would be really nice to be able to restyle buttons, or even just use an image on a button.

Again, this is something other people have requested, but as a user that started with the very first version of UEFN, some of the button styling choices made have been puzzling. The old style square buttons where so much nicer to work with. The more rounded ones don’t scale right. Again, see the screenshot above. When button is selected (more of an issue on PC, sure, but that’s a valid platform) the selected outline doesn’t seem to scale 100% correctly on larger buttons. (Could just be my eyes, but the corners of the outline seem thinner on the corners.) Also, the corner radii just seem suboptimal on larger buttons. Obviously a matter of taste, but it really made it tougher to get a UI design that looked even close to decent for me after the button style change.

Additionally…button text does this weird scroll side to side automatically when the text gets too long for the button. I get the reasoning there. But it starts doing this way before it needs to. I’ve created lots of buttons where it looks like there is plenty of room for the text without scrolling, but it still scrolls. Obviously there is some unusable space at the sides of the buttons, but it’s not clear where that edge is, and it seems a little overly aggressive in how it decides when to start scrolling your button text.

Apologies for the long post, but trying to make this detailed enough to actually provide some context on why I’m suggesting these issues be changed. Thanks for reading!

@AngularRat Thank you for your feedback. While I cannot guarantee a response, I can confirm that this has been forwarded to the appropriate team.