I know that the ACharacter implementation provides a Jump and StopJumping function. Is there any similar way to do it from PlayerController?
For such tasks you usually goes to entity that can do work and do work here. Considering jump from controller, it’ll be getting a possessed pawn, casting it to character and calling jump here:
void AMyPlayerController::MySuperJump()
{
ACharacter* Character = GetPawn<ACharacter>();
if (!IsValid(Character))
return;
Character->Jump();
}