ADD
CHARACTER
ZOOM
PICK COLOR
CLONE STYLE
PLAY MODE
ERASE
AUTO LAYOUT
SAVE PAGE
DELETE SAVE
EXPORT FILE
OPEN FILE
OPEN MANUAL
OPEN SETTINGS
This app is meant to work together with the official Construct 3 tutorial from Laura_D called Branching Dialogue Using Json:
Please note, this is still very much an alpha version so expect bugs and things breaking! Collaborators are warmly welcomed!
The basic idea is to create character dialogue trees from the big plus button at the top. When you have the first node of a dialogue tree, you can add more dialogue blocks to it from the smaller plus button in the node. You can also change the type of the node to "question" in order to add a question with branching answers.
Use EXPORT FILE to choose JSON, plain text, Construct 3, Godot 4, Unity, Unreal Engine, GameMaker, or GDevelop. Engine exports include a player and a labeled NPC sprite for each character. Open the downloaded .c3p in Construct and press Preview, then move with arrows or WASD and touch an NPC to talk. Use Test variables to try conditional paths. The generated project requires a Construct plan with sufficient JavaScript capacity.
For Godot, extract the exported ZIP, import project.godot in Godot 4.5 or newer, and press F5. The Godot project uses native scenes and dialogue controls, with the same movement and contact interaction.
For Unity, copy Assets/GameDialogueMaker from the ZIP into a 2D project, then choose Tools > Game Dialogue Maker > Create or Open Playground and press Play.
For Unreal Engine, extract the ZIP, open DialoguePlayground.uproject with UE 5.3 or newer, build the C++ module, and press Play. Requires Unreal's C++ development tools.
For GameMaker, extract the ZIP, open DialoguePlayground.yyp in GameMaker 2026.x, select a desktop VM target, and press F5.
For GDevelop, extract the ZIP, open game.json in the GDevelop 5 desktop editor, and click Preview.
In the generated Construct project, NPC_1, NPC_2, and so on map to the characters in order. Their displayed names are preserved, including duplicate names.
You can drag the dialogues around to arrange them the way you prefer. Dragging a parent dialogue will also move the children. Shift-click nodes to add or remove them from a selection, or Shift-drag an empty area to select a group. Drag a selected group to move only those nodes. Use Pick Color to recolor the selection, right-click for Duplicate or Delete, or press Ctrl/Cmd+D or Delete. Duplicating or deleting a character root includes its entire tree. You can also move the entire canvas by dragging from an empty area.
Changing the name of the character in one dialogue tree will change it for all the nodes. If you want another character in the same JSON file export, use another dialogue tree.
The "next" value tells Construct which node it should go to after the current one. We are automatically setting it to the next child node if the user has created one. If there is no child node, then the user can define where to go next by setting the value manually.
The ID for each node is automatically assigned and I don't recommend changing them for now.
Adding line breaks in the text are of the node will separate those into different dialogues in Construct, meaning that they will be displayed separately one-by-one. That way you can make sure large texts fit the dialogue box design of your game.