Pawn not set in BeginPlay in networked games

So in my project I have a PlayerController. The DefaultPawnClass is set in the game mode and everything works fine. I am trying to set up some camera related things in BeginPlay that uses the Controller’s pawn. I added a check like:

	if (GetPawn()) {
		UE_LOG(LogTemp, Warning, TEXT("Got pawn!"));

This message prints properly if playing in single player. However if I check “Run dedicated server”, it’s not printed and the pawn related stuff I have does not work.

I thought the default pawn was guaranteed to be set on BeginPlay, is this an incorrect assumption? Is there another initialization function I can use to set up these kind of things instead? I’d assume that having some check to do it in the tick function is a bad way to do it.