AGameModeBase
#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 Networking 1 Utility 4 Configuration 1 Game 9 Pausing 4 Player Management 15 Player Session 10 Server Travel 2 State 1 Travel 7
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 |
See Also
Version History
Introduced in: 4.14
| Version | Status | Notes |
|---|---|---|
| 5.6 | stable | — |
| 5.0 | stable | — |
Feedback
Was this helpful?