Skip to content

reference schemas

cheaterbob edited this page Oct 3, 2026 · 1 revision

Schema index

JSON Schemas under Docs/Modding/schemas define document structure, required properties, field types, enumerations, and numeric limits. Runtime validation remains authoritative for rules that depend on other files, loaded Core templates, asset dimensions, or content IDs.

For a browsable table of every root property and reusable definition, use the generated field-by-field API reference.

Pack and distribution contracts

Schema Used for
manifest.schema.json Pack identity, version, dependencies, conflicts, content roots, previews, and generated bundle metadata
catalog-v1.schema.json Community catalog listings and immutable releases; not a pack content document
asset-patch.schema.json Explicit replacement of published asset slots

Content contracts

Schema Content type Guide
challenge.schema.json challenge Rules
clothing.schema.json clothing Clothing
difficulty.schema.json difficulty Rules
enemy.schema.json enemy Enemies
enemy-animation.schema.json enemyAnimation Enemies
player-animation.schema.json playerAnimation Enemies
player-attachment.schema.json playerAttachment Clothing
rule-profile.schema.json ruleProfile Rules
stage.schema.json stage Stages and maps
stage-script.schema.json stageScript Stage scripts
usable.schema.json usable Weapons and items
weapon.schema.json weapon Weapons and items

Tooling and map contracts

Schema Used for
enemy-rig-reference.schema.json Frozen Core-enemy rig reference exchanged with authoring tools
player-rig.schema.json Normalized player rig data
tiled-map.schema.json Supported Tiled JSON map subset
tiled-tileset.schema.json External Tiled JSON/TSJ tilesets

Which source wins?

Use this order when sources seem to disagree:

  1. Runtime parser and cross-file validation for what the current build accepts.
  2. JSON Schema for structural validation and limits.
  3. Public wiki for workflows and explanation.
  4. Example packs for practical composition.
  5. Internal planning documents for design history only.

Report any disagreement between the first three as a documentation or schema defect. Do not work around it by depending on an undocumented parser behavior.

Validation

From the repository root:

dotnet run --project Tools/ModSchemaValidator -- .

To validate one loose pack:

dotnet run --project Tools/ModSchemaValidator -- . Mods/example.my-mod

See Validation and errors for the difference between schema and runtime validation.

Clone this wiki locally