RealDocs

AGameModeBase

class Engine Since 4.14
#include "GameFramework/GameModeBase.h"
Access: public Specifiers: UCLASS

Description

Server-only actor that defines the rules of the game: which pawn class to spawn, how players log in and respawn, and game flow. Only one GameMode is active per world and it exists solely on the server (or in single-player). Clients never receive a reference to the GameMode.

Caveats & Gotchas

  • Use `AGameMode` (which extends this) if you need match-state transitions (WaitingToStart, InProgress, WaitingPostMatch).
  • The GameMode class is set per-level via World Settings or by URL options; blueprint subclasses are the typical customization path.
  • Access via `GetWorld()->GetAuthGameMode<AMyGameMode>()` — returns nullptr on clients.

Signature

UCLASS() class AGameModeBase : public AInfo

Examples

Set in project defaults C++
// In DefaultEngine.ini:
// [/Script/EngineSettings.GameMapsSettings]
// GlobalDefaultGameMode=/Game/GameModes/BP_MyGameMode.BP_MyGameMode_C
Access on server C++
AMyGameMode* GM = GetWorld()->GetAuthGameMode<AMyGameMode>();
if (GM) { GM->EndMatch(); }

Functions (58)

Lifecycle
4
Access Type Name
public function AGameModeBase::StartPlay
public function AGameModeBase::InitGameState
public function AGameModeBase::PreInitializeComponents
public function AGameModeBase::Reset
Networking
1
Access Type Name
public function AGameModeBase::GetGameNetDriverReplicationSystem
Utility
4
Access Type Name
public function AGameModeBase::GetDefaultPawnClassForController
public function AGameModeBase::InitGame
public function AGameModeBase::RestartPlayer
public function AGameModeBase::SpawnDefaultPawnFor
Configuration
1
Access Type Name
public function AGameModeBase::GetGameSessionClass
Game
9
Access Type Name
public function AGameModeBase::GetNumPlayers
public function AGameModeBase::HasMatchEnded
public function AGameModeBase::HasMatchStarted
public function AGameModeBase::AllowCheats
public function AGameModeBase::ClearPause
public function AGameModeBase::GetNumSpectators
public function AGameModeBase::SetPause
public function AGameModeBase::ForceClearUnpauseDelegates
public function AGameModeBase::IsHandlingReplays
Pausing
4
Access Type Name
public function AGameModeBase::AllowPausing
public function AGameModeBase::IsPaused
public function AGameModeBase::ResetLevel
public function AGameModeBase::ShouldReset
Player Management
15
Access Type Name
public function AGameModeBase::ChangeName
public function AGameModeBase::ChoosePlayerStart
public function AGameModeBase::FindPlayerStart
public function AGameModeBase::K2_FindPlayerStart
public function AGameModeBase::K2_OnChangeName
public function AGameModeBase::K2_OnRestartPlayer
public function AGameModeBase::Login
public function AGameModeBase::PlayerCanRestart
public function AGameModeBase::RestartPlayerAtPlayerStart
public function AGameModeBase::RestartPlayerAtTransform
public function AGameModeBase::SetPlayerDefaults
public function AGameModeBase::SpawnDefaultPawnAtTransform
public function AGameModeBase::SpawnPlayerController
public function AGameModeBase::InitStartSpot
public function AGameModeBase::SpawnPlayerFromSimulate
Player Session
10
Access Type Name
public function AGameModeBase::CanSpectate
public function AGameModeBase::HandleStartingNewPlayer
public function AGameModeBase::K2_OnLogout
public function AGameModeBase::K2_PostLogin
public function AGameModeBase::Logout
public function AGameModeBase::MustSpectate
public function AGameModeBase::PostLogin
public function AGameModeBase::PreLogin
public function AGameModeBase::GameWelcomePlayer
public function AGameModeBase::PreLoginAsync
Server Travel
2
Access Type Name
public function AGameModeBase::CanServerTravel
public function AGameModeBase::ProcessServerTravel
State
1
Access Type Name
public function AGameModeBase::GetGameState
Travel
7
Access Type Name
public function AGameModeBase::ReturnToMainMenuHost
public function AGameModeBase::GetPlayerControllerClassToSpawnForSeamlessTravel
public function AGameModeBase::GetSeamlessTravelActorList
public function AGameModeBase::HandleSeamlessTravelPlayer
public function AGameModeBase::PostSeamlessTravel
public function AGameModeBase::StartToLeaveMap
public function AGameModeBase::SwapPlayerControllers

Properties

Access Type Name
public property AGameModeBase::DefaultPawnClass
public property AGameModeBase::DefaultPlayerName
public property AGameModeBase::GameSession
public property AGameModeBase::GameSessionClass
public property AGameModeBase::GameState
public property AGameModeBase::GameStateClass
public property AGameModeBase::HUDClass
public property AGameModeBase::OptionsString
public property AGameModeBase::PlayerControllerClass
public property AGameModeBase::PlayerStateClass
public property AGameModeBase::ReplaySpectatorPlayerControllerClass
public property AGameModeBase::ServerStatReplicator
public property AGameModeBase::ServerStatReplicatorClass
public property AGameModeBase::SpectatorClass

Version History

Introduced in: 4.14

Version Status Notes
5.6 stable
5.0 stable

Feedback

Was this helpful?

Suggest an edit

Select a field above to begin editing.