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
| Module | Classes | Enums | Binaries | What it holds |
|---|---|---|---|---|
| animationsystem tree | 47 | 7 | !GlobalTypes | Skeletons, sequences, pose parameters and the animation runtime. |
| animdoclib tree | 197 | 12 | !GlobalTypes | |
| animgraphdoclib tree | 158 | 14 | !GlobalTypes | |
| animgraphlib tree | 243 | 57 | !GlobalTypes, animationsystem.dll | Animation graph nodes, tags, parameters and their runtime state. |
| animlib tree | 180 | 37 | !GlobalTypes | Lower-level animation containers shared by the animation runtime and the tools. |
| client tree | 488 | 3 | !GlobalTypes, client.dll | Client-side entity representations. Names are usually the server class prefixed with C_, and offsets differ from the server twin. |
| compositematerialslib tree | 10 | 7 | !GlobalTypes | |
| engine2 tree | 42 | 0 | !GlobalTypes | Engine-level types shared by every subsystem, including the entity system host and networked scene state. |
| entity2 tree | 16 | 2 | !GlobalTypes, assetrename.dll | The entity system itself: instance identity, entity handles, components and the base classes both client and server build on. |
| hammer tree | 7 | 3 | !GlobalTypes | Level editor types. Tool-side only, with no runtime counterpart. |
| host tree | 2 | 0 | !GlobalTypes | |
| mapdoclib tree | 3 | 0 | !GlobalTypes | |
| materialsystem2 tree | 15 | 5 | !GlobalTypes | Material and shader parameter types. |
| mathlib_extended tree | 11 | 2 | !GlobalTypes | Math primitives beyond the built-in vector and matrix types. |
| met tree | 3 | 0 | !GlobalTypes | |
| modeldoc_editor tree | 3 | 1 | !GlobalTypes | |
| modellib tree | 114 | 26 | !GlobalTypes | Model, mesh and material group data as it exists at runtime. |
| modtools tree | 2 | 0 | !GlobalTypes | |
| navlib tree | 14 | 3 | !GlobalTypes | |
| networksystem tree | 1 | 0 | !GlobalTypes | Networking primitives: channels, message routing and the transport-facing types. |
| panorama_content tree | 0 | 2 | !GlobalTypes | |
| particles tree | 434 | 73 | !GlobalTypes | Particle system operators, initializers, renderers and their parameter blocks. |
| particleslib tree | 21 | 18 | !GlobalTypes, animationsystem.dll | Shared particle definitions used by both the runtime and the tools. |
| physicslib tree | 99 | 4 | !GlobalTypes | Physics shapes, aggregates and collision attributes. |
| pulse_runtime_lib tree | 98 | 11 | !GlobalTypes, animationsystem.dll | Pulse graph runtime: cells, instructions and the values that flow between them. |
| pulse_system tree | 38 | 4 | !GlobalTypes, pulse_system.dll | Pulse graph definitions and the descriptor types the runtime instantiates. |
| pulsedoc_lib tree | 3 | 1 | !GlobalTypes | |
| qcontrols tree | 0 | 15 | !GlobalTypes | |
| rendersystemdx11 tree | 4 | 3 | !GlobalTypes | |
| resourcecompiler tree | 17 | 2 | !GlobalTypes | |
| resourcefile tree | 6 | 0 | !GlobalTypes | |
| resourcesystem tree | 48 | 0 | !GlobalTypes | Resource handles, references and the manifest types that back asset loading. |
| scenesystem tree | 9 | 6 | !GlobalTypes | Scene graph and render-view types. |
| schemasystem tree | 1 | 2 | !GlobalTypes | The reflection system that describes every other type here. |
| server tree | 911 | 232 | !GlobalTypes, server.dll | Server-side game logic entities: pawns, controllers, weapons, game rules and the services hanging off them. |
| smartprops tree | 149 | 18 | !GlobalTypes, assetpreview.dll | Smart prop definitions: element rules, selection criteria and variables. |
| sounddoc_lib tree | 139 | 2 | !GlobalTypes | |
| soundsystem tree | 35 | 13 | !GlobalTypes | Sound events, mixers and the operator stacks that drive them. |
| soundsystem_lowlevel tree | 73 | 7 | !GlobalTypes | |
| soundsystem_voicecontainers tree | 42 | 7 | !GlobalTypes | |
| steamaudio tree | 17 | 0 | !GlobalTypes | |
| texturelib tree | 4 | 6 | !GlobalTypes | |
| tier2 tree | 2 | 0 | !GlobalTypes | Shared low-level utility types. |
| toolscene tree | 11 | 1 | !GlobalTypes | |
| toolutils2 tree | 21 | 2 | !GlobalTypes | |
| vphysics2 tree | 14 | 1 | !GlobalTypes | The physics engine types behind bodies, joints and soft bodies. |
| worldrenderer tree | 29 | 3 | !GlobalTypes | World 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.