DUNILOG  1.7
 All Classes Functions Variables Pages
DUNILOG Documentation

This is the documentation for DUNILOG a Unity3D Extension

Please read Related Pages for specific topics




Description:
DUNILOG is a graphical node based dialog engine. It can handle text logic for simple things like presentations and even better highly complex conversation logic used in advanced games like Fallout, Mass Effect, Zelda, Final Fantasy and so on. Read on to see what DUNILOG can do for you.

Node based editor:
The editor contains a rich set of features to make your work easier when you have to handle a big project. You can zoom, move and focus in the node view just by the mouse. You can also split up your story in different scenes to get a better view on it. The project files are stored as xml to make editing and backing them up simpler.

Editor test environment:
All the conversations and logic can be tested in an editor test environment to separate the author work from the game creation process. This makes your workflow faster than testing it all the time in the game. One of the key features here is the possibility to make changes during run time.

The in game UI:
DUNILOG comes with an example ingame UI with a lot of features (alignment, skin, proportions). But also custom UI with any system (Unity GUI, 3D GUI, NGUI, etc.) is simple to create.

DUGManager:
Just one click and the editor exports all necessary features in one self containing prefab that does the whole job for you. Drop it into your scene and press play. It follows the MVC pattern, a player (see in game ui), a controller (the interface to the engine features) and the data container.

Localization:
That is a quick task - export a csv file, translate and import it again. Done. You can also do this in the node editor if you want to. All languages are testable in the editor and the test environment.

Variables:
DUNILOG can not just handle normal text nodes, it also comes with the possibility to handle variable logic like math operations and conditions. The variables can store all kind of information for example scores, names, counters, bools etc.. Variables also can be used to store visual objects like collected items which should be displayed in some way.

Event System:
There are many events you can hook into to get all informations about the current status of your story. So you are totally free to react to whatever change in the conversation (like a decision was selected, a decision was taken x times, etc.). The events always contain an object which holds all necessary data and variables to work with.

You are no coder?
Perfect, all of this cool features are completely accessible without a line of code. The DUGManager contains a list with all nodes and events you wanna hook into to spawn prefabs, sounds, script and so on. The UI is customisable (see in game ui). And the complex conversation logic is done visibly in the node editor without any coding.

Scriptable nodes and variables:
There is a in text scripting language which can do a lot of cool things like use random lists of words. An example: (Hi, Hello, Good morning, Good evening) so each time you visit the node it will say something else.

The API:
Everything in there is (I think) pretty straightforward to use. It contains all you need to query data, catch events, build players, inject data and so on. Also a function set to save and load the inner state of your story, which is not given by the most dialog engines. Also the whole code runs with an own prefix to not interfere with any other code and extensions.

Example project:
DUNILOG is shipped with an example project to see how to use it in a small game. Hope this will get you started very fast.




LINKS:
1.) Download
2.) A demo project I made up in less than one hour
3.) Unity forum thread





IMPORTAT!
All methode calls starting with "Editor" should not be used in a projects


ClassDiagram.png
Todo:
Write more docu ;)