Announcing Section #1 for Survival Game - Third-person Player Setup

I really have some problems understanding a few things in this project…
I cant find anything which explains the use of classes like “Local Player”, “Player State”, “Spectator Pawn”.

And where do you specify where to spawn the player at the start of a game? There are 6 “PlayerStart” objects but only 2 of them, inheriting from
your custom “SPlayerStart.h”, are used. Even when i start it for 3 players.

EDIT: K i figured out the playerstart thing… for those who want to know: it is used in SGameMode

But here is another question: When is "ChoosePlayerStart(AController* Player) called? I guess it uses the Controller spawned for the new player?