Skip to content

Exporting and delivering scenarios

Export in the toolbar lists every format, grouped by what you would do with it. Type in the filter box to find one; the last format you used is marked so a repeat export is two clicks.

The Export menu, grouped into project, game engines, web, LMS, production and review

Every export is generated from the saved project. Exports never include your workspace’s AI keys, and _editor data (canvas positions, collapsed state, notes) is stripped from the interchange formats.

FormatUse it for
ChatMapper JSONThe canonical project — the format every ChatMapper tool reads and the one to hand a developer building a custom runtime. Documented in full in the developer reference.
CMPKG + mediaA package of the project plus every attached media file, for the Windows Desktop app or for handing the whole scenario to an engine team. See CMPKG.
FormatUse it for
ChatMapper XMLDesktop ChatMapper’s XML. Opens in the Windows app; imports natively into Unity’s Dialogue System.
Unity — Dialogue System XMLExactly the same XML, plus a preflight report for the things that import cleanly and then misbehave in Pixel Crushers Dialogue System — duplicate Lua keys, | inside tags, items without an Is Item field, nodes without a Sequence. Apply the built-in Unity — Dialogue System custom field template first so writers fill those fields in as they go. Guide: Unity.
Yarn SpinnerOne .yarn file for the project: lines, -> options, jumps, variable declarations, and the translatable subset of your Lua as <<if>> / <<set>>. Anything it cannot translate is kept as a comment beside the line and listed in the export’s warnings. Guide: Yarn Spinner.

If your engine is not on this list, the answer is ChatMapper JSON and the custom runtime guide, which includes a reference parser.

Standalone HTML player — one self-contained .html file: the scenario, a player, and its styling, with no server, no external requests and no assets. It runs from a double-click, from file://, from any static host. At the end of a run it shows a summary — nodes visited, endings reached, final variables. Send it to a stakeholder, attach it to a bug, put it in a playtest folder. Details and its small JavaScript API: HTML player.

FormatUse it for
SCORM 1.2 packageA .zip with the HTML player and an imsmanifest.xml as a single SCO. On completion it reports status and a score to the LMS.
xAPI (Tin Can) packageThe same package plus an xAPI emitter: initialized, one responded per choice, completed with score.

Scoring uses a numeric variable named score if the project has one (normalised to 0–100 from its declared min/max; passed at 80 or above), otherwise “reached an ending” scores 100 and an abandoned run scores the proportion of nodes visited. The rule used is written into the manifest. Details: SCORM and xAPI.

FormatUse it for
Voiceover Script CSVOne row per spoken line — | splits become separate rows — with the markup stripped and [var=…] shown as a {Name} placeholder. The recording sheet.
Proofreading TextEvery piece of display text in reading order, one section per conversation, for a read-through in a word processor.
Screenplay RTFAn editable screenplay for Word or LibreOffice.
Assets CSVActors, items, places and variables in one sheet.
Dialogue CSVOne row per dialogue node across every conversation.
Everything CSVAssets, dialogue and reviewer notes in one sectioned file.

Screenplay / print view at the foot of the Export menu opens the script in order on screen, with a print button — the quickest way to read a scene as prose, or to get a PDF via the browser’s print dialog.

FormatUse it for
Reviewer Notes CSVEvery note and review status in the project. See Review and feedback.
Conversation SVGA vector snapshot of the current conversation’s graph, node colours included, for design documents.
SituationExport
Unity project using Dialogue SystemUnity — Dialogue System XML
Unity or any engine using Yarn SpinnerYarn Spinner
Godot, Unreal, a web game, a custom engineChatMapper JSON + the reference parser
A producer wants to play it tonightStandalone HTML player, or the player link
Training content for an LMSSCORM 1.2, or xAPI if the LMS supports it
Sending lines to a recording studioVoiceover Script CSV, and CMPKG if scratch audio should travel too
A colleague still on ChatMapper DesktopChatMapper XML (or CMPKG + media)
Keeping the whole thing somewhere safeChatMapper JSON

Only CMPKG + media carries files. The other formats reference media by filename, so deliver the files alongside — the data model explains what an engine will see in the fields.