Best way control a pawn possessed by an AIController?

I have a pawn that needs path finding in a networked environment. This means I need the pawn possessed by an AIController in order to issue move commands.

I’m guessing my setup needs to go like this:

PlayerController->AIController->Pawn

This makes sense, the PlayerController gives commands to the AIController, and then the AIController manipulates the pawn. I’m confused on how this should be spawned. If I let the game mode setup the AIController with the pawn, then there’s no PlayerController. If I have the game mode spawn the PlayerController with no pawn, then I need to spawn the pawn actor manually.

I know there’s probably nothing wrong with doing this either way, but the documentation on either one of these is seriously lacking. As far as I can tell, spawning a PlayerController manually would result in the game mode not recognising it, and spawning the pawn manually results in stuff like PlayerStarts not being applied to it.

What is the best way to set this up?