Codegen Schemas
These are the raw artifacts the rest of this site is rendered from, meant for a build step rather than a browser: a code generator, a demo parser's schema loader, or a plugin's build pipeline. Every file below shares one schema_format_version, currently 2.2, bumped as a family whenever a field is added, removed, or renamed in any of them.
CS2 build 25218825 · Steam date 2026-09-09 · platform windows-x86_64 · schema format 2.2
Artifacts
| File | Size | Purpose |
|---|---|---|
cs2_schema.json | 20.6 MB | Entity schema: classes, structs, enums, fields, offsets, sizes and inheritance. |
convars_schema.json | 1.1 MB | Console variable table, machine-readable counterpart to the ConVars page. |
commands_schema.json | 262.8 KB | Console command table, machine-readable counterpart to the Commands page. |
gameevents_schema.json | 136.8 KB | Game event registry: names, fields, sources. |
well_known_constants.json | 2.6 KB | Community-curated integer/enum reference tables the schema does not expose as named types. |
field_history.json | 13.0 MB | Whole-history evolution of every (class, field): first/last seen build, type history. |
proto/*.proto | 274.1 KB | 40 decompiled protobuf source files, for compiling from source. Browse them rendered at the Protobufs pages, or fetch one directly at proto/<name>.proto alongside the files above. |
Twins and projectName
cs2_schema.json keys every class and enum by (projectName, name), not by name alone. projectName is SchemaTracker's coarse project axis (server, client, entity2, and a handful more): the finer upstream module (the binary a type was walked out of) and cppName are kept on the record, but pages and lookups are grouped by projectName. A name such as CCSPlayerController legitimately has one record under server and another under client, a twin pair. The two are separate types with separate field layouts and offsets; this site keys its schema pages by module for exactly this reason; look up server/CCSPlayerController and client/CCSPlayerController as distinct pages, not one page with two answers.
Full field-by-field documentation of every file's shape lives in the contract README: README.md on GitHub.