Get Player Pawn or Get Play Character, what is the difference?

ok so here is the story…

I created a blueprint that allows a light to follow my character, I initially used “Get Player Pawn” for this. Later I was looking up some blueprint stuff on the internet and found one that used “Get Player Character”. I tried this instead of the “Get player Pawn” and it worked fine.

So what is the difference between the two? Does it matter which I choose? If it doesn’t matter, is there one that is technically the correct choice?

I don’t know for sure, but remember reading or hearing in a tutorial that the Pawn class is the same as the CharacterController class with the exception of player input. So, you can have all the same logic in a Pawn based on your player character, you just don’t get all the run speed, jump height, etc. in the BP.

Why it’s done that way or whether it matters in your case, I’m a noob that can’t answer. Hopefully someone with more experience can confirm what I said above too. :slight_smile:

Pawn is a base class, Character inherit from Pawn and adds other default components(like CharacterMovement )
You can still use GetPlayerPawn, but you need to cast it to your BP class or a Character class for some of your stuff to work.
(I assume you tried to get something from the result but didn’t get it properly. )

The Character class inherits from the base class Pawn. If your character class inherits from Character.h, you’re fine to use Get Player Character. If you are inheriting from Pawn.h, then you will need to use Get Player Pawn.