GetPlayerPawn GetPlayerContllore GetPlayerCharacter

UE4を始めたばかりなので、初歩的な質問になってしまうことをお許しください。
GetPlayerPawn GetPlayerContllore GetPlayerCharacterというものが、書籍やチュートリアルを見ていると出てきますが、この使い分けというのでしょうか、どのような時に使うものなのか理解できません。

どなたか、かみ砕いて説明していただけるようでしたらお願できますか?

GetPlayerPawnは指定したPlayerが現在操作しているPawnを取得します
操作キャラクター(Pawn継承クラス)の情報を取る際はこれで参照を取得し、ここからCast等を通して利用します

GetPlayerControllerは指定のPlayerIDが示すPlayerControllerを取得します
操作キャラクターではなく、プレイヤー(PlayerController継承クラス)に対して何らかの情報をもたせている場合はこちらでアクセスすることになるでしょう

GetPlayerCharacterは、GetPlayerPawnに近いですが、取得可能なものがCharacterクラスとその継承クラスのみとなります
これはGetPlayerPawnと違い、CastせずともCharacterクラスであることが確定するので、CharacterMovement等にそのままアクセスできるようになります
ただし、操作しているのがCharacter継承クラスでなければ動作しません

よく使う用途としてはPlayer0…つまりローカルプレイヤーの情報や、その操作キャラクターの情報を取得することです