RealDocs

APlayerState

class Engine Blueprint Since 4.0
#include "GameFramework/PlayerState.h"

Description

Created for every player on a server (or in a standalone game) and replicated to all clients. Stores network-relevant player data such as name, score, ping, spectator status, and a reference to the controlled pawn.

Caveats & Gotchas

  • PlayerStates are always relevant by default and replicate to every client. In high player-count games, set bShouldUpdateReplicatedPing to false on states where ping display is not needed to reduce network overhead.
  • GetOwningController() returns null on clients for remote players — only the local player's PlayerState has a valid owning controller on the client.
  • APlayerState persists across seamless travel. Override CopyProperties() to carry custom subclass data across level transitions.

Example

Access PlayerState from a Pawn C++
APlayerState* PS = GetPlayerState();
if (PS)
{
	FString Name = PS->GetPlayerName();
	float Score = PS->GetScore();
}

Functions (54)

Lifecycle
8
Access Type Name
public function APlayerState::Destroyed
public function APlayerState::OnDeactivated
public function APlayerState::OnReactivated
public function APlayerState::PostInitializeComponents
public function APlayerState::Reset
public function APlayerState::DispatchCopyProperties
public function APlayerState::DispatchOverrideWith
public function APlayerState::Duplicate
Networking
16
Access Type Name
public function APlayerState::BP_GetUniqueId
public function APlayerState::ClientInitialize
public function APlayerState::GetCompressedPing
public function APlayerState::GetLifetimeReplicatedProps
public function APlayerState::GetPingInMilliseconds
public function APlayerState::OnRep_bIsInactive
public function APlayerState::OnRep_PlayerId
public function APlayerState::OnRep_PlayerName
public function APlayerState::OnRep_Score
public function APlayerState::OnRep_UniqueId
public function APlayerState::RecalculateAvgPing
public function APlayerState::RegisterPlayerWithSession
public function APlayerState::SeamlessTravelTo
public function APlayerState::SetCompressedPing
public function APlayerState::UnregisterPlayerWithSession
public function APlayerState::UpdatePing
Identity
3
Access Type Name
public function APlayerState::GetUniqueId
public function APlayerState::SetUniqueId
public function APlayerState::OnSetUniqueId
Messaging
1
Access Type Name
public function APlayerState::ShouldBroadCastWelcomeMessage
Player Info
10
Access Type Name
public function APlayerState::GetHumanReadableName
public function APlayerState::GetOwningController
public function APlayerState::GetPlayerController
public function APlayerState::GetPlayerName
public function APlayerState::SetPlayerName
public function APlayerState::GetOldPlayerName
public function APlayerState::IsOnlyASpectator
public function APlayerState::GetPlayerNameCustom
public function APlayerState::SetOldPlayerName
public function APlayerState::SetPlayerNameInternal
PlayerState
1
Access Type Name
public function APlayerState::GetPawn
State
15
Access Type Name
public function APlayerState::GetPlayerId
public function APlayerState::GetScore
public function APlayerState::IsABot
public function APlayerState::IsSpectator
public function APlayerState::SetIsSpectator
public function APlayerState::SetScore
public function APlayerState::GetStartTime
public function APlayerState::IsFromPreviousLevel
public function APlayerState::IsInactive
public function APlayerState::SetIsABot
public function APlayerState::SetIsFromPreviousLevel
public function APlayerState::SetIsOnlyASpectator
public function APlayerState::SetPlayerId
public function APlayerState::SetStartTime
public function APlayerState::SetIsInactive

Properties

Access Type Name
public property APlayerState::EngineMessageClass
public property APlayerState::OnPawnSet
public property APlayerState::SavedNetworkAddress

Events & Delegates

Version History

Introduced in: 4.0

Version Status Notes
5.6 stable

Feedback

Was this helpful?

Suggest an edit

Select a field above to begin editing.