UPawnMovementComponent > UNavMovementComponent > UMovementComponent > UActorComponent > UObject
CharacterMovementComponent handles movement logic for the associated Character owner. It supports various movement modes including: walking, falling, swimming, flying, custom. Movement is affected primarily by current Velocity and Acceleration. Acceleration is updated each frame based on the input vector accumulated thus far (see UPawnMovementComponent::GetPendingInputVector()). Networking is fully implemented, with server-client correction and prediction included.
Member | Type | Offset | Share |
---|---|---|---|
CharacterOwner
Character movement component belongs to |
ACharacter* | 0x148 | |
GravityScale
Custom gravity scale. Gravity is multiplied by this amount for the character. |
float | 0x150 | |
MaxStepHeight
Maximum height character can step up |
float | 0x154 | |
JumpZVelocity
Initial velocity (instantaneous vertical acceleration) when jumping. |
float | 0x158 | |
JumpOffJumpZFactor
Fraction of JumpZVelocity to use when automatically "jumping off" of a base actor that's not allowed to be a base for a character. |
float | 0x15c | |
WalkableFloorAngle | float | 0x160 | |
WalkableFloorZ | float | 0x164 | |
MovementMode
Actor's current movement mode (walking, falling, etc). |
EMovementMode | 0x168 | |
CustomMovementMode
Current custom sub-mode if MovementMode is set to Custom. |
char | 0x169 | |
NetworkSmoothingMode
Smoothing mode for simulated proxies in network game. |
ENetworkSmoothingMode | 0x16a | |
GroundFriction
Setting that affects movement control. |
float | 0x16c | |
MaxWalkSpeed
The maximum ground speed when walking. Also determines maximum lateral speed when falling. |
float | 0x18c | |
MaxWalkSpeedCrouched
The maximum ground speed when walking and crouched. |
float | 0x190 | |
MaxSwimSpeed
The maximum swimming speed. |
float | 0x194 | |
MaxFlySpeed
The maximum flying speed. |
float | 0x198 | |
MaxCustomMovementSpeed
The maximum speed when using Custom movement mode. |
float | 0x19c | |
MaxAcceleration
Max Acceleration (rate of change of velocity) |
float | 0x1a0 | |
MinAnalogWalkSpeed
The ground speed that we should accelerate up to when walking at minimum analog stick tilt |
float | 0x1a4 | |
BrakingFrictionFactor
Factor used to multiply actual value of friction used when braking. |
float | 0x1a8 | |
BrakingFriction
Friction (drag) coefficient applied when braking (whenever Acceleration = 0, or if character is exceeding max speed); actual value used is this multiplied by BrakingFrictionFactor. |
float | 0x1ac | |
BrakingSubStepTime
Time substepping when applying braking friction. |
float | 0x1b0 | |
BrakingDecelerationWalking
Deceleration when walking and not applying acceleration. |
float | 0x1b4 | |
BrakingDecelerationFalling
Lateral deceleration when falling and not applying acceleration. |
float | 0x1b8 | |
BrakingDecelerationSwimming
Deceleration when swimming and not applying acceleration. |
float | 0x1bc | |
BrakingDecelerationFlying
Deceleration when flying and not applying acceleration. |
float | 0x1c0 | |
AirControl
When falling, amount of lateral movement control available to the character. |
float | 0x1c4 | |
AirControlBoostMultiplier
When falling, multiplier applied to AirControl when lateral velocity is less than AirControlBoostVelocityThreshold. |
float | 0x1c8 | |
AirControlBoostVelocityThreshold
When falling, if lateral velocity magnitude is less than this value, AirControl is multiplied by AirControlBoostMultiplier. |
float | 0x1cc | |
FallingLateralFriction
Friction to apply to lateral air movement when falling. |
float | 0x1d0 | |
CrouchedHalfHeight
Collision half-height when crouching (component scale is applied separately) |
float | 0x1d4 | |
Buoyancy
Water buoyancy. A ratio (1.0 = neutral buoyancy, 0.0 = no buoyancy) |
float | 0x1d8 | |
PerchRadiusThreshold
Don't allow the character to perch on the edge of a surface if the contact is this close to the edge of the capsule. |
float | 0x1dc | |
PerchAdditionalHeight
When perching on a ledge, add this additional distance to MaxStepHeight when determining how high above a walkable floor we can perch. |
float | 0x1e0 | |
RotationRate
Change in rotation per second, used when UseControllerDesiredRotation or OrientRotationToMovement are true. |
FRotator | 0x1e4 | |
bUseSeparateBrakingFriction : 1 | char | 0x1f0 | |
bApplyGravityWhileJumping : 1 | char | 0x1f0 | |
bUseControllerDesiredRotation : 1 | char | 0x1f0 | |
bOrientRotationToMovement : 1 | char | 0x1f0 | |
bSweepWhileNavWalking : 1 | char | 0x1f0 | |
bMovementInProgress : 1 | char | 0x1f0 | |
bEnableScopedMovementUpdates : 1 | char | 0x1f0 | |
bEnableServerDualMoveScopedMovementUpdates : 1 | char | 0x1f1 | |
bForceMaxAccel : 1 | char | 0x1f1 | |
bRunPhysicsWithNoController : 1 | char | 0x1f1 | |
bForceNextFloorCheck : 1 | char | 0x1f1 | |
bShrinkProxyCapsule : 1 | char | 0x1f1 | |
bCanWalkOffLedges : 1 | char | 0x1f1 | |
bCanWalkOffLedgesWhenCrouching : 1 | char | 0x1f1 | |
bNetworkSkipProxyPredictionOnNetUpdate : 1 | char | 0x1f2 | |
bNetworkAlwaysReplicateTransformUpdateTimestamp : 1 | char | 0x1f2 | |
bDeferUpdateMoveComponent : 1 | char | 0x1f2 | |
bEnablePhysicsInteraction : 1 | char | 0x1f2 | |
bTouchForceScaledToMass : 1 | char | 0x1f2 | |
bPushForceScaledToMass : 1 | char | 0x1f2 | |
bPushForceUsingZOffset : 1 | char | 0x1f2 | |
bScalePushForceToVelocity : 1 | char | 0x1f3 | |
DeferredUpdatedMoveComponent
What to update CharacterOwner and UpdatedComponent after movement ends |
USceneComponent* | 0x1f8 | |
MaxOutOfWaterStepHeight
Maximum step height for getting out of water |
float | 0x200 | |
OutofWaterZ
Z velocity applied when pawn tries to get out of water |
float | 0x204 | |
Mass
Mass of pawn (for when momentum is imparted to it). |
float | 0x208 | |
StandingDownwardForceScale
Force applied to objects we stand on (due to Mass and Gravity) is scaled by this amount. |
float | 0x20c | |
InitialPushForceFactor
Initial impulse force to apply when the player bounces into a blocking physics object. |
float | 0x210 | |
PushForceFactor
Force to apply when the player collides with a blocking physics object. |
float | 0x214 | |
PushForcePointZOffsetFactor
Z-Offset for the position the force is applied to. |
float | 0x218 | |
TouchForceFactor
Force to apply to physics objects that are touched by the player. |
float | 0x21c | |
MinTouchForce
Minimum Force applied to touched physics objects. If < 0.0f, there is no minimum. |
float | 0x220 | |
MaxTouchForce
Maximum force applied to touched physics objects. If < 0.0f, there is no maximum. |
float | 0x224 | |
RepulsionForce
Force per kg applied constantly to all overlapping components. |
float | 0x228 | |
Acceleration
Current acceleration vector (with magnitude). |
FVector | 0x22c | |
LastUpdateRotation
Rotation after last PerformMovement or SimulateMovement update. |
FQuat | 0x240 | |
LastUpdateLocation
Location after last PerformMovement or SimulateMovement update. |
FVector | 0x250 | |
LastUpdateVelocity
Velocity after last PerformMovement or SimulateMovement update. |
FVector | 0x25c | |
ServerLastTransformUpdateTimeStamp
Timestamp when location or rotation last changed during an update. Only valid on the server. |
float | 0x268 | |
ServerLastClientGoodMoveAckTime
Timestamp of last client adjustment sent. See NetworkMinTimeBetweenClientAdjustments. |
float | 0x26c | |
ServerLastClientAdjustmentTime
Timestamp of last client adjustment sent. See NetworkMinTimeBetweenClientAdjustments. |
float | 0x270 | |
PendingImpulseToApply
Accumulated impulse to be added next tick. |
FVector | 0x274 | |
PendingForceToApply
Accumulated force to be added next tick. |
FVector | 0x280 | |
AnalogInputModifier
Modifier to applied to values such as acceleration and max speed due to analog input. |
float | 0x28c | |
MaxSimulationTimeStep
Max time delta for each discrete simulation step. |
float | 0x29c | |
MaxSimulationIterations
Max number of iterations used for each discrete simulation step. |
int32_t | 0x2a0 | |
MaxJumpApexAttemptsPerSimulation
Max number of attempts per simulation to attempt to exactly reach the jump apex when falling movement reaches the top of the arc. |
int32_t | 0x2a4 | |
MaxDepenetrationWithGeometry
Max distance we allow simulated proxies to depenetrate when moving out of anything but Pawns. |
float | 0x2a8 | |
MaxDepenetrationWithGeometryAsProxy
Max distance we allow simulated proxies to depenetrate when moving out of anything but Pawns. |
float | 0x2ac | |
MaxDepenetrationWithPawn
Max distance we are allowed to depenetrate when moving out of other Pawns. |
float | 0x2b0 | |
MaxDepenetrationWithPawnAsProxy
Max distance we allow simulated proxies to depenetrate when moving out of other Pawns. |
float | 0x2b4 | |
NetworkSimulatedSmoothLocationTime
How long to take to smoothly interpolate from the old pawn position on the client to the corrected one sent by the server. |
float | 0x2b8 | |
NetworkSimulatedSmoothRotationTime
How long to take to smoothly interpolate from the old pawn rotation on the client to the corrected one sent by the server. |
float | 0x2bc | |
ListenServerNetworkSimulatedSmoothLocationTime
Similar setting as NetworkSimulatedSmoothLocationTime but only used on Listen servers. |
float | 0x2c0 | |
ListenServerNetworkSimulatedSmoothRotationTime
Similar setting as NetworkSimulatedSmoothRotationTime but only used on Listen servers. |
float | 0x2c4 | |
NetProxyShrinkRadius
Shrink simulated proxy capsule radius by this amount, to account for network rounding that may cause encroachment. |
float | 0x2c8 | |
NetProxyShrinkHalfHeight
Shrink simulated proxy capsule half height by this amount, to account for network rounding that may cause encroachment. |
float | 0x2cc | |
NetworkMaxSmoothUpdateDistance
Maximum distance character is allowed to lag behind server location when interpolating between updates. |
float | 0x2d0 | |
NetworkNoSmoothUpdateDistance
Maximum distance beyond which character is teleported to the new server location without any smoothing. |
float | 0x2d4 | |
NetworkMinTimeBetweenClientAckGoodMoves
Minimum time on the server between acknowledging good client moves. |
float | 0x2d8 | |
NetworkMinTimeBetweenClientAdjustments
Minimum time on the server between sending client adjustments when client has exceeded allowable position error. |
float | 0x2dc | |
NetworkMinTimeBetweenClientAdjustmentsLargeCorrection
Minimum time on the server between sending client adjustments when client has exceeded allowable position error by a large amount (NetworkLargeClientCorrectionDistance). |
float | 0x2e0 | |
NetworkLargeClientCorrectionDistance
If client error is larger than this, sets bNetworkLargeClientCorrection to reduce delay between client adjustments. |
float | 0x2e4 | |
LedgeCheckThreshold
Used in determining if pawn is going off ledge. |
float | 0x2e8 | |
JumpOutOfWaterPitch
When exiting water, jump if control pitch angle is this high or above. |
float | 0x2ec | |
CurrentFloor
Information about the floor the Character is standing on (updated only during walking movement). |
FFindFloorResult | 0x2f0 | |
DefaultLandMovementMode
Default movement mode when not in water. Used at player startup or when teleported. |
EMovementMode | 0x384 | |
DefaultWaterMovementMode
Default movement mode when in water. Used at player startup or when teleported. |
EMovementMode | 0x385 | |
GroundMovementMode | EMovementMode | 0x386 | |
bMaintainHorizontalGroundVelocity : 1 | char | 0x387 | |
bImpartBaseVelocityX : 1 | char | 0x387 | |
bImpartBaseVelocityY : 1 | char | 0x387 | |
bImpartBaseVelocityZ : 1 | char | 0x387 | |
bImpartBaseAngularVelocity : 1 | char | 0x387 | |
bJustTeleported : 1 | char | 0x387 | |
bNetworkUpdateReceived : 1 | char | 0x387 | |
bNetworkMovementModeChanged : 1 | char | 0x387 | |
bIgnoreClientMovementErrorChecksAndCorrection : 1 | char | 0x388 | |
bServerAcceptClientAuthoritativePosition : 1 | char | 0x388 | |
bNotifyApex : 1 | char | 0x388 | |
bCheatFlying : 1 | char | 0x388 | |
bWantsToCrouch : 1 | char | 0x388 | |
bCrouchMaintainsBaseLocation : 1 | char | 0x388 | |
bIgnoreBaseRotation : 1 | char | 0x388 | |
bFastAttachedMove : 1 | char | 0x388 | |
bAlwaysCheckFloor : 1 | char | 0x389 | |
bUseFlatBaseForFloorChecks : 1 | char | 0x389 | |
bPerformingJumpOff : 1 | char | 0x389 | |
bWantsToLeaveNavWalking : 1 | char | 0x389 | |
bUseRVOAvoidance : 1 | char | 0x389 | |
bRequestedMoveUseAcceleration : 1 | char | 0x389 | |
bWasSimulatingRootMotion : 1 | char | 0x389 | |
bAllowPhysicsRotationDuringAnimRootMotion : 1 | char | 0x38a | |
bHasRequestedVelocity : 1 | char | 0x38a | |
bRequestedMoveWithMaxSpeed : 1 | char | 0x38a | |
bWasAvoidanceUpdated : 1 | char | 0x38a | |
bProjectNavMeshWalking : 1 | char | 0x38a | |
bProjectNavMeshOnBothWorldChannels : 1 | char | 0x38a | |
AvoidanceConsiderationRadius | float | 0x39c | |
RequestedVelocity
Velocity requested by path following. |
FVector | 0x3a0 | |
AvoidanceUID
No default value, for now it's assumed to be valid if GetAvoidanceManager() returns non-NULL. |
int32_t | 0x3ac | |
AvoidanceGroup
Moving actor's group mask |
FNavAvoidanceMask | 0x3b0 | |
GroupsToAvoid
Will avoid other agents if they are in one of specified groups |
FNavAvoidanceMask | 0x3b4 | |
GroupsToIgnore
Will NOT avoid other agents if they are in one of specified groups, higher priority than GroupsToAvoid |
FNavAvoidanceMask | 0x3b8 | |
AvoidanceWeight
De facto default value 0.5 (due to that being the default in the avoidance registration function), indicates RVO behavior. |
float | 0x3bc | |
PendingLaunchVelocity
Temporarily holds launch velocity when pawn is to be launched so it happens at end of movement. |
FVector | 0x3c0 | |
NavMeshProjectionInterval
How often we should raycast to project from navmesh to underlying geometry |
float | 0x470 | |
NavMeshProjectionTimer | float | 0x474 | |
NavMeshProjectionInterpSpeed
Speed at which to interpolate agent navmesh offset between traces. |
float | 0x478 | |
NavMeshProjectionHeightScaleUp
Scale of the total capsule height to use for projection from navmesh to underlying geometry in the upward direction. |
float | 0x47c | |
NavMeshProjectionHeightScaleDown
Scale of the total capsule height to use for projection from navmesh to underlying geometry in the downward direction. |
float | 0x480 | |
NavWalkingFloorDistTolerance
Ignore small differences in ground height between server and client data during NavWalking mode |
float | 0x484 | |
PostPhysicsTickFunction
Post-physics tick function for this character |
FCharacterMovementComponentPostPhysicsTickFunction | 0x488 | |
MinTimeBetweenTimeStampResets
Minimum time between client TimeStamp resets. |
float | 0x4d0 | |
CurrentRootMotion
Root Motion Group containing active root motion sources being applied to movement |
FRootMotionSourceGroup | 0x4d8 | |
RootMotionParams
Animation root motion (special case for now)Root Motion movement params. |
FRootMotionMovementParams | 0x5a0 | |
AnimRootMotionVelocity
Velocity extracted from RootMotionParams when there is anim root motion active. |
FVector | 0x5e0 |