I created an empty project and set up my inputs as shown below.
I then tried to read the inputs from my controller
and my pawn
You can see in the blueprints I print to the screen with a different colour for each point it gets printed, but the values are always 0.0. Does anyone know what else I need to do to get these inputs to be read by my controller and/or pawn?
esp. at very bottom there is diagram of data flow in engine
You need point your “player controler” to hud, possesed pawn (or player character), game mode etc that you are using, and posses the pawn.
I think only player controller can get input events, or send data to hud. I was puzzled about this for almost 2 weeks.
Your problem is that your blueprint is not assigned to player 0 thus no input goes trough.
Ps. I forgot to add: look into DEFAULTS tabs of your blueprint , there are fields for used: game mode, camera controller, player controller.
If you made your own controller, make sure you point those fields to your controller and not default one.
That is strange, I don’t see anything wrong in the screenshots, both the Pawn and PlayerController should get a chance to receive input (when you posses the pawn). Does this work if you use a template and use the axes already set up for you there?
I’d already been through this doc trying to figure it out. Thats why I put my code in both pawn + controller, figuring one of them would get caught by the flow.
I had the templates for 1st person + top down and the axis worked.
Figured it out eventually, the default game mode was unassigned. Setting that seemed to trigger both controller + pawn to recieve input. I couldn’t figure out how to update pawns location from the controller, so I wired it directly into the pawn and deleted the controller axis inputs.
Still cant actually get the pawn to move, but at least now my debugging messages show input coming in.
It does raise another question though - If I have one input axis event in the controller, and different event in the pawn, do they both work, or would the fact the controller got one mean it needs to get them all?