How to access custom player controller from character class?

GetController() returns controller that currently possessing the pawn, either AI or player controller:

If pawn is not possesed it will return nullptr, so do a check before starting doing calls to player controller