Skip to content

Schemas

3781 class records (twins counted separately: a name registered in both client and server is two records) and 612 enums across 47 modules. The Windows build walks the shipped runtime binaries and the Windows-only tool binaries (hammer, resourcecompiler, modeldoc_editor, worldrenderer and the rest of the table below), so this is a superset of what a running client or server loads, not the runtime alone.

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

Modules

ModuleClassesEnumsBinariesWhat it holds
animationsystem tree477!GlobalTypesSkeletons, sequences, pose parameters and the animation runtime.
animdoclib tree19712!GlobalTypes
animgraphdoclib tree15814!GlobalTypes
animgraphlib tree24357!GlobalTypes, animationsystem.dllAnimation graph nodes, tags, parameters and their runtime state.
animlib tree18037!GlobalTypesLower-level animation containers shared by the animation runtime and the tools.
client tree4883!GlobalTypes, client.dllClient-side entity representations. Names are usually the server class prefixed with C_, and offsets differ from the server twin.
compositematerialslib tree107!GlobalTypes
engine2 tree420!GlobalTypesEngine-level types shared by every subsystem, including the entity system host and networked scene state.
entity2 tree162!GlobalTypes, assetrename.dllThe entity system itself: instance identity, entity handles, components and the base classes both client and server build on.
hammer tree73!GlobalTypesLevel editor types. Tool-side only, with no runtime counterpart.
host tree20!GlobalTypes
mapdoclib tree30!GlobalTypes
materialsystem2 tree155!GlobalTypesMaterial and shader parameter types.
mathlib_extended tree112!GlobalTypesMath primitives beyond the built-in vector and matrix types.
met tree30!GlobalTypes
modeldoc_editor tree31!GlobalTypes
modellib tree11426!GlobalTypesModel, mesh and material group data as it exists at runtime.
modtools tree20!GlobalTypes
navlib tree143!GlobalTypes
networksystem tree10!GlobalTypesNetworking primitives: channels, message routing and the transport-facing types.
panorama_content tree02!GlobalTypes
particles tree43473!GlobalTypesParticle system operators, initializers, renderers and their parameter blocks.
particleslib tree2118!GlobalTypes, animationsystem.dllShared particle definitions used by both the runtime and the tools.
physicslib tree994!GlobalTypesPhysics shapes, aggregates and collision attributes.
pulse_runtime_lib tree9811!GlobalTypes, animationsystem.dllPulse graph runtime: cells, instructions and the values that flow between them.
pulse_system tree384!GlobalTypes, pulse_system.dllPulse graph definitions and the descriptor types the runtime instantiates.
pulsedoc_lib tree31!GlobalTypes
qcontrols tree015!GlobalTypes
rendersystemdx11 tree43!GlobalTypes
resourcecompiler tree172!GlobalTypes
resourcefile tree60!GlobalTypes
resourcesystem tree480!GlobalTypesResource handles, references and the manifest types that back asset loading.
scenesystem tree96!GlobalTypesScene graph and render-view types.
schemasystem tree12!GlobalTypesThe reflection system that describes every other type here.
server tree911232!GlobalTypes, server.dllServer-side game logic entities: pawns, controllers, weapons, game rules and the services hanging off them.
smartprops tree14918!GlobalTypes, assetpreview.dllSmart prop definitions: element rules, selection criteria and variables.
sounddoc_lib tree1392!GlobalTypes
soundsystem tree3513!GlobalTypesSound events, mixers and the operator stacks that drive them.
soundsystem_lowlevel tree737!GlobalTypes
soundsystem_voicecontainers tree427!GlobalTypes
steamaudio tree170!GlobalTypes
texturelib tree46!GlobalTypes
tier2 tree20!GlobalTypesShared low-level utility types.
toolscene tree111!GlobalTypes
toolutils2 tree212!GlobalTypes
vphysics2 tree141!GlobalTypesThe physics engine types behind bodies, joints and soft bodies.
worldrenderer tree293!GlobalTypesWorld geometry, node trees and the built world layers.

Reading a module

A module here is SchemaTracker's projectName, the coarse project axis a type was registered under. It is not the binary: the finer module (for example server.dll) is kept on every record and shown on each type page as Binary. A class registered in several binaries that all roll up to the same project collapses to one record, which is why the pulse_runtime_lib cell classes appear once despite being statically linked into many tools.

190 names appear under more than one project. That is expected and the project is the discriminator: CCSPlayerController exists in both client and server with different field sets and different offsets. Each variant gets its own page and links to the other. The client build also renames many server classes with a C_ prefix (C_CSPlayerPawn against CCSPlayerPawn); that is a convention rather than something the artifact records, so those pages link to each other as counterparts.

Offsets are absolute byte offsets from the object base for windows-x86_64 at build 25218825. They change between builds and between platforms. Read the build id off the page before using one.