Getting player location in CustomPlayerController

Why does ’ get player character’ or ‘get player pawn’ not get the correct location in player controller by ‘get controlled pawn’ does?

GetPlayerCharacter and GetPlayerPawn require a player index, and GetControlledPawn gives you the pawn that is relevant to the player controller you are in.

so if you are in the second player’s playerController, and you GetPlayerPawn with an index of 0, it will return the first player’s pawn, while GetControlledPawn will always return the correct pawn that is currently possessed by the controller.

Thanks for explaining!!