Under the hood · D&D 2024 (5.5e)

Importing a scene JSON someone else built

Someone hands you a .json file — a scene a fellow DM exported, one an AI assistant wrote as a recipe, or one you pulled out of your own backup. Getting it onto your table is one menu item: File ▸ Import Scene JSON.

· 5 min read · TerrainTale

The welcome screen with five starter scenes
Real screenshot from the app.

One import path for both kinds of file

File ▸ Import Scene JSON accepts both a plain exported scene (the full description of a specific table someone built) and an AI-authored recipe (the higher-level "fill this rectangle, wall this perimeter" format documented in `ai/scene-format.md`). The app tells the two apart from the file's own `format` field, so there's no separate menu item to choose between them.

The welcome screen with five starter scenes

Models download automatically

Every model a scene or recipe references is pulled from the built-in library automatically on import — you don't need to have those assets already, and you don't need to add them by hand first. That's what makes handing a scene to another DM actually work: they open the file, TerrainTale fetches what it needs, and the map is playable without a separate step of matching up assets.

Where an import can go sideways

A recipe's operations are applied independently, and a malformed one — a typo in an asset id, a coordinate outside a sensible range — is skipped with a warning logged to the browser console rather than failing the whole import. That means a mostly-good file from an AI assistant or a hand-edit still loads as a mostly-good scene, worth checking the console for warnings on rather than assuming every element made it in.

An exported scene that references an asset id from a source outside the built-in library (a custom import from someone else's account, for instance) can't resolve that piece the same way — the rest of the scene still imports, but that specific piece may be missing until you supply the model yourself.

Importing replaces the open scene

Import loads the file as the scene now open in the editor, so anything unsaved on the table before the import should be saved or exported first if it's worth keeping. Once imported, the scene behaves like any other in your library — it autosaves, it counts against your plan's saved-scene limit if you keep it, and it can be re-exported, renamed or copied like anything you built yourself.

Programmatic loading, for scripted workflows

Outside the menu, a scene or recipe object can be loaded directly with `window.__vtt.loadSceneJson(obj)`, which is how the app's own automated verification (importing the examples in `ai/examples/` and checking the result) works, and it's available for anyone scripting their own workflow around the same format.

After it's in your library

Once imported, a scene isn't tethered to whoever built it or where it came from — it's a normal entry in your own account's library from that point on, subject to the same saved-scene limit as anything you'd built yourself. Free plan accounts should keep in mind that importing a scene counts as adding a new one, so it only succeeds if a slot is actually free; Premium's 200-scene ceiling makes that a non-issue for most groups. If the free plan's one slot is already taken, the same paywall dialog that appears for a blank grid or a template appears for an import too, offering to upgrade or delete the existing scene rather than failing silently.

Questions

Do I need to add assets before importing a scene someone sent me?

No — every model the file references downloads automatically from the built-in library on import.

Can I import both an exported scene and an AI-authored recipe the same way?

Yes, File ▸ Import Scene JSON accepts either; the app tells them apart automatically from the file's format field.

What happens if part of the file is malformed?

That specific operation is skipped with a console warning; the rest of the scene still imports rather than the whole file failing.

Does importing overwrite my current scene?

It loads the file as the newly open scene, so save or export anything unsaved beforehand if you want to keep it.

Ready to put a map on the table?

Sign up in a minute, no card needed. Five starter scenes are waiting on the welcome screen.