Although the comments explain this (eventually), the accepted answer just links to the documentation, totally unhelpfully. The final explanation is simplest:
- An Actor is the equivalent of a unity GameObject; ie. Anything in the game state.
- Pawn extends Actor and is basically a ‘Player Chatacter’. Unity does not have this concept.
- Character extends Pawn for a specific FPS human style Pawn with specific inbuilt behaviour.
Pawns
The key tangible difference to understand is that in UE4, all input and camera interaction is done via the ‘Controller’ associated with a player. This represents (basically) a single person sitting in front of a device using the game; in a multiplayer game you will have multiple players each with their own Controller.
Each Pawn is an Actor associated with a specific controller; it is the representation of that specific player in the game; as I said before, unity does not have this concept, and requires to you build this abstraction (if you want it) on top of the raw GameObject in unity.
There are also ‘Spectator Pawns’, which, obviously are people watching, but not interacting with the game. This is another built in function in UE4 not found in unity.
Characters
Characters extend Pawn in a specific way; you don’t have to use them if you want to roll your own custom functionality, but they provide some specific built in behaviour.
At a technical level, Characters are Pawns with an associated SkeletalMeshComponent, for complex animations. It also has the CharacterMovementComponent, which, critically cannot be added to Pawns.
Long story short, there’s a specific workflow which has been implemented for getting characters into the game, detailed here: https://docs.unrealengine.com/latest/INT/Engine/Animation/CharacterSetupOverview/index.html
If you want to use it, you have to use a Character instead of a Pawn.