CPlayer_MovementServices (client)
Base movement/input component: decoded button input and per-command move intent shared by all player pawns.
CS2 build 25218825 · Steam date 2026-09-09 · platform windows-x86_64 · cs2_schema.json
Kind: classSize: 600 bytes (0x258)Alignment: unspecified (0xff sentinel)Module: clientBinary: client.dll
Relationships
Inherits from: CPlayerPawnComponent
Same name in another module: CPlayer_MovementServices (server)
Derived by: CCSObserver_MovementServices, CPlayer_MovementServices_Humanoid
Used by (1) as a field type
Inheritance tree
CPlayerPawnComponent server
CPlayer_MovementServices (2)
Relationship diagram (4 edges)
classDiagram
CPlayerPawnComponent <|-- CPlayer_MovementServices
CPlayer_MovementServices <|-- CCSObserver_MovementServices
CPlayer_MovementServices <|-- CPlayer_MovementServices_Humanoid
CPlayer_MovementServices *-- CInButtonStateMemory layout
20 fields, 18 declared here and 2 inherited. Offsets are absolute from the object base on windows-x86_64.
CPlayerPawnComponentCPlayer_MovementServices
| Offset | Field | Type | From | Annotations |
|---|---|---|---|---|
0x8 | __m_pChainEntity | CNetworkVarChainer | CPlayerPawnComponent | MNotSaved |
0x30 | m_pComponentGraphController | CAnimGraphControllerPtr | CPlayerPawnComponent | |
0x48 | m_nImpulse | int32 | Pending impulse command number (e.g. impulse 100 flashlight). | |
0x50 | m_nButtons | CInButtonState | Bitmask of currently-pressed input buttons (IN_ATTACK, IN_JUMP, IN_DUCK, …). MNotSaved | |
0x70 | m_nQueuedButtonDownMask | uint64 | ||
0x78 | m_nQueuedButtonChangeMask | uint64 | ||
0x80 | m_nButtonDoublePressed | uint64 | ||
0x88 | m_pButtonPressedCmdNumber | uint32[64] | MNotSaved | |
0x188 | m_nLastCommandNumberProcessed | uint32 | MNotSaved | |
0x190 | m_nToggleButtonDownMask | uint64 | ||
0x1a0 | m_flCmdForwardMove | float32 | ||
0x1a4 | m_flCmdLeftMove | float32 | ||
0x1a8 | m_flCmdUpMove | float32 | ||
0x1ac | m_flMaxspeed | float32 | Current maximum ground movement speed (units/second). | |
0x1b0 | m_arrForceSubtickMoveWhen | float32[4] | ||
0x1c0 | m_flForwardMove | float32 | Decoded forward/back movement axis for the current user command. | |
0x1c4 | m_flLeftMove | float32 | Decoded strafe (left/right) movement axis for the current user command. | |
0x1c8 | m_flUpMove | float32 | Decoded vertical movement axis (swim / ladder) for the current user command. | |
0x1cc | m_vecLastMovementImpulses | Vector | ||
0x240 | m_vecOldViewAngles | QAngle |