Bringing content in and out
Three ways to move things: duplicate something inside a campaign, keep something on your library shelf to reuse, or export a file and import it somewhere else.
They're all the same machinery underneath, so anything one can carry, the others can too.
Duplicating something you've already made
Any Cast member, Backdrop, Prop or Ensemble has a Duplicate button. You get a copy in the same campaign, immediately.
What it's for
Your fourth roadside shrine, your third bandit lieutenant, the guard captain who's the same as the last guard captain but angrier. Duplicate, rename, change two lines.
The copy is a copy: editing it never touches the original.
Your library shelf
Save to library puts something on a shelf that belongs to you, not to a campaign. It's there in every game you run, forever.
What belongs on a shelf
The things you rebuild every campaign. The tavern you always use. The pantheon. The starting village. The setup for the system you run most.
Your shelf never contains anyone else's private notes or tags — a saved item carries the thing, not other people's thinking about it.
Export and import files
Backstage links to Import & Export. Tick what you want, press Download export, and you get one file. Importing it elsewhere is the same screen in reverse.
A campaign template is the useful one
Exporting the Campaign template takes your whole setup — starting fields, Center Stage stats, starting Reserves and the Bit catalog — without any of the actual content. It's your system, ready to drop into the next game.
That's what the D&D 5e pack is: someone's setup, exported. Not the app's opinion about which game you play.
Re-importing a fixed version is safe
Import the same template again with corrections and it updates what's there by name rather than adding a second copy of everything. Fix a typo in a field, re-import, done.
It never touches character data. Values your players have typed, and Reserves and Bits already on their sheets, survive a re-import untouched — even if the field's type changed underneath them.
The thing to know before importing someone else's file
The importer is built to never blow up in your hands mid-session, which means it degrades instead of refusing. A field type it doesn't recognise becomes plain text. An icon it doesn't know becomes a plain dot. A cost naming a pool that isn't there gets dropped. A repeated name quietly wins.
Every one of those is on purpose — and together they mean a wrong file can import "successfully" and tell you nothing.
So if you're bringing in a pack from outside, check it first:
tests/validate_import_file.php reports what won't arrive and what will arrive as something else. And content built for this app should pick its icons from json_import_files/docs/ICONS.md rather than from Lucide's full set — this app takes a curated list, and a few names deliberately differ, so an icon chosen off the wider list silently lands on a dot.
Bringing in a character
On a campaign page, Import from my library brings in one of your kept characters. There's also Import a character for a file.
Copy or move?
It asks. Copy leaves the original on your shelf, so the same character can start in two campaigns. Move attaches it for good.
Copy is the safer default and the right one if you're not sure — a spare on the shelf costs nothing.
Coming from Alchemy
There's a reader for Alchemy's export files. It's one-way: it brings a sheet in and never sends anything back out.
Expect to tidy up afterwards. It's a different app with different ideas about what a character is, so it does its best and then hands you a sheet to check — and the campaign you're importing into may want fields Alchemy never had.
This is help for ACT VI: The Tabletop Turns — a system-agnostic companion app for running tabletop RPGs. Players never pay, and a GM's first campaign is free.