AController > AActor > UObject
PlayerControllers are used by human players to control Pawns. ControlRotation (accessed via GetControlRotation()), determines the aiming orientation of the controlled Pawn. In networked games, PlayerControllers exist on the server for every player-controlled pawn, and also on the controlling client's machine. They do NOT exist on a client's machine for pawns controlled by remote players elsewhere on the network.
Member | Type | Offset | Share |
---|---|---|---|
Player
UPlayer associated with this PlayerController. |
UPlayer* | 0x298 | |
AcknowledgedPawn
Used in net games so client can acknowledge it possessed a specific pawn. |
APawn* | 0x2a0 | |
ControllingDirTrackInst
Director track that's currently possessing this player controller, or none if not possessed. |
UInterpTrackInstDirector* | 0x2a8 | |
MyHUD
Heads up display associated with this PlayerController. |
AHUD* | 0x2b0 | |
PlayerCameraManager
Camera/view related variables Camera manager associated with this Player Controller. |
APlayerCameraManager* | 0x2b8 | |
PlayerCameraManagerClass
PlayerCamera class should be set for each game, otherwise Engine.PlayerCameraManager is used |
APlayerCameraManager* | 0x2c0 | |
bAutoManageActiveCameraTarget
True to allow this player controller to manage the camera target for you, typically by using the possessed pawn as the camera target. |
bool | 0x2c8 | |
TargetViewRotation
Used to replicate the view rotation of targets not owned/possessed by this PlayerController. |
FRotator | 0x2cc | |
SmoothTargetViewRotationSpeed
Interp speed for blending remote view rotation for smoother client updates |
float | 0x2e4 | |
HiddenActors
The actors which the camera shouldn't see - e.g. used to hide actors which the camera penetrates |
TArray<AActor*> | 0x2f0 | |
HiddenPrimitiveComponents
Explicit components the camera shouldn't see (helpful for external systems to hide a component from a single player) |
TArray<TWeakObjectPtr<UPrimitiveComponent>> | 0x300 | |
LastSpectatorStateSynchTime
Used to make sure the client is kept synchronized when in a spectator state |
float | 0x314 | |
LastSpectatorSyncLocation
Last location synced on the server for a spectator. |
FVector | 0x318 | |
LastSpectatorSyncRotation
Last rotation synced on the server for a spectator. |
FRotator | 0x324 | |
ClientCap
Cap set by server on bandwidth from client to server in bytes/sec (only has impact if >=2600) |
int32_t | 0x330 | |
CheatManager
Object that manages "cheat" commands. |
UCheatManager* | 0x338 | |
CheatClass
Class of my CheatManager. |
UCheatManager* | 0x340 | |
PlayerInput
Object that manages player input. |
UPlayerInput* | 0x348 | |
ActiveForceFeedbackEffects | TArray<FActiveForceFeedbackEffect> | 0x350 | |
bPlayerIsWaiting : 1 | char | 0x3d0 | |
NetPlayerIndex
Index identifying players using the same base connection (splitscreen clients) Used by netcode to match replicated PlayerControllers to the correct splitscreen viewport and child connection replicated via special internal code, not through normal variable replication |
char | 0x3d4 | |
PendingSwapConnection
This is set on the OLD PlayerController when performing a swap over a network connection so we know what connection we're waiting on acknowledgment from to finish destroying this PC (or when the connection is closed) |
UNetConnection* | 0x410 | |
NetConnection
The net connection this controller is communicating on, nullptr for local players on server |
UNetConnection* | 0x418 | |
InputYawScale
Yaw input speed scaling |
float | 0x42c | |
InputPitchScale
Pitch input speed scaling |
float | 0x430 | |
InputRollScale
Roll input speed scaling |
float | 0x434 | |
bShowMouseCursor : 1 | char | 0x438 | |
bEnableClickEvents : 1 | char | 0x438 | |
bEnableTouchEvents : 1 | char | 0x438 | |
bEnableMouseOverEvents : 1 | char | 0x438 | |
bEnableTouchOverEvents : 1 | char | 0x438 | |
bForceFeedbackEnabled : 1 | char | 0x438 | |
ForceFeedbackScale
Scale applied to force feedback values |
float | 0x43c | |
ClickEventKeys
List of keys that will cause click events to be forwarded, default to left click |
TArray<FKey> | 0x440 | |
DefaultMouseCursor
Type of mouse cursor to show by default |
EMouseCursor | 0x450 | |
CurrentMouseCursor
Currently visible mouse cursor |
EMouseCursor | 0x451 | |
DefaultClickTraceChannel
Default trace channel used for determining what world object was clicked on. |
ECollisionChannel | 0x452 | |
CurrentClickTraceChannel
Trace channel currently being used for determining what world object was clicked on. |
ECollisionChannel | 0x453 | |
HitResultTraceDistance
Distance to trace when computing click events |
float | 0x454 | |
SeamlessTravelCount
Counter for this players seamless travels (used along with the below value, to restrict ServerNotifyLoadedWorld) |
uint16_t | 0x458 | |
LastCompletedSeamlessTravelCount
The value of SeamlessTravelCount, upon the last call to GameModeBase::HandleSeamlessTravelPlayer; used to detect seamless travel |
uint16_t | 0x45a | |
InactiveStateInputComponent
InputComponent we use when player is in Inactive state. |
UInputComponent* | 0x4d0 | |
bShouldPerformFullTickWhenPaused : 1 | char | 0x4d8 | |
CurrentTouchInterface
The currently set touch interface |
UTouchInterface* | 0x4f0 | |
SpectatorPawn | ASpectatorPawn* | 0x548 | |
bIsLocalPlayerController | bool | 0x554 | |
SpawnLocation
The location used internally when there is no pawn or spectator, to know where to spawn the spectator or focus the camera on death. |
FVector | 0x558 |