GUILayout Conversation System (Unity 3D)

Even if everything can be entirely scripted in Unity, sooner or later different kind of tools has to be introduced to allow a better workflow when working with any kind game project (Well, atleast with the larger projects).

    One of my the tools I've created is the conversation system showing the video above. This tool allows anyone to create visual connection between "conversation nodes" that can easily be edited and saved to the prefabs of Unity themselves since every conversation-tree can be serialized. The system also supports plugins, allowing external connection to the rest of the game. Some of there plugins are visible in the drop-down windows in the video (eg. has_item, has_item_with_prop and so on).

Main features:

  • Node based conversation: The user can add and remove unlimited nodes with just a click, all done in the plugin's GUI area allowing panning over all nodes.
  • Plugin: Scriptable plugin base allowing a programmer to add functionallity (conditions and triggers) to the conversation-nodes with parameters and list-options. The system can also get feedback from the plugins such as if the condition was successfull or not.
  • Conversation Reader: A simple to use conversation-reader that can be used to read from a conversation script, returning accessible data to read from before making a descicion.