In which blueprint class should I put widget logic?

As mentioned in the title, I was wondering where i should put my widget logic for menus and such. I was thinking either gamestate or playerstate but I don’t understand the differences between them. Any help is appreciated!


Are you making a multiplayer game?

GameState - is replicated across server and client.

The GameState contains the state of
the game, which could include things
like the list of connected players,
the score, where the pieces are in a
chess game, or the list of what
missions you have completed in an open
world game. The GameState exists on
the server and all clients and can
replicate freely to keep all machines
up to date.

PlayerState - holds data relevant to the player

A PlayerState is the state of a
participant in the game, such as a
human player or a bot that is
simulating a player. Non-player AI
that exists as part of the game would
not have a PlayerState. Example data
that would be appropriate in a
PlayerState include player name,
score, in-match level for something
like a MOBA, or whether the player is
currently carrying the flag in a CTF
game. PlayerStates for all players
exist on all machines (unlike
PlayerControllers) and can replicate
freely to keep things in sync.