Why is an Actor?

Hello,
I am new to Unreal and just trying to figure out an engine architecture.
So the question is why AGameState, APlayerState, AGameMode, AHUD, APlayerController is an actors? What is the main reason?

Thank you:)

Sorry in advance if I set the wrong topic tag :wink:

Hard to say exactly but if Iā€™d wager to guess, the primary reason is how they can easily get the pointer to the active UWorld object by being actors.

Thank you for the answer!
Yep, I have the same guess, but I hoped there is some documentation chapter that I might have missed)

GameState, PlayerState and Playercontroller I would guess the main reason is that they can replicate and GameMode and HUD belongs to a World/Level by design.

This video might help: The Unreal Engine Game Framework: From int main() to BeginPlay - YouTube