Skip to content

CBaseEntity

Root entity class in Source 2 from which all server-side entities derive. Provides health, team, physics, timing, and transmit state.

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

Kind: classSize: 1192 bytes (0x4a8)Alignment: 8 bytesModule: serverBinary: server.dll

Relationships

Inherits from: CEntityInstance

Client counterpart: C_BaseEntity

Derived by (74)

Used by (50 of 107) as a field type

Inheritance tree
Relationship diagram (31 edges)
classDiagram
    CEntityInstance <|-- CBaseEntity
    CBaseEntity <|-- CAI_ChangeHintGroup
    CBaseEntity <|-- CBaseModelEntity
    CBaseEntity <|-- CBasePlayerController
    CBaseEntity <|-- CCitadelSoundOpvarSetOBB
    CBaseEntity <|-- CColorCorrection
    CBaseEntity <|-- CCommentaryAuto
    CBaseEntity <|-- CCSCustomHudLayout
    CBaseEntity <|-- CCSCustomPlayerCamera
    CBaseEntity <|-- CCSGO_EndOfMatchLineupEndpoint
    CBaseEntity <|-- CCSGO_TeamPreviewCharacterPosition
    CBaseEntity <|-- CCSMinimapBoundary
    CBaseEntity <|-- CCSPetPlacement
    CBaseEntity <|-- CCSPlayerResource
    CBaseEntity <|-- CCSPointScriptEntity
    CBaseEntity <|-- CDebugHistory
    CBaseEntity <|-- CEnableMotionFixup
    CBaseEntity <|-- CEntityFlame
    CBaseEntity <|-- CEnvBeverage
    CBaseEntity <|-- CEnvCombinedLightProbeVolume
    CBaseEntity <|-- CEnvCubemap
    CBaseEntity --> CBodyComponent
    CBaseEntity *-- CNetworkTransmitComponent
    CBaseEntity *-- GameTick_t
    CBaseEntity *-- ResponseContext_t
    CBaseEntity --> CBaseFilter
    CBaseEntity *-- GameTime_t
    CBaseEntity *-- CEntityIOOutput
    CBaseEntity *-- CNetworkVelocityVector
    CBaseEntity --> CCollisionProperty
    CBaseEntity --> CPulseGraphInstance_ServerEntity
Inheritance chain, direct subclasses (up to 20) and a few composition edges

Memory layout

88 fields, 85 declared here and 3 inherited. Offsets are absolute from the object base on windows-x86_64.

CEntityInstanceCBaseEntity

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*
0x38m_NetworkTransmitComponentCNetworkTransmitComponent
0x248m_aThinkFunctionsCUtlVector< thinkfunc_t >
0x260m_iCurrentThinkContextint32MNotSaved
0x264m_nLastThinkTickGameTick_t
0x268m_bDisabledContextThinksbool
0x278m_isSteadyStateCTypedBitVec< 64 >MNotSaved
0x280m_lastNetworkChangefloat32MNotSaved
0x288m_thinkBASEPTR
0x290m_ResponseContextsCUtlVector< ResponseContext_t >
0x2a8m_iszResponseContextCUtlSymbolLarge
0x2b0m_pfnTouchENTITYFUNCPTR
0x2b8m_pfnUseUSEPTR
0x2c0m_pfnBlockedENTITYFUNCPTR
0x2c8m_pfnMoveDoneBASEPTR
0x2d0m_iHealthint32Current health points of the entity. Serialised with the 'ClampHealth' encoder so values above max are clamped.
0x2d4m_iMaxHealthint32Maximum health points; used to normalise health bars in the HUD.
0x2d8m_lifeStateuint8LIFE_STATE enum: 0 = Alive, 1 = Dying, 2 = Dead, 3 = Respawnable, 4 = Discardbody.
0x2dcm_flDamageAccumulatorfloat32
0x2e0m_bTakesDamagebool
0x2e8m_nTakeDamageFlagsTakeDamageFlags_t
0x2f0m_nPlatformTypeEntityPlatformTypes_t
0x2f2m_MoveCollideMoveCollide_t
0x2f3m_MoveTypeMoveType_t
0x2f4m_nPreviouslySetMoveTypeMoveType_t
0x2f5m_nActualMoveTypeMoveType_t
0x2f6m_nWaterTouchuint8MNotSaved
0x2f7m_nSlimeTouchuint8MNotSaved
0x2f8m_bRestoreInHierarchybool
0x300m_targetCUtlSymbolLarge
0x308m_hDamageFilterCHandle< CBaseFilter >
0x310m_iszDamageFilterNameCUtlSymbolLarge
0x318m_flMoveDoneTimefloat32
0x31cm_nSubclassIDCUtlStringToken
0x328m_flAnimTimefloat32Floating-point timestamp of the most-recent animation update; used by the client for animation interpolation. MKV3TransferSaveOpsForField GetEngineTimeSaveRestoreOps
0x32cm_flSimulationTimefloat32Floating-point timestamp of the most-recent physics simulation step; used by the client for position interpolation. MKV3TransferSaveOpsForField GetEngineTimeSaveRestoreOps
0x330m_flCreateTimeGameTime_t
0x334m_bClientSideRagdollbool
0x335m_ubInterpolationFrameuint8
0x338m_vPrevVPhysicsUpdatePosVectorWS
0x344m_iTeamNumuint8Team number: 0 = Unassigned, 1 = Spectator, 2 = Terrorist, 3 = Counter-Terrorist.
0x348m_iGlobalnameCUtlSymbolLargeMSaveBehavior
0x350m_iSentToClientsint32MNotSaved
0x358m_sUniqueHammerIDCUtlString
0x360m_spawnflagsuint32
0x364m_nNextThinkTickGameTick_tServer tick on which the entity's Think() function will next execute (-1 = never).
0x368m_nSimulationTickint32MKV3TransferSaveOpsForField GetEngineTickSaveRestoreOps
0x370m_OnKilledCEntityIOOutput
0x388m_fFlagsuint32Entity flags bitmask (FL_ONGROUND = 1, FL_DUCKING = 4, FL_INWATER = 8, FL_FROZEN = 0x200, etc.).
0x38cm_vecAbsVelocityVector
0x398m_vecVelocityCNetworkVelocityVectorCurrent world-space velocity vector of the entity.
0x3c8m_vecBaseVelocityVectorAdditional world-space velocity contributed by moving platforms, conveyor belts, etc.
0x3d4m_nPushEnumCountint32MNotSaved
0x3d8m_pCollisionCCollisionProperty*MNotSaved
0x3e0m_hEffectEntityCHandle< CBaseEntity >
0x3e4m_hOwnerEntityCHandle< CBaseEntity >CHandle to the entity that owns or spawned this entity (e.g. the thrower of a grenade).
0x3e8m_fEffectsuint32Effect flags bitmask (EF_NODRAW = 32, EF_NORECEIVESHADOW = 64, etc.).
0x3ecm_hGroundEntityCHandle< CBaseEntity >CHandle to the entity this entity is standing on (INVALID_EHANDLE if airborne).
0x3f0m_nGroundBodyIndexint32
0x3f4m_flFrictionfloat32Surface friction multiplier (1.0 = normal; lower values make the entity slide more).
0x3f8m_flElasticityfloat32
0x3fcm_flGravityScalefloat32Gravity scale multiplier (1.0 = normal; 0 = no gravity).
0x400m_flTimeScalefloat32Time-scale multiplier applied to this entity's simulation (1.0 = real time; used by bullet time effects).
0x404m_flWaterLevelfloat32
0x408m_bGravityDisabledbool
0x409m_bAnimatedEveryTickboolTrue when the entity's animation must be updated every server tick regardless of network interest.
0x40cm_flActualGravityScalefloat32
0x410m_bGravityActuallyDisabledbool
0x411m_bDisableLowViolencebool
0x412m_nWaterTypeuint8
0x414m_iEFlagsint32
0x418m_OnUser1CEntityIOOutput
0x430m_OnUser2CEntityIOOutput
0x448m_OnUser3CEntityIOOutput
0x460m_OnUser4CEntityIOOutput
0x478m_iInitialTeamNumint32
0x47cm_flNavIgnoreUntilTimeGameTime_t
0x480m_vecAngVelocityQAngle
0x48cm_bNetworkQuantizeOriginAndAnglesbool
0x48dm_bLagCompensatebool
0x490m_pBlockerCHandle< CBaseEntity >
0x494m_flLocalTimefloat32
0x498m_flVPhysicsUpdateLocalTimefloat32
0x49cm_nBloodTypeBloodType
0x4a0m_pPulseGraphInstanceCPulseGraphInstance_ServerEntity*MKV3TransferSaveOpsForField GetPulseInstanceSaveRestoreOps