Announcement

Collapse
No announcement yet.

UMG Navigation System Poorly Suited for Gamepad?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    UMG Navigation System Poorly Suited for Gamepad?

    Hey folks,

    I'm running into a lot of issues using a gamepad with UMG's navigation system.

    My main incentive for using the system is the ability to navigate between "Focusable" buttons based on the layout without any custom logic. That part works great, which is why I've been so frustrated by the host of other issues.
    • It seems there's no way to simply "GetFocusedWidget" without constantly iterating over every Widget and checking if HasFocus is true. This would be a pain to maintain for complicated or dynamic menus and I'm concerned about the performance cost.
    • AFAIK, there's no way to prevent Gamepad Face Button Bottom triggering click events on the focused widget. This makes it impossible to have different behavior for gamepad and mouse (i.e. use OnPressed for gamepad, OnClicked for mouse.)
    • OnPressed and OnClicked are handled in a way that's inconsistent with mouse logic. Holding the gamepad button and then changing focus will immediately call OnPressed on the newly focused button and OnClicked when you release the button. (Mouse clicks and presses must start and end on the same button.)

      EDIT: I found a bug ticket for this behavior (please vote!) https://issues.unrealengine.com/issue/UE-45405
    • Using Navigation takes over Tab key input, so Tab can't be used to dismiss a menu.
    • No way to change directional input speed.
    Has anyone found solutions for these issues? If I could use the navigation logic and disable all the special input logic that comes with it, I would be happy to handle the inputs on my own, but that doesn't seem to be an option.
    Last edited by ianwexl0rz; 02-27-2018, 04:59 AM.

    #2
    I am too stumbling with this, really frustrating.

    Comment


      #3
      Found the only way to get anything done with Gamepad + UMG, is throw out all the built-in stuff.
      Let all Gamepad inputs fire for all events, then have a 'state system' control the UI & figure it out.

      Comment


        #4
        Originally posted by franktech View Post
        Found the only way to get anything done with Gamepad + UMG, is throw out all the built-in stuff.
        Let all Gamepad inputs fire for all events, then have a 'state system' control the UI & figure it out.
        That's really unfortunate.

        I'm wondering if Epic has any ETA for improving UMG gamepad support.

        My dilemma at this point is I don't want to spend a lot of time rolling my own solution if it will be fixed in the next few months.

        Comment


          #5
          UMG navigation has been like this for years now AFAIK

          Comment


            #6
            I have found this to be really annoying as well. It would make sense that if UE is built for consoles as well than the UI would have a simple approch to controller navigation.

            Comment


              #7
              I think console AAA titles all use scaleform or some other middleware UI package?

              Anyway, I just began looking into this and one of the first things I found was a rather convoluted way to use input actions in UI widgets:

              https://www.youtube.com/watch?v=4FwaHM6YSF8

              For you in this thread who are more experienced that me, is that an alternative that improves things at all?

              Comment


                #8
                https://answers.unrealengine.com/que...7834/view.html

                I am also having this issue. This is a major issue.

                Comment

                Working...
                X