GamePad Events Not Firing w/ Enhanced Input

Hello. I have a fair amount of experience with Unreal for XR development and decided to make a Non-XR related project. Was hoping to use Enhanced Inputs with a controller to take advantage of GamePad events.

Unfortunately, no matter what I do I don’t seem to be able to get the events to fire. I have the input mappings working on my character. If I use the keyboard everything works fine. I can even use steam to convert my controller inputs to keyboard inputs but would much rather use the native gamepad support.

Any help would be greatly appreciated! Just to knockout a few suggestions :

I have made sure input is enabled, I have added the mapping context on event begin play, and I have tested that my controller works by going to controller testing cites as well as playing games (like celeste). Everything recognizes the controller very easily. The third person template does not recognize my controller (however I am not sure it is intended to). Thank you!

Could you post a screenshot of your Input Mapping Context with all the fields expanded that relate to character movement/actions?

Do the controller buttons work at least? Those are set up exactly the same as key presses.

For the thumbsticks, I added a modifier of “Scale By Delta Time”.

  1. Here is an image of my context mapping. I will say I don’t think the issue is within the context mapping because if I use the keyboard / mouse everything works as expected

  2. The issue is the controller buttons don’t fire the gamepad events at all. Even when just directly connecting similar to a keypress. (picture below does not fire at all)

image

I am able use my controller if I first open Steam and allow steam to convert the controller inputs into keyboard/mouse inputs. But the events being fired still don’t come from the gamepad enhanced inputs and since the left analogue stick is mapped to left/right/up/down on the controller I cant get angles from that stick. Would much rather use the built in gamepad support.

Any help would be appreciated. :slight_smile:

I can’t see the gamepad inputs or the triggers.

When you’re trying your gamepad, do you have the controller to keyboard conversion disabled?

Can you move around the editor with your gamepad? The editor support gamepad for some reason. This lets you move around the viewport. Can you do that with your controller? If not, then something else is going on.

Adding pic with a better view of the gamepad events.

Is there a way to disable this conversion? As far as I can tell this is just something automatically being done by Steam. I am able to move around in the editor but it seems that is being done because of the conversion. When I try to click the icon next to the input mappings and press a gamepad button it reads it as a keyboard/mouse input

Going into steam and ensuring controllers are disconnected when exiting big picture mode has stopped any conversions from occurring. Now the engine just doesn’t read anything from my controllers.

For context I have tested a switch pro controller and a PS5 controller.

If the editor can’t use the controller, looks like something else is going on. This doesn’t look like an Unreal Engine issue to me. Out of curiosity, why are you in Steam at all?

Was in Steam to see if my controller was working there and saw that it was. But after that I started to note that the controller was working in Engine but still being read as a keyboard and mouse.

I will say my controller works for everything but Unreal Engine. It works for playing games through Epic Games, works on websites for testing (Hardware Tester) and I overall have had no issues with it other than for use in Unreal Engine.

I have no idea what could be causing that. Hopefully someone else will have an idea. I can understand how frustrating this must be.

What version of UE are you using? If you’re using 5.0 to 5.2, did you have the D-pad Up to Print String graph in your main character’s blueprint? If so, could you try your D-pad Up blueprint in your level blueprint instead? There’s a bug in 5.0 to 5.2 that almost any class that the main character has a reference to stops working. This was fixed in 5.3. But I’m just grasping at straws here.

Just to double check, might want to take a look at Project Settings, Engine, Input. Make sure there are no Action or Axis mappings. ANd make sure “Enable Motion Controls” is on. I also like turning on Enable Default Mapping Contexts in Enhanced Input settings. It’s mostly for UI though.

I saw something interesting at this link:

At the bottom, you can inject inputs into the command prompt at the bottom of the editor. Only works when your game is active. So you could try to see if gamepad input is working at all.

Ex:
Input.+key Gamepad_Left2D X=0.7 Y=0.5

Good luck!

1 Like

Was never able to truly resolve this issue. Ended up purchasing an XBox controller and that worked as expected. No idea why other controllers seem to be incapable of firing gamepad events though

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.