Skip to content

CCSObserverPawn

Lightweight pawn used when a player is in spectator mode. Created when the player joins as spectator or dies and has not yet respawned. Overrides the movement and camera services with observer-specific implementations.

CS2 build 25218825 · Steam date 2026-09-09 · platform windows-x86_64 · cs2_schema.json

Kind: classSize: 3424 bytes (0xd60)Alignment: 16 bytesModule: serverBinary: server.dll

Relationships

Inherits from: CCSPlayerPawnBase

Client counterpart: C_CSObserverPawn

Used by (1) as a field type

Inheritance tree
Relationship diagram (5 edges)
classDiagram
    CBaseModelEntity <|-- CBaseAnimGraph
    CBaseAnimGraph <|-- CBaseCombatCharacter
    CBaseCombatCharacter <|-- CBasePlayerPawn
    CBasePlayerPawn <|-- CCSPlayerPawnBase
    CCSPlayerPawnBase <|-- CCSObserverPawn
Inheritance chain, direct subclasses (up to 20) and a few composition edges

Memory layout

193 fields, 0 declared here and 193 inherited. Offsets are absolute from the object base on windows-x86_64.

CEntityInstanceCBaseEntityCBaseModelEntityCBaseAnimGraphCBaseCombatCharacterCBasePlayerPawnCCSPlayerPawnBase

OffsetFieldTypeFromAnnotations
0x8m_iszPrivateVScriptsCUtlSymbolLargeCEntityInstance
0x10m_pEntityCEntityIdentity*CEntityInstanceCEntityIdentity pointer: the entity's identity record (name, class, handle, flags).
0x28m_CScriptComponentCScriptComponent*CEntityInstanceVScript component attached to the entity, when scripted.
0x30m_CBodyComponentCBodyComponent*CBaseEntity
0x38m_NetworkTransmitComponentCNetworkTransmitComponentCBaseEntity
0x248m_aThinkFunctionsCUtlVector< thinkfunc_t >CBaseEntity
0x260m_iCurrentThinkContextint32CBaseEntityMNotSaved
0x264m_nLastThinkTickGameTick_tCBaseEntity
0x268m_bDisabledContextThinksboolCBaseEntity
0x278m_isSteadyStateCTypedBitVec< 64 >CBaseEntityMNotSaved
0x280m_lastNetworkChangefloat32CBaseEntityMNotSaved
0x288m_thinkBASEPTRCBaseEntity
0x290m_ResponseContextsCUtlVector< ResponseContext_t >CBaseEntity
0x2a8m_iszResponseContextCUtlSymbolLargeCBaseEntity
0x2b0m_pfnTouchENTITYFUNCPTRCBaseEntity
0x2b8m_pfnUseUSEPTRCBaseEntity
0x2c0m_pfnBlockedENTITYFUNCPTRCBaseEntity
0x2c8m_pfnMoveDoneBASEPTRCBaseEntity
0x2d0m_iHealthint32CBaseEntityCurrent health points of the entity. Serialised with the 'ClampHealth' encoder so values above max are clamped.
0x2d4m_iMaxHealthint32CBaseEntityMaximum health points; used to normalise health bars in the HUD.
0x2d8m_lifeStateuint8CBaseEntityLIFE_STATE enum: 0 = Alive, 1 = Dying, 2 = Dead, 3 = Respawnable, 4 = Discardbody.
0x2dcm_flDamageAccumulatorfloat32CBaseEntity
0x2e0m_bTakesDamageboolCBaseEntity
0x2e8m_nTakeDamageFlagsTakeDamageFlags_tCBaseEntity
0x2f0m_nPlatformTypeEntityPlatformTypes_tCBaseEntity
0x2f2m_MoveCollideMoveCollide_tCBaseEntity
0x2f3m_MoveTypeMoveType_tCBaseEntity
0x2f4m_nPreviouslySetMoveTypeMoveType_tCBaseEntity
0x2f5m_nActualMoveTypeMoveType_tCBaseEntity
0x2f6m_nWaterTouchuint8CBaseEntityMNotSaved
0x2f7m_nSlimeTouchuint8CBaseEntityMNotSaved
0x2f8m_bRestoreInHierarchyboolCBaseEntity
0x300m_targetCUtlSymbolLargeCBaseEntity
0x308m_hDamageFilterCHandle< CBaseFilter >CBaseEntity
0x310m_iszDamageFilterNameCUtlSymbolLargeCBaseEntity
0x318m_flMoveDoneTimefloat32CBaseEntity
0x31cm_nSubclassIDCUtlStringTokenCBaseEntity
0x328m_flAnimTimefloat32CBaseEntityFloating-point timestamp of the most-recent animation update; used by the client for animation interpolation. MKV3TransferSaveOpsForField GetEngineTimeSaveRestoreOps
0x32cm_flSimulationTimefloat32CBaseEntityFloating-point timestamp of the most-recent physics simulation step; used by the client for position interpolation. MKV3TransferSaveOpsForField GetEngineTimeSaveRestoreOps
0x330m_flCreateTimeGameTime_tCBaseEntity
0x334m_bClientSideRagdollboolCBaseEntity
0x335m_ubInterpolationFrameuint8CBaseEntity
0x338m_vPrevVPhysicsUpdatePosVectorWSCBaseEntity
0x344m_iTeamNumuint8CBaseEntityTeam number: 0 = Unassigned, 1 = Spectator, 2 = Terrorist, 3 = Counter-Terrorist.
0x348m_iGlobalnameCUtlSymbolLargeCBaseEntityMSaveBehavior
0x350m_iSentToClientsint32CBaseEntityMNotSaved
0x358m_sUniqueHammerIDCUtlStringCBaseEntity
0x360m_spawnflagsuint32CBaseEntity
0x364m_nNextThinkTickGameTick_tCBaseEntityServer tick on which the entity's Think() function will next execute (-1 = never).
0x368m_nSimulationTickint32CBaseEntityMKV3TransferSaveOpsForField GetEngineTickSaveRestoreOps
0x370m_OnKilledCEntityIOOutputCBaseEntity
0x388m_fFlagsuint32CBaseEntityEntity flags bitmask (FL_ONGROUND = 1, FL_DUCKING = 4, FL_INWATER = 8, FL_FROZEN = 0x200, etc.).
0x38cm_vecAbsVelocityVectorCBaseEntity
0x398m_vecVelocityCNetworkVelocityVectorCBaseEntityCurrent world-space velocity vector of the entity.
0x3c8m_vecBaseVelocityVectorCBaseEntityAdditional world-space velocity contributed by moving platforms, conveyor belts, etc.
0x3d4m_nPushEnumCountint32CBaseEntityMNotSaved
0x3d8m_pCollisionCCollisionProperty*CBaseEntityMNotSaved
0x3e0m_hEffectEntityCHandle< CBaseEntity >CBaseEntity
0x3e4m_hOwnerEntityCHandle< CBaseEntity >CBaseEntityCHandle to the entity that owns or spawned this entity (e.g. the thrower of a grenade).
0x3e8m_fEffectsuint32CBaseEntityEffect flags bitmask (EF_NODRAW = 32, EF_NORECEIVESHADOW = 64, etc.).
0x3ecm_hGroundEntityCHandle< CBaseEntity >CBaseEntityCHandle to the entity this entity is standing on (INVALID_EHANDLE if airborne).
0x3f0m_nGroundBodyIndexint32CBaseEntity
0x3f4m_flFrictionfloat32CBaseEntitySurface friction multiplier (1.0 = normal; lower values make the entity slide more).
0x3f8m_flElasticityfloat32CBaseEntity
0x3fcm_flGravityScalefloat32CBaseEntityGravity scale multiplier (1.0 = normal; 0 = no gravity).
0x400m_flTimeScalefloat32CBaseEntityTime-scale multiplier applied to this entity's simulation (1.0 = real time; used by bullet time effects).
0x404m_flWaterLevelfloat32CBaseEntity
0x408m_bGravityDisabledboolCBaseEntity
0x409m_bAnimatedEveryTickboolCBaseEntityTrue when the entity's animation must be updated every server tick regardless of network interest.
0x40cm_flActualGravityScalefloat32CBaseEntity
0x410m_bGravityActuallyDisabledboolCBaseEntity
0x411m_bDisableLowViolenceboolCBaseEntity
0x412m_nWaterTypeuint8CBaseEntity
0x414m_iEFlagsint32CBaseEntity
0x418m_OnUser1CEntityIOOutputCBaseEntity
0x430m_OnUser2CEntityIOOutputCBaseEntity
0x448m_OnUser3CEntityIOOutputCBaseEntity
0x460m_OnUser4CEntityIOOutputCBaseEntity
0x478m_iInitialTeamNumint32CBaseEntity
0x47cm_flNavIgnoreUntilTimeGameTime_tCBaseEntity
0x480m_vecAngVelocityQAngleCBaseEntity
0x48cm_bNetworkQuantizeOriginAndAnglesboolCBaseEntity
0x48dm_bLagCompensateboolCBaseEntity
0x490m_pBlockerCHandle< CBaseEntity >CBaseEntity
0x494m_flLocalTimefloat32CBaseEntity
0x498m_flVPhysicsUpdateLocalTimefloat32CBaseEntity
0x49cm_nBloodTypeBloodTypeCBaseEntity
0x4a0m_pPulseGraphInstanceCPulseGraphInstance_ServerEntity*CBaseEntityMKV3TransferSaveOpsForField GetPulseInstanceSaveRestoreOps
0x4a8m_CRenderComponentCRenderComponent*CBaseModelEntityMNotSaved
0x4b0m_CHitboxComponentCHitboxComponentCBaseModelEntity
0x4c8m_pChoreoComponentCChoreoComponent*CBaseModelEntity
0x4d0m_nDestructiblePartInitialStateDestructed0HitGroup_tCBaseModelEntity
0x4d4m_nDestructiblePartInitialStateDestructed1HitGroup_tCBaseModelEntity
0x4d8m_nDestructiblePartInitialStateDestructed2HitGroup_tCBaseModelEntity
0x4dcm_nDestructiblePartInitialStateDestructed3HitGroup_tCBaseModelEntity
0x4e0m_nDestructiblePartInitialStateDestructed4HitGroup_tCBaseModelEntity
0x4e4m_nDestructiblePartInitialStateDestructed0_PartIndexint32CBaseModelEntity
0x4e8m_nDestructiblePartInitialStateDestructed1_PartIndexint32CBaseModelEntity
0x4ecm_nDestructiblePartInitialStateDestructed2_PartIndexint32CBaseModelEntity
0x4f0m_nDestructiblePartInitialStateDestructed3_PartIndexint32CBaseModelEntity
0x4f4m_nDestructiblePartInitialStateDestructed4_PartIndexint32CBaseModelEntity
0x4f8m_bDestructiblePartInitialStateDestructed0_GenerateBreakpiecesboolCBaseModelEntity
0x4f9m_bDestructiblePartInitialStateDestructed1_GenerateBreakpiecesboolCBaseModelEntity
0x4fam_bDestructiblePartInitialStateDestructed2_GenerateBreakpiecesboolCBaseModelEntity
0x4fbm_bDestructiblePartInitialStateDestructed3_GenerateBreakpiecesboolCBaseModelEntity
0x4fcm_bDestructiblePartInitialStateDestructed4_GenerateBreakpiecesboolCBaseModelEntity
0x500m_pDestructiblePartsSystemComponentCDestructiblePartsComponent*CBaseModelEntity
0x508m_OnDestructibleHitGroupDamageLevelChangedCEntityOutputTemplate< CBaseModelEntity::OnDamageLevelChangedArgs_t >CBaseModelEntity
0x530m_flDissolveStartTimeGameTime_tCBaseModelEntity
0x538m_OnIgniteCEntityIOOutputCBaseModelEntity
0x550m_nRenderModeRenderMode_tCBaseModelEntityRenderMode_t enum controlling transparency and rendering method (0 = Normal, 5 = Translucent, etc.).
0x551m_nRenderFXRenderFx_tCBaseModelEntityRenderFx_t enum for special rendering effects (pulsing, fading, hologram, etc.).
0x552m_bAllowFadeInViewboolCBaseModelEntity
0x570m_clrRenderColorCBaseModelEntityRGBA tint colour multiplied onto the entity's diffuse texture.
0x578m_vecRenderAttributesCUtlVectorEmbeddedNetworkVar< EntityRenderAttribute_t >CBaseModelEntity
0x5e0m_bRenderToCubemapsboolCBaseModelEntity
0x5e1m_bNoInterpolateboolCBaseModelEntity
0x5e8m_CollisionCCollisionPropertyCBaseModelEntityCCollisionProperty struct encoding the entity's collision bounding box shape and flags.
0x6a0m_GlowCGlowPropertyCBaseModelEntityCGlowProperty struct controlling the entity's glow outline (colour, radius, visibility rules).
0x6f8m_flGlowBackfaceMultfloat32CBaseModelEntityMultiplier for the glow effect on back-facing surfaces of the model.
0x6fcm_fadeMinDistfloat32CBaseModelEntityMinimum distance (world units) at which the entity starts to fade out.
0x700m_fadeMaxDistfloat32CBaseModelEntityDistance at which the entity is fully faded out and invisible.
0x704m_flFadeScalefloat32CBaseModelEntityScale factor applied to fade distances; 0 disables distance fading.
0x708m_flShadowStrengthfloat32CBaseModelEntityOpacity of this entity's cast shadow (0 = no shadow, 1 = full shadow).
0x70cm_nObjectCullinguint8CBaseModelEntity
0x710m_bodyGroupChoicesCUtlOrderedMap< CGlobalSymbol, int32 >CBaseModelEntity
0x738m_vecViewOffsetCNetworkViewOffsetVectorCBaseModelEntityOffset from the entity origin to the player's view position (eye height).
0x768m_bvDisabledHitGroupsuint32[1]CBaseModelEntityMKV3TransferSaveOpsForField GetHitgroupDisableListSaveRestoreOps
0x770m_graphControllerManagerCAnimGraphControllerManagerCBaseAnimGraph
0x808m_pMainGraphControllerCAnimGraphControllerPtrCBaseAnimGraphThe primary animation-graph controller instance for this entity.
0x810m_bInitiallyPopulateInterpHistoryboolCBaseAnimGraph
0x818m_OnLayerCycleUpdatedCEntityOutputTemplate< float32 >CBaseAnimGraph
0x838m_OnExternalChoreoGraphChangedCEntityIOOutputCBaseAnimGraph
0x850m_pChoreoServicesIChoreoServices*CBaseAnimGraphMKV3TransferSaveOpsForField GetChoreoServicesSaveRestoreOps
0x858m_bAnimGraphUpdateEnabledboolCBaseAnimGraph
0x859m_bAnimationUpdateScheduledboolCBaseAnimGraphMNotSaved
0x85cm_vecForceVectorCBaseAnimGraphMNotSaved
0x868m_nForceBoneint32CBaseAnimGraphMNotSaved
0x878m_pRagdollControlIPhysicsRagdollControl*CBaseAnimGraphMPhysPtr
0x880m_RagdollPosePhysicsRagdollPose_tCBaseAnimGraph
0x8a8m_bRagdollEnabledboolCBaseAnimGraphTrue while the entity is simulated as a ragdoll rather than animated.
0x8a9m_bRagdollClientSideboolCBaseAnimGraphMNotSaved
0x8b0m_xParentedRagdollRootInEntitySpaceCTransformCBaseAnimGraph
0x960m_bForceServerRagdollboolCBaseCombatCharacter
0x968m_hMyWearablesCNetworkUtlVectorBase< CHandle< CEconWearable > >CBaseCombatCharacterHandles to the character's equipped wearable items (gloves, agent model pieces). MNotSaved
0x980m_impactEnergyScalefloat32CBaseCombatCharacterScale applied to impact-damage energy for this character.
0x984m_bApplyStressDamageboolCBaseCombatCharacter
0x985m_bDeathEventsDispatchedboolCBaseCombatCharacter
0x9c8m_vecRelationshipsCUtlVector< RelationshipOverride_t >CBaseCombatCharacter
0x9e0m_strRelationshipsCUtlSymbolLargeCBaseCombatCharacter
0x9e8m_eHullHull_tCBaseCombatCharacter
0x9ecm_nNavHullIdxuint32CBaseCombatCharacter
0x9f0m_movementStatsCMovementStatsPropertyCBaseCombatCharacter
0xa30m_pWeaponServicesCPlayer_WeaponServices*CBasePlayerPawnWeapon-handling component (active weapon, switch timing).
0xa38m_pItemServicesCPlayer_ItemServices*CBasePlayerPawnCarried-item component (defuser, helmet).
0xa40m_pAutoaimServicesCPlayer_AutoaimServices*CBasePlayerPawn
0xa48m_pObserverServicesCPlayer_ObserverServices*CBasePlayerPawnSpectator component, active while the pawn is dead or observing.
0xa50m_pWaterServicesCPlayer_WaterServices*CBasePlayerPawn
0xa58m_pUseServicesCPlayer_UseServices*CBasePlayerPawn
0xa60m_pFlashlightServicesCPlayer_FlashlightServices*CBasePlayerPawn
0xa68m_pCameraServicesCPlayer_CameraServices*CBasePlayerPawnView / camera component.
0xa70m_pMovementServicesCPlayer_MovementServices*CBasePlayerPawnMovement / input component.
0xa80m_ServerViewAngleChangesCUtlVectorEmbeddedNetworkVar< ViewAngleServerChange_t >CBasePlayerPawnMNotSaved
0xae8v_angleQAngleCBasePlayerPawnCurrent view (eye) angles of the pawn.
0xaf4v_anglePreviousQAngleCBasePlayerPawn
0xb00m_iHideHUDuint32CBasePlayerPawn
0xb08m_skybox3dsky3dparams_tCBasePlayerPawn
0xb98m_fTimeLastHurtGameTime_tCBasePlayerPawn
0xb9cm_flDeathTimeGameTime_tCBasePlayerPawn
0xba0m_fNextSuicideTimeGameTime_tCBasePlayerPawnMNotSaved
0xba4m_fInitHUDboolCBasePlayerPawn
0xba8m_pExpresserCAI_Expresser*CBasePlayerPawn
0xbb0m_hControllerCHandle< CBasePlayerController >CBasePlayerPawn
0xbb4m_hDefaultControllerCHandle< CBasePlayerController >CBasePlayerPawn
0xbbcm_fHltvReplayDelayfloat32CBasePlayerPawnMNotSaved
0xbc0m_fHltvReplayEndfloat32CBasePlayerPawnMNotSaved
0xbc4m_iHltvReplayEntityCEntityIndexCBasePlayerPawnMNotSaved
0xbc8m_sndOpvarLatchDataCUtlVector< sndopvarlatchdata_t >CBasePlayerPawn
0xbf0m_CTouchExpansionComponentCTouchExpansionComponentCCSPlayerPawnBase
0xc40m_pPingServicesCCSPlayer_PingServices*CCSPlayerPawnBasePointer to CCSPlayer_PingServices managing the in-game map-ping system.
0xc48m_blindUntilTimeGameTime_tCCSPlayerPawnBase
0xc4cm_blindStartTimeGameTime_tCCSPlayerPawnBase
0xc50m_iPlayerStateCSPlayerStateCCSPlayerPawnBaseCSPlayerState enum: STATE_ACTIVE = 0 (alive), STATE_WELCOME = 1, STATE_PICKINGTEAM = 2, STATE_PICKINGCLASS = 3, STATE_DEATH_ANIM = 4, STATE_DEATH_WAIT_FOR_KEY = 5, STATE_OBSERVER_MODE = 6.
0xd00m_bRespawningboolCCSPlayerPawnBase
0xd01m_bHasMovedSinceSpawnboolCCSPlayerPawnBaseTrue once the player moves after spawning; prevents accidental movement-triggered events.
0xd04m_iNumSpawnsint32CCSPlayerPawnBase
0xd0cm_flIdleTimeSinceLastActionfloat32CCSPlayerPawnBase
0xd10m_fNextRadarUpdateTimefloat32CCSPlayerPawnBase
0xd14m_flFlashDurationfloat32CCSPlayerPawnBaseTotal duration in seconds of the current flash-bang blind effect (0 when not flashed).
0xd18m_flFlashMaxAlphafloat32CCSPlayerPawnBasePeak screen-overlay alpha (0–255) of the current flash bang; scales with proximity and facing angle.
0xd1cm_flProgressBarStartTimefloat32CCSPlayerPawnBaseGameTime at which the current progress bar (defuse/pickup) started.
0xd20m_iProgressBarDurationint32CCSPlayerPawnBaseDuration in seconds of the current progress bar interaction.
0xd24m_hOriginalControllerCHandle< CCSPlayerController >CCSPlayerPawnBaseCHandle back to the CCSPlayerController that owns this pawn, even when a bot has taken over.