Why needs player controller when controlling non pawn actor?

I’m new to Unreal Engine and do a simple test for understanding controlling an actor (that is not a pawn) by keyboard. The actor is controlled directly, so I don’t understand why I must to connect a player controller component for enabling input, what this controller gives?

As shown here after, the PlayerController component must be connect to “Enable Input” in order to make “InputAxis MoveUp” responds to keyboard. But I don’t understand why is this needed

  • Isn’t player controller is to control pawns?
  • What the player controller gives in its output?

(1) The level contains a floor (static mesh cube), a cube (static mesh cube), a point light and camera

(2) Cube is set to be movable.

(3) The game has a custom game mode with no default pawn.

(4) Axis action “MoveUp” is assigned to keyboard Key “E” using the input map.

351141-test3c.png

(5) A blue print is created for the cube and is set to move up the cube while “e” is pressed.

Thanks

Player Controller isn’t something used to control pawns. It’s used to process players’ actions and connect actual human players to the game.

In your case you need to tell the Player Controller to send input data to this blueprint, because by default custom blueprints don’t have input enabled.

As @Tuerer commented - “Player Controller isn’t something used to control pawns. It’s used to process players’ actions and connect actual human players to the game.”