Beginner Question - PlayerController

As a general rule, a PlayerController is always present simply because you can think of the PlayerController as the player themselves. A Character/Pawn is a physical being, while a controller is the “mind” of it. The “mind”/controller tells the Pawn/Character/Physical Being what to do. So, the Controller dictates the Pawn.

With that said. The sample games are not blue-printing the controller, simply because they’re not changing or adding functionality from the default behavior. So no need to add a custom class that changes absolutely nothing from its parent class.

This is why your Inputs are still being processed among other things. When you create a new GameMode, if you go into Project Settings > Maps & Modes and then check out the Default Modes, you can use the drop-down box of “Selected GameMode” and you will see that there is indeed a PlayerController class already setup by default, which should be that of “PlayerController”

Hope that helps!