Unreal Engine: GameModes, GameStates, PlayStates and AI/PlayerController

All, Game & Software Engineering, Game Development, Unreal Engine Tutorials & Support

Earlier this week we started taking a look at the terminology used for the Unreal Engine. Hopefully by now, you all have a good understanding of the terms used within the Engine which should make moving forwards much easier. Today we’ll be looking at a few other terms which you’ll need to know about later down the line.


This is the class where you set the rules of the game. They include but are not limited to: whether the game can be paused, how players join the it and win conditions.

It’s possible to set a default GameMode in the Project Settings but you can also change the GameMode rules on a per-level basis if you like. For multiplayer games, the GameMode exists on the server and are rules are sent to each connected player.



This contains the information you want each client to use and is often called the “State of the Game” for all connected players. It usually contains the game score, how many AI to spawn and whether the match has started. Naturally, it contains quite a bit of other information also.

When it comes to multiplayer games, there is one GameState for every connected player but the dominant one is on the server itself. This is where the players clients are updated from.



This refers to the state of a player/bot in the game. However, the only AI that have a PlayerState are those that are simulating humans. It typically includes the name, score, health or if they’re currently carrying an objective item such as a flag or ball.

Multiplayer games have PlayerStates on each connected machine and they take the information from the server itself.



This Class turns player Input into interactions within the game. They typically have a Pawn or Character which represents the player.

Multiplayer games have the PlayerController as the main network interaction point. There is one PlayerController for every player in the game. Each client attached to the server has it’s own PlayerController which reflects the player who must use this to contact the server. In short, this is how players interact with the server.



This is similar to the one about however, the AIController links to a Pawn. It then acts as an NPC in the game. All Pawns and Characters will get a AIController as a base. However, they can be given a PlayerController or told to not create their own AIController by the user.


This post was provided by Clare from Lunawolf Gaming

Please, keep your comments family friendly and respectful of each other and the author.