v0.1.7 - Added Godot (and other engines) Support
Dialogue Visual Editor » Devlog
Hi! After the whole Unity debacle, I've been upgrading the Dialogue Visual Editor to be able to save projects and import them into other engines that use C#, especially Godot. For that, I've used Newtonsoft.Json to serialize the SavedData class into a JSON. So now you have the option to save it with Unity serializer or Newtonsoft's one!

Also, is retrocompatible! You can load a Unity serialized JSON and save it as a Newtonsoft one and vice-versa.
The only extra step is adding Newtonsoft.JSON to your project and a custom serialization binding when deserializing. This is an example for godot.
using Godot;
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
public static class JsonSerialization
{
private static JsonSerializerSettings SerializerSettings => new JsonSerializerSettings()
{
ReferenceLoopHandling = ReferenceLoopHandling.Ignore,
TypeNameHandling = TypeNameHandling.All,
Formatting = Formatting.Indented,
SerializationBinder = new MySerializationBinder()
};
public static SavedData ReadJson(string json)
{
string storyJson = FileAccess.Open(json, FileAccess.ModeFlags.Read).GetAsText();
return JsonConvert.DeserializeObject<saveddata>(storyJson, SerializerSettings);
}
}
public class MySerializationBinder : DefaultSerializationBinder {
public override Type BindToType(string assemblyName, string typeName)
{
switch(typeName)
{
case "SavedData": return typeof(SavedData);
case "NodeData": return typeof(NodeData);
case "LineData": return typeof(LineData);
case "DialogueLineData": return typeof(DialogueLineData);
case "ActionLineData": return typeof(ActionLineData);
case "GoToLineData": return typeof(GoToLineData);
case "ConditionalType": return typeof(ConditionalType);
case "ConditionalLineData": return typeof(ConditionalLineData);
case "ChoiceData": return typeof(ChoiceData);
case "System.Collections.Generic.List`1[[NodeData, Assembly-CSharp]]": return typeof(List<nodedata>);
case "System.Collections.Generic.List`1[[LineData, Assembly-CSharp]]": return typeof(List<linedata>);
case "System.Collections.Generic.List`1[[ConditionalLineData, Assembly-CSharp]]": return typeof(List<conditionallinedata>);
default: return base.BindToType(assemblyName, typeName);
}
}
public override void BindToName(Type serializedType, out string assemblyName, out string typeName)
{
assemblyName = null;
typeName = serializedType.Name;
}
}
Other additions to the 0.1.7 version:
- The Save button will automatically save with your last saving configuration and override your last save. In case you never saved before, it will ask for a path and default for Newtonsonf serialization.
- The Dialogue Simulator will show errors. Various errors related to invalid conditional comparisons have been added.

Files
Dialogue Visual Editor - Win64 23 MB
Version 0.1.7 Nov 03, 2023
Files 5.4 kB
Version 0.1.7 Nov 03, 2023
Get Dialogue Visual Editor
Buy Now$15.00 USD or more
Dialogue Visual Editor
Create branching dialogues easily with this editor and import them to Unity or Godot!
| Status | In development |
| Category | Tool |
| Author | Luc Naril |
| Genre | Visual Novel |
| Tags | dev-tool, editor |
More posts
- v0.2.0 - Csv export for localizationDec 22, 2023

Leave a comment
Log in with itch.io to leave a comment.