Skip to content

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

FileSizePurpose
cs2_schema.json20.6 MBEntity schema: classes, structs, enums, fields, offsets, sizes and inheritance.
convars_schema.json1.1 MBConsole variable table, machine-readable counterpart to the ConVars page.
commands_schema.json262.8 KBConsole command table, machine-readable counterpart to the Commands page.
gameevents_schema.json136.8 KBGame event registry: names, fields, sources.
well_known_constants.json2.6 KBCommunity-curated integer/enum reference tables the schema does not expose as named types.
field_history.json13.0 MBWhole-history evolution of every (class, field): first/last seen build, type history.
proto/*.proto274.1 KB40 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.