Player spawning in examples and own projects

Hello. I am trying to figure out player spawning looking at the third person C++ example code from Unreal. However, I don’t really get it.

It seems to me, it is the sole code inside the GameMode constructor that does the magic,


	
// set default pawn class to our Blueprinted character
static ConstructorHelpers::FClassFinder<APawn> PlayerPawnBPClass(TEXT("/Game/ThirdPersonCPP/Blueprints/ThirdPersonCharacter"));
if (PlayerPawnBPClass.Class != NULL)
{
	DefaultPawnClass = PlayerPawnBPClass.Class;
}

However, from this I don’t understand how PlayerStart explicitly knows to spawn the ThirdPersonCharacter blueprint from the PlayerStart. I take it doesn’t? The code simply sets a “default”, and if the PlayerStart doesn’t have much more information to go at, it spawns the default actor set in the ‘if’ condition as “ThirdPersonCharacter” blueprint, right? (I guess essentially you could spawn whatever you like from actor class)

So how would someone go on about spawning a specific actor at a specific PlayerStart in code? I take that is necessary when the day comes and I manage to add bots/other players to the game.
I’m sorry if this has already been answered, but I’ve looked through the many examples and threads this whole morning, and I still don’t get it.

Thank you.