Why does ThirdPersonTemplate does not have a Player Controller blueprint?

The third person does have a PC, it’s just not a blueprint, that’s all.

The first person PC inherits from that code

As far as where to put what sort of logic, there is no fixed places for things. Sometimes, the player controller, game instance, game mode, player character etc will seem like a logical place and you can use it.

For instance, the ‘player controller’ sounds like it ‘controls the player’, so it sort of seems like player logic should go in there. But it’s actually the main place where input is managed, so maybe it could be called ‘input manager’. A good example is managing the ESC key. ESC can mean a lot of things depending on context

  1. Open menu
  2. Previous menu
  3. Close menu
  4. Stop using rifle sight
  5. Cancel
  6. Etc

Instead of having some nightmare web of code between a lot of different blueprints, you can make the decision on what to do in the PC. Easy.

Two rules of thumb, I would say:

  1. Don’t use the level BP ( except very sparingly )

  2. If you find you need to pass a lot of information back and forth between blueprints, then you probably have the code in the wrong place.