Dialogue Designer
A downloadable tool for Windows, macOS, and Linux
An easy to use but powerful tool for creating branching dialogues for games.
Works with Unity, Unreal 4, Godot, Construct 3, GameMaker Studio 2 and many more!
Now available on STEAM!
A powerful (but easy to use) branching dialogue editor designed for story-driven games like RPGs and Visual Novels.
Create complex non-linear data structures in minutes, no programming experience required!
The editor was created for non-programmers. It is easy to understand and navigate. It is also fast and lightweight - it runs smoothly even on less powerful PCs.
The editor includes a characters database and local variables database (strings, integers, booleans). They are incredibly helpful in organising the dialogue and keeping track of player's progress.
Change the dialogue language by selecting it from a drop-down menu. There are no limits for the amount of languages you can use.
Export your dialogue with one click to an easy to read JSON text file, which can be imported into most modern game engines and frameworks.
Example file: Download an example exported file from the bottom of this page.
Read more about JSON: https://en.wikipedia.org/wiki/JSON#Example
Available nodes:
>>DOCUMENTATION<<
Support this software to help further development!
All updates will be released for free for owners of the editor.
More from radmatt:
Any questions? Contact me: radmattsoftware at gmail.com
@radmtt
Status | Released |
Category | Tool |
Platforms | Windows, macOS, Linux |
Rating | Rated 4.0 out of 5 stars (27 total ratings) |
Author | radmatt |
Genre | Role Playing, Visual Novel |
Made with | Godot |
Tags | branching-dialogue, dialogue, Godot, Narrative, Nonlinear, Story Rich, tool, Unity |
Average session | A few seconds |
Languages | English |
Inputs | Keyboard, Mouse |
Links | Steam |
Purchase
In order to download this tool you must purchase it at or above the minimum price of $9.99 USD. Your purchase comes with a Steam key. You will get access to the following files:
Download demo
Development log
- Version 3.2.4 - New Zoom feature + improvementsJan 22, 2022
- New app! GRIDLESS - item editor. Available now!May 28, 2021
- Version 3.2.0 - Major performance improvementsJan 25, 2021
- Update 3.0.9 - Export to .txt + fixesSep 03, 2020
- 4K resolution fix (interface too small)Jun 22, 2020
- DialogueDesigner now on STEAM!Apr 02, 2020
- Version 3.0.5 - all languages support + title renamingMar 05, 2020
- Version 3.0.4 - bugfixesFeb 29, 2020
Comments
Log in with itch.io to leave a comment.
The macOS app says it's corrupted, is there a fix? (Not related to the Privacy permission.)
Is this compatible with Godot 4 ?
I have already purchased it on Steam. Do I need to purchase it again on itch to download and use the itch version?
Can you support Float variables? It seems like it would be trivial to add.
Beware - newer versions of DD 3.2.x can corrupt dialogue files that were created in older versions of this program!
I believe there's also an issue with duplicating messages, as that can lead to broken links (though only in the export, so you can't see them inside the editor). I'd strongly advise any one using this program to avoid duplicating message boxes and instead spawning a fresh one each time.
Radmatt - Can you please make earlier versions of this program available? I'm 70,000 words in on a three year project and opening old files in 3.2.4 more often than not breaks things :(
Unfortunately I don't believe the creator will update the project again. They seem to have a tendency to publish a tool, update it a few times and then drop it, which is a shame since they make nice tools. Whole reason I just decided to recreate my own.
Totally forgot I bought this while using godot, then I moved to Unreal... saw it in my library thought I'd click through just for fun. Looking at it more I suppose it's a universal tool, though I really only used with with the Godot Dialog system... Any one actually know a good work flow for actually using it with Unreal?
Is there a trial demo?
Purhased today. Where i can find Tutorial how add this dialogues to Construct 3 ?
Still waiting on my steam key months after buying this. If you are looking for a free and mantained alternative for Gamemaker (and other engines as well) then check out Chatterbox, Yarn Spinner and Crochet Interactive Dialog Editor.
Buyers Beware: this software is no longer maintained. It has serious bugs that make it unsuitable for use in production.
Buyers beware! This software does not work on M1 Macs and there do not seem to be any Steam keys available. If you're planning to develop on a Mac, plan to spend your money elsewhere.
thanks
Great application. Are there any plans for HiDPI support on MacOS and Linux? I ask because its really small to read on my X1 laptop compared to my PC.
There was an update posted awhile back with a few suggestions on how to scale up the interface: https://radmatt.itch.io/dialogue-designer/devlog/156541/4k-resolution-fix-interf...
Thanks Mark!
When will steam keys be available again? And will there be a fix for M1 Macs?
PLEASE, make the UI on OSX scalable. I'm on MacBook with a 13'3 inch display and right now it looks like it's permanently set to size 4 or 6. Currently, on OSX at least, this app is impossible to be worked with. *I'm working on it through Steam if it means anything.
There seems to be a new issue on Mac that is not related to permissions. I am running MacOS 12.4 on Intel CPU.
yes I am having the same issue. MacOS 12.4, but mine is not intel but M1 Pro.
Can confirm this issue on macOS 12.3 with Intel Mac
Can still confirm. MacOS 12.5.1 Intel.
Also, the steam keys are empty.
3.2.4 has introduced a fairly annoying bug where the individual node collision boxes don't line up with what's visible on the screen. This can make it really difficult to link nodes depending on the zoom level. I've tried this on multiple PCs with different display ratios and resolutions. Hopefully we'll see another update at some point that'll fix this.
I would like to use Dialogue Designer to structure the entire course of the game.
The things I would really like in Dialogue Designer would be project tabs and duplicating nodes preserving their size.
Really great product! It was very straight forward to implement in Construct 3 and works beautifully.
The one feature I would love to see is that the 'Execute' block also had a dropdown-menu with predefined code samples/function names as local variables have.
Is the project abandoned? This software is great but needs to be polished a lot. Unfortunately there were no updates in almost a year and @radmatt is sadly ignoring all requests.
If no updates are planned, would you consider making DialogueDisgner an open source?
Hi,
there are some updates planned for DialogueDesigner in the near future. Recently I've been busy with my other app but I will soon come back to this one.
I apologize if I seem to be ignoring requests, I'm just busy and usually miss them.
Any plans for an update? Would love to see multiple zoom levels and the ability to change variables/characters names
Hi, Matt! Love the tool so far. I got some feedback and ideas that could be cool.
I agree with the post before me regarding translators. Would love to be able to mark a language as "Default" or "Reference" and have a secondary window pop up next to the text window showing the reference language if some other language is being edited.
It would also be nice to be able to embed keywords like "Characters" in the text like [Characters=Interacted Character] and have them highlighted in a separate "parsed" window (so you know you've written it correctly). If that were to be implemented, being able to add custom categories with keywords like "Items" or "Locations" would also be a great plus!
Cheers!
Starting to stack up a bit, but any plans on creating a switch statement node for variables?
It's been a while since the last update, but I have a small suggestion that would be pretty easy to implement and add greatly to QoL - that being a toggle option between the last two languages selected. Would be nice for our poor translators to switch between the base language and the target language with the press of a button rather than having to use the drop-down menu in the corner each time.
Cheers
There is a new update planned after GridlessDB comes out. I'll add your request to the to-do list.
Would it be possible to add a feature to duplicate multiple nodes at once? For what I've see it's only possible to duplicade one node at a time.
Hi Matt,
Great software! I want to make a few requests:
1. It would be great if the files knew their own name. For example if i save a file as foo.json but then externally edit it as bar.json and re-open. When I save it still wants to save itself as foo.json. I think it should just associate itself with whatever it's file is actually named in the file system.
2. Similar issue with folders. Having a base project folder is a bit odd. It would be better to just have a save dialogue pop up where you can choose a folder in your file system (similar to most other software). When you open the file back up it should know where it is located in your file system and want to save itself there by default (file > save). I have a lot of dialogue files and it gets hard to organize having to sit them all in the same base project folder.
3. Do we really need a 'save' and an 'export'? I get that export doesnt include the graph stuff used in the program itself but its really not saving you much to not have the graph included in your json. json files are really small to begin with. if someone is really upset about the size they can always go into the file and strip the graph info out of there.
--- Basically you should have a save, and save as option (just like most other software) ---
4. Global list of characters and variables please :)
Is there any chance to change the Charactername by language?
For example a NPC is called "Mystery Man" in english but "Mysteriöser Mann" in german.
Hey Radmatt!
I want to see if this is right for me, but the JSON example link you have isn't working. I just get a blank page.
You can download example dialogue files from the bottom of the page and open them in f.e Visual Studio Code (make sure to have a json beautifier addon). I also recommend Json Formatter Pro from windows store.
It is very intuitive to build dialogue, and I plan to use it in really big projects, but have a lot to things to improve:
(Current version is 3.2.1, using in GMS 2)
Bugs:
- The horizontal bar isn't working
- The purple baloon that shows the text of Show Message boxes flicks when changing zoom
- Don't know about other languages and engines, but in GMS you can't name variables inside a struct with numbers, like in Chance Branch and Random Branch (i hade to split strings to use it properly)
- I use a notebook, and the program doesn't accept when I use for example Ctrl + Alt + W (that would write "?"), and it's REALLY BAD having to use Ctrl + F Ctrl + V EVERY TIME
Missing features(something really basic):
- MORE ZOOM OUT, PLEASE (for what i've read from reviews, it's a really old problem that haven't been solved yet)
- Show Recent files in the "File..." section
Nice things to add:
- Option to minimize boxes
- Switch condition
- Option to search for a text (something like Ctrl + F)
Hello radmatt,
I've been using DD for renpy for a while now and I've been enjoying it so far, but in the last update the execute nodes of the program don't accept line break (pilcrow) characters anymore to allow multiple lines of code, which bars me from adding code that cannot be executed in separate nodes.
Personally, I require being able to write various lines of code in the execute nodes, or else my whole project can't work as intended. Considering that, I wanted to ask if you could restore the functionality of using line break characters, or if the execute node can be expanded, like the dialogue nodes, so that you can add various lines of code in each node: That would be an incredibly useful addition.
Thank you.
New version is up (3.2.2). You can now resize the execute node and pressing enter makes a new line.
Absolutely amazing. Thank you very much, this will help me tons with my project!~I wish you a great day.
Hello radmatt!
I have a question, do we really have to create every locales each time we create a file? Let say I have 10 locales, currently, each time I create a new discussion, I have to re-create those 10 locales, which make it unusable for me unfortunately.
That would be nice to have real "project" settings that are available in all new files we create, otherwise I don't see how it could scale to big projects.
Cheers! Looking forward new features.
The new version is up.
Just open up one of your existing files and tick the box.
And don't worry if you delete a locale and the texts in message nodes get deleted. You can just add the same locale ID and the text will appear back up.
Awesome, thank you for this great update!
I've been using Dialogue Designer for a while now and mostly it's really good. However, I think there really needs to be a field on the nodes to reference audio files.
I'm at a point now in my game where I want to add recorded speech over the text, and being able to reference an audio file directly from the node would be a godsend. All it would need to be is an extra field.
Matt, please add this. I'm willing to discuss the option of paying for you to take some time to do this if necessary.
You can message me over on Twitter under the handle @herrwebster if you want to discuss it further (I don't think we can send messages through Itch).
You should be able to already achieve that using variables. Create a variable named something like "audioFile". Then just set that variable to the name of the audio file you want to play prior to the character's dialogue.
I'm actually releasing a new version soon that will have your requested feature. Hopefully today.
The new update is up. You can now test it out.
See: https://radmatt.itch.io/dialogue-designer/devlog/216009/version-320-major-perfor...
Awesome job! That's just what DD needed. Downloading now.
Cheers
Just out of curiosity: With which software / language / engine have you developed this?
What's the basic usage of this tool? I bought it and I'm a little confused. Is each project for a single dialogue sequence? Or is a project suppose to contain all dialogue sequences for an entire game project?
The idea was to make a tool to create manageable, separate dialogue files for dialogue heavy games which require non-linear storytelling. Those files are meant to be connected by an external software, like a game engine or a framework.
Ok so If I'm understanding you correctly, if I'm making an RPG and I have 2 conversations, one between the player and a villager, then one between the player and the final boss, I would make 2 separate dialogue designer projects?
Yes, you would create two separate files. Think of them like they're image files that you edit separately of each other, and then put them together in the game engine.
I like this program. Keep up the good work! Wanted to ask if you can implement a better zooming option. I just started with my first dialog and after zooming out I realised that I may only see 2 or 3 dialogs at the same time which is nothing compared with the many dialogs which will be implemented. To move fast to a specific point I would appreciate a much more zoomed out view.
I think I just get the idea that you have a single file for each dialog? :O
Yeah, the idea is that you'd have one file for each dialogue. It seems to me like the best way to organize conversations.
Hey radmatt,
this tool has been great so far, I just have a question: What do the different speaker types mean? I understand "character" but what are "custom path" and "interacted character" for?
They simply change the value of one of the variables in the final dialogue file. You can interpret them any way you want in your game engine or framework.
Hi there :)
How is it licensed?
After spending a bit of time with Dialogue Designer, I have to say that I'm very happy with the program. Matt, I'm not sure how active you are in updating Dialogue Designer, but I thought I'd provide some feedback:
Being able to easily duplicate nodes would be a huge quality of life improvement. My suggestion would be ctrl+left click and drag to duplicate a node.
Choices: It would be really useful to be able to change the order of choices by dragging them. As most engines will use the order to loop and display to screen in order, being able to easily change the order would be a big help, as right now it requires deleting choices and rewriting, and relinking. It's a major pain when you realise you need a new choice at the top of the list.
Renaming characters. Currently, any change to a character name requires a new entry, which means that every node they speak on must be manually changed. Ideally, this could be changed at the character panel with changes reflected automatically across nodes. Renaming variables would be a similar improvement, but only if it auto-updated any node references to the changed variable.
Ability to add additional values to nodes would be useful. I'm currently using slide_camera as a boolean checker for animation control, but it would be nice to be able to rename it or add multiple checks.
Start node is not always index 0 which is annoying as you need to loop through the json to find the start block
When removing languages from a project, they are not removed from choice branches.
Overall, I'm really happy with DD. I'm hoping it continues to get the support it deserves.
I got a big problem with this app and just wanna share my experience. DON'T EVER make something that overwrites a file without asking for confirmation.
I did a copy of a .json file and renamed it, but when i opened and made i change on it, i pressed a button to save and he saved on the previous file name... and in a second i just lost a few days of work.
For anyone struggling to implement this into Construct 3, I've created an example project that might be useful. Note that it's in the style of my game which is more like an adventure game (inspired by Monkey Island's dialogue system), though it wouldn't be hard to adapt to your needs.
https://www.construct.net/en/tutorials/dialogue-designer-construct-2624
Hopefully it might be useful to someone.