Manual · Content and homebrew

Importing 5eTools JSON

Add supported JSON content to the Library, understand the required shape and see when `_sheetling` is useful.

Sheetling reads a 5eTools homebrew JSON object with _meta.sources. It is content for the Library; it does not create a character or party.

Supported top-level data

The exact fields currently read for each type are generated from the importer on the field reference. variantrule and free-standing table arrays are reported but do not create entries.

Import the file

  1. Select Import a file… and choose the JSON file.
  2. Check the source name, entry counts and rules-year choices.
  3. Read any not imported or detail dropped rows.
  4. Save the source, then enable it for a test character.
  5. Open the relevant creation, level-up or prepare-spells choice. A clean preview does not prove every entry is reachable there.

Structured fields and prose

Fields such as speed, darkvision, skillProficiencies, spell damage and rowsSpellProgression map without Sheetling-specific data. Text in entries remains text. It is not parsed into mechanics.

Use _sheetling only when ordinary structured fields cannot say what should reach the sheet. It can add effects, use behavior, prerequisites, feature choices or spellcasting metadata. A user who only imports existing JSON does not need to write it.

Technical checks

From a repository checkout, the probe reads a real file and exits non-zero when an entry drops:

npm run probe:5etools -- <file.json>

It also builds representative levels for imported subclasses and reports which trackers and toggles reach the derived sheet. See Troubleshooting for symptoms found in real files.