This article is also available in:

Testing your project and reading the debugger

▢️ Testing your project and reading the debugger


You've laid down a branch, created a variable, written two lines of dialogue. Now you need to check that it actually works. Celestory will tell you almost nothing on its own: it's up to you to look, and above all to know where to look. πŸ‘€


This article lays out a repeatable test routine, then details what the debug window shows you β€” and what it doesn't.


πŸ”Ί This article covers method. The catalogue of failures that display no message at all lives elsewhere: see When nothing works, and nothing tells you why.




πŸ” The routine: five steps, always in this order


  1. Save (Cmd/Ctrl + S). The test won't do it for you.
  2. Play: the Play current module button in the top bar.
  3. Watch β€” the game window and the Debug window next to it, and the graph behind them, which recenters itself on the block currently running.
  4. Close the test window before you fix anything.
  5. Fix it, then start again at step 1.


⚠️ Step 4 is not a nicety. The test window freezes the state of the project at the moment it opens: the project is compiled once, on opening, from whatever the editor has in memory. You can edit ten blocks while the test is running β€” the window will keep playing the old version. Closing and reopening is the only way to recompile.



▢️ The Play button: what it actually does


The Play current module button opens a floating window titled Play test, right inside the Creator. A second window opens automatically next to it, Debug, 360 Γ— 640 pixels, docked to the right of the screen.


Three misconceptions to clear up right away:


⚠️ Play doesn't save. The test compiles whatever your browser has in memory, not what's on the server. Consequences: a successful test protects you from nothing if you close the tab without saving; and a colleague who opens the project won't see what you just tested.


⚠️ Play produces no link. There's no URL, no public page, nothing to send to anyone. The test lives in your editor window and dies with it. To get a playable link, you have to go through Publish and pick the Direct link platform. And watch out: the Share button does not do this β€” it invites collaborators into the editor, not players into the game.


⚠️ The Shift + P shortcut is shown but doesn't work. The button's tooltip announces it ("Play from the module. Shift+P"), but the combination isn't wired to anything in the code. Click the button.


🏷️ The watermark


A semi-transparent Celestory logo appears at the top center of the test window. It disappears if the subscription is Premium, Pro or Business.


πŸ”Ί A verified subtlety: the watermark follows the project owner's subscription, not yours. If you're working on someone else's project, it's their subscription that decides.


πŸ” Starting on a menu


Hover the Play button without clicking: a small panel unfolds with an Open menu … entry for every launchable menu in the project. Only menus of type Home and Page appear there β€” HUD and Overlay menus are excluded, which makes sense: they aren't starting points.



🎯 Playing from a specific block


Yes, this exists, but it's not in the toolbar. Right-click a single block on the graph β†’ Play from this block.


πŸ”Ί The entry only appears if exactly one block is selected (no groups) and that block has at least one Stream output. A block that only produces a value can't be a starting point: nothing would flow out of it.


This is the tool that saves the most time when you're fixing the end of a long story: no need to replay the first twenty minutes.



πŸ”Ž The Debug window: three tabs


πŸ“ General tab β€” where the story stands


This is the heart of the debugger. It permanently shows:


  • Current block: its ID and its name, both selectable (so copyable).
  • Center view on block: brings the graph back to the block currently running.
  • Restart: relaunches the story from the beginning. ⚠️ This also resets every variable to its starting value.
  • A language selector + Restart with selected language, if your project is translated.
  • Load last checkpoint and Remove last checkpoint data β€” only if a checkpoint was recorded during the playthrough.
  • Replace scenario with content played (see below ‡️).


✨ The best part of the debugger isn't even in this window: the graph recenters itself on the block currently running, at every single step. If the story jumps to another graph, the editor opens it and recenters there too. Put the test window next to the canvas and watch both: you see your story unfold block by block. This is where you spot the branches heading off in the wrong direction.


πŸ”’ Variables tab β€” live values


Contrary to what you may have heard, yes, the debugger does show variable values in real time. The tab lists every variable in the project, grouped by type (Texts, Numbers, Booleans, Images, Objects, Files…), with a search field at the top. Each value updates at every step of the story.


A variable that hasn't received anything yet shows Undefined.


✨ Even better: the values are editable in place. Change a number in the tab and the story continues with your value. It's the fastest way to test a conditional branch without replaying the whole path that leads to it.


πŸ”Ί This injection only affects the current playthrough. Nothing is written back to the graph, and Restart resets everything to zero.


πŸ“ Display tab β€” screen formats


  • Preview device ratio: pick a format (9/16, 16/9, 21/9, 9/19.5…), then Resize applies it to the test window. Useful for seeing what your scenery looks like on a phone in portrait mode.
  • Ratio du projet: this one, by contrast, genuinely changes the project. Don't touch it out of curiosity.


⚠️ On mobile, the Debug window doesn't open at all. Below 768 pixels wide, the game launches, but with no tracking tools whatsoever. Test from a computer.



πŸ•°οΈ "Contenu test jouΓ©": the retrospective debugger


Here's the least-known feature, and one of the most useful. It doesn't live in the Debug window β€” it lives in a block's editing window.


After playing and then closing the test window, open a block the story passed through. Right at the bottom of its editing window, a section appears called "Contenu test jouΓ©," with one collapsible row per test, dated ("22/09/2026 at 14:35"). Expand it: you see, input by input, the value the block actually received during that test.


This is exactly what you need to answer "but what did this block actually have, at the moment it ran?" β€” a text assembled from variables, a reply returned by an AI, a row read from Baserow.


⚠️ Three limits, all verified:


  • The section only appears after the test window is closed. While you're playing, nothing is recorded.
  • The history is never saved with the project. Reload the page and every "Contenu test jouΓ©" entry disappears.
  • The section's title is hard-coded in French in the source code: it's displayed in French even when the rest of the Creator is set to English. This isn't a display bug on your end β€” it's simply not been translated.


πŸ”€ And the "Replace scenario with content played" button?


This button, in the General tab, doesn't display anything at all: it's not a view, it's a write action. It opens a window where you pick a session (the current session, or a dated test), then:


  • Replace: overwrites the content of every block played in the graph with what was actually played.
  • Duplicate module: does the same thing, but in a copy of the module.


⚠️ Replace is destructive. If your content comes from variables or an AI, duplicate the original module first β€” which is exactly what the window itself recommends. The action goes through the history, so Cmd/Ctrl + Z can undo it, but don't count on that.



πŸ™ˆ What the debugger doesn't show you


What you'd expect to find

The reality

A step-by-step log, like a scrolling list

No. The path taken is recorded in memory, but no screen displays it. You only see the current block.

Compilation errors

No. See the next section: they only ever go to the browser console.

Unwired outputs

No. A branch that leads nowhere compiles without a word.

A message when a block fails

No. A block that gets stuck simply stays stuck, and "Current block" stops advancing.

Variable values

Yes! This is in fact what it does best. πŸŽ‰



πŸ”• The three errors nobody will ever tell you about


Celestory can detect three kinds of defects when it compiles your project. It files them into a list of errors… that no interface reads. They only ever go out to the browser's technical console.


Error

What it means

Translated?

noStartFound

The module has no start block at all.

Yes, in both French and English β€” but never displayed.

tooManyStarts

The module has several start blocks.

❌ None, in either French or English.

blockNotFound

The graph contains a block of a type this version of the Creator doesn't recognize.

❌ None, in either French or English.


What you'll see instead: in the first two cases, the player starts on an empty start block β€” the Play test window stays blank and the Debug window shows no current block at all. No message, no red cross. A test window that stays blank on launch is this, nine times out of ten.


πŸ”Ί Rest assured: inside the editor, these first two errors are hard to trigger by hand. Adding a second start is refused with a message (in English: Can't add more start block in this graph), the start block won't paste and won't delete. They mostly show up on a module that's been imported, duplicated, or built by the graph's AI agent. blockNotFound, for its part, almost always signals a project that came from a different version.


πŸ”¬ How to read them anyway


Two paths, both real:


  • The developer window. Type the letters d, then b, then g in a row on the canvas. A Celestory Debug Mode window opens (in English). Choose Build project save data: you get the full compilation of your project as text. Search it for "errors": if the array isn't empty, you have the error's name and the block involved.
  • The graph's AI agent. Its validation tool compiles the project and returns this exact same list of errors, in plain language β€” plus the outputs that lead nowhere and the value inputs that read nothing. Just ask it to validate your module.


πŸ”Ί A deliberate quirk: the AI assistant gets an error report the human interface doesn't. πŸ€–



πŸ—‚οΈ Symptom β†’ likely cause β†’ where to look


Symptom

Likely cause

Where to look

The Play test window stays blank right from launch

No start block, or several, in the module

d b g β†’ Build project save data β†’ search for "errors"; or ask the AI agent for a validation

The game window stays blank even though the module does have a start

A block of a type this version doesn't recognize (blockNotFound)

Same place: the error names the faulty block type

My fix has no effect in the test

The test window froze the project when it opened

Close it, reopen it. And check you actually clicked outside the code editor beforehand (see When nothing works…)

The story stops and never resumes

A block is waiting for something that never arrives (external sound, network call…)

General tab β†’ the current block name stops changing: that's the culprit. Use Center view on block to find it

A branch always goes the same way

The condition reads a variable that doesn't have the expected value

Variables tab at the moment of the choice. If the variable shows Undefined, its input is wired to nothing

A text shows {{FirstName}} as is

The variable was never wired into the text

Variables tab: does the variable exist under that exact name, with no accent?

I don't know what value the block received

β€”

Close the test, open the block, expand "Contenu test jouΓ©"

The test starts over from the beginning when I wanted to test the end

You used the Play button

Right-click the block you want β†’ Play from this block

No Debug window opens at all

Screen under 768 px, or the window was closed by mistake

Enlarge the browser window, close and relaunch the test

A Celestory logo shows at the top of the game

Subscription below Premium for the project owner

Nothing to fix: that's the watermark, see AI Credits and Subscription

My colleague doesn't see what I just tested

Play doesn't save

Cmd/Ctrl + S



🧭 The rule to remember


The debugger answers "where does the story stand" and "what are the variables worth." It never answers "why isn't this working." That answer, you have to build yourself: by following the current block through the graph, by reading the variables at the right moment, and by expanding "Contenu test jouΓ©" after the fact.


And none of it is saved. Every test that taught you something evaporates the moment you reload the page β€” write down what you find. πŸ“



β†’ Next step: now that you're testing seriously, there's one thing left that Celestory will never do in your place β€” head to Saving: Celestory doesn't do it for you. πŸ’Ύ

Updated on: 23/09/2026

Was this article helpful?

Share your feedback

Cancel

Thank you!