UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AGameState Class Reference

#include <GameState.h>

+ Inheritance diagram for AGameState:

Public Member Functions

virtual ENGINE_API void OnRep_MatchState ()
 
virtual ENGINE_API void OnRep_ElapsedTime ()
 
virtual ENGINE_API void DefaultTimer ()
 
virtual ENGINE_API void PostInitializeComponents () override
 
virtual ENGINE_API void ReceivedGameModeClass () override
 
virtual ENGINE_API bool HasMatchStarted () const override
 
virtual ENGINE_API bool HasMatchEnded () const override
 
virtual ENGINE_API void HandleBeginPlay () override
 
virtual ENGINE_API float GetPlayerStartTime (class AController *Controller) const override
 
virtual ENGINE_API float GetPlayerRespawnDelay (class AController *Controller) const override
 
- Public Member Functions inherited from AGameStateBase
virtual void AsyncPackageLoaded (UObject *Package)
 
ENGINE_API const AGameModeBase * GetDefaultGameMode () const
 
template<class T >
const T * GetDefaultGameMode () const
 
virtual ENGINE_API double GetServerWorldTimeSeconds () const
 
virtual ENGINE_API bool HasBegunPlay () const
 
virtual ENGINE_API void GetLifetimeReplicatedProps (TArray< FLifetimeProperty > &OutLifetimeProps) const
 
ENGINE_API APlayerStateGetPlayerStateFromUniqueNetId (const FUniqueNetIdWrapper &InPlayerId) const
 
virtual ENGINE_API void ReceivedSpectatorClass ()
 
virtual ENGINE_API void SeamlessTravelTransitionCheckpoint (bool bToTransitionMap)
 
virtual ENGINE_API void AddPlayerState (APlayerState *PlayerState)
 
virtual ENGINE_API void RemovePlayerState (APlayerState *PlayerState)
 

Public Attributes

int32 ElapsedTime
 
- Public Attributes inherited from AGameStateBase
TSubclassOf< AGameModeBase > GameModeClass
 
TObjectPtr< AGameModeBase > AuthorityGameMode
 
TSubclassOf< ASpectatorPawnSpectatorClass
 
TArray< TObjectPtr< APlayerState > > PlayerArray
 

Protected Member Functions

virtual ENGINE_API void HandleMatchIsWaitingToStart ()
 
virtual ENGINE_API void HandleMatchHasStarted ()
 
virtual ENGINE_API void HandleMatchHasEnded ()
 
virtual ENGINE_API void HandleLeavingMap ()
 
- Protected Member Functions inherited from AGameStateBase
virtual ENGINE_API void OnRep_GameModeClass ()
 
virtual ENGINE_API void OnRep_SpectatorClass ()
 
virtual ENGINE_API void OnRep_ReplicatedHasBegunPlay ()
 
virtual ENGINE_API void UpdateServerTimeSeconds ()
 
virtual ENGINE_API void OnRep_ReplicatedWorldTimeSecondsDouble ()
 

Protected Attributes

FName MatchState
 
FName PreviousMatchState
 
FTimerHandle TimerHandle_DefaultTimer
 
- Protected Attributes inherited from AGameStateBase
bool bReplicatedHasBegunPlay
 
double ReplicatedWorldTimeSecondsDouble
 
float ServerWorldTimeSecondsDelta
 
float ServerWorldTimeSecondsUpdateFrequency
 
FTimerHandle TimerHandle_UpdateServerTimeSeconds
 
double SumServerWorldTimeSecondsDelta
 
uint32 NumServerWorldTimeSecondsDeltas
 

Detailed Description

GameState is a subclass of GameStateBase that behaves like a multiplayer match-based game. It is tied to functionality in GameMode.

Member Function Documentation

◆ DefaultTimer()

void AGameState::DefaultTimer ( )
virtual

Called periodically, overridden by subclasses

◆ GetPlayerRespawnDelay()

float AGameState::GetPlayerRespawnDelay ( class AController Controller) const
overridevirtual

Returns how much time needs to be spent before a player can respawn

Reimplemented from AGameStateBase.

◆ GetPlayerStartTime()

float AGameState::GetPlayerStartTime ( class AController Controller) const
overridevirtual

Returns the time that should be used as when a player started

Reimplemented from AGameStateBase.

◆ HandleBeginPlay()

void AGameState::HandleBeginPlay ( )
overridevirtual

Called by game mode to set the started play bool

Reimplemented from AGameStateBase.

◆ HandleLeavingMap()

void AGameState::HandleLeavingMap ( )
protectedvirtual

Called when the match transitions to LeavingMap

◆ HandleMatchHasEnded()

void AGameState::HandleMatchHasEnded ( )
protectedvirtual

Called when the map transitions to WaitingPostMatch

◆ HandleMatchHasStarted()

void AGameState::HandleMatchHasStarted ( )
protectedvirtual

Called when the state transitions to InProgress

◆ HandleMatchIsWaitingToStart()

void AGameState::HandleMatchIsWaitingToStart ( )
protectedvirtual

Called when the state transitions to WaitingToStart

◆ HasMatchEnded()

bool AGameState::HasMatchEnded ( ) const
overridevirtual

Returns true if match is WaitingPostMatch or later

Reimplemented from AGameStateBase.

◆ HasMatchStarted()

bool AGameState::HasMatchStarted ( ) const
overridevirtual

Returns true if the world has started match (called MatchStarted callbacks)

Reimplemented from AGameStateBase.

◆ OnRep_ElapsedTime()

void AGameState::OnRep_ElapsedTime ( )
virtual

Gives clients the chance to do something when time gets updates

◆ OnRep_MatchState()

void AGameState::OnRep_MatchState ( )
virtual

Match state has changed

◆ PostInitializeComponents()

void AGameState::PostInitializeComponents ( )
overridevirtual

Reimplemented from AGameStateBase.

◆ ReceivedGameModeClass()

void AGameState::ReceivedGameModeClass ( )
overridevirtual

Called when the GameClass property is set (at startup for the server, after the variable has been replicated on clients)

Reimplemented from AGameStateBase.

Member Data Documentation

◆ ElapsedTime

int32 AGameState::ElapsedTime

Elapsed game time since match has started.

◆ MatchState

FName AGameState::MatchState
protected

What match state we are currently in

◆ PreviousMatchState

FName AGameState::PreviousMatchState
protected

Previous map state, used to handle if multiple transitions happen per frame

◆ TimerHandle_DefaultTimer

FTimerHandle AGameState::TimerHandle_DefaultTimer
protected

Handle for efficient management of DefaultTimer timer


The documentation for this class was generated from the following files: