Pixel Crushers' Dialogue System for Unity is now available on the Asset Store!
The Dialogue System is a proven, complete solution for interactive conversations, designed from the ground up with a polished user interface system, cutscene sequences (camera shots, animation, etc.), dynamic state, and more, with easy integration into your existing gameplay framework.
Version 1.1.8 is currently available on the Asset Store!
Recently Added Features: plyGame (UniRPG 2) integration, Core GameKit integration, Neverwinter Nights importer, articy:draft importer, and more."This dialogue system is by far the best one available on the Asset Store.
It comes with vast amount of different uses and features and a lot of examples and integration packages to make it work with other popular assets such as NGUI or uSeq in no time. Documentation is rich and all scripts are commented and summarized in a clear way which helps a lot while working with the system.
I'm using this asset with Chat Mapper and together they are awesome environment to write and test interactive dialogue. The implemented LUA system seems very powerful but so far I was only able to scratch the surface of it.
Since I had some questions regarding specifics of integration this system with my current project I had contacted the developer and he's a very nice person, replies are very quick, helpfull and straight to the point.
This is by far one of the best purchases I've made on the Asset Store."
Requires Unity 4.3.0 or higher.
- No scripting required
- Branching conversation trees
- Barks and alerts
- Cutscene sequences (audio, animation, camera work, etc.)
- Quick Time Events (QTEs)
- Quest system
- NPC status and relationship system
- Save and load games without scripting
- Integrates seamlessly with Chat Mapper, articy:draft, Neverwinter Nights 1 & 2 Aurora Toolset, or use the space-efficient, built-in outline style dialogue editor
- Optional Lua scripting environment
- Built-in support for PlayMaker, NGUI, Daikon Forge GUI, 2D Toolkit UI, uSequencer, and FaceFX
- Includes integration support packages for Ultimate FPS, Realistic FPS Prefab, and Killer Waves
- Modular interfaces let you swap in your own UI or cutscene system
- Easy language localization
- Complete, thoroughly documented and optimized C# source code
- Comprehensive documentation and tutorials
- Several beautiful, fully-customizable user interfaces
Works in Unity Free & Pro, and tested on standalone, web, and mobile.
We've arranged a promotion with Urban Brain Studios, the makers of Chat Mapper. Through April 2014, email us your invoice number for a 10% discount code good for any single Chat Mapper license."This is an amazing asset at every sense. It has a small learning curve but once you get the hang of it, creating dialogues is a breeze. The asset has a lot functions; has its own quest system and variables, a dedicated save system and Lua scripting support. Don't be alarmed by the word "scripting" though, it takes you few hours to learn the syntax and you're good to go. The examples provided with the asset are quite adequate, make sure you study them before you jump into creating dialogues.
The asset also has NGUI, Playmaker and uSequencer support which is actually why I chose this asset over the other similar ones. It works great with Chat Mapper software but if you don't want to go down that road, the asset has its own dialogue editor which is very easy to use. You can also create different styles of dialogues, from adventure games to Mass Effect type dialogues with quick time actions.
The developer was very quick to respond to an issue and very helpful. In short, this asset was $50 well spent. I'd recommend it to anyone who needs a solid dialogue system in their game."
Change History:"This is a very high quality, well documented, and powerful dialog system. I have used several of the others in this category and each has their weaknesses and strengths but overall usability and versatility of this system is in a class of its own. Make sure you look at the work that has gone into the documentation alone. If all assets were this well documented our lives would be much better. If you're concerned about support - no need. Fast responses from the author and clear and concise answers to the questions I have posed. Triple A Asset IMHO!
- New: GUI system-independent quest log window system, with built-in implementations for Unity GUI, NGUI, and Daikon Forge GUI.
- New: General-purpose Localization Tables.
- New: Override Actor Name component. Also, if Usable or Persistent Data name overrides are blank, Override Actor Name will be used if defined.
- New: Set Animator State On Dialogue Event and Set Animation On Dialogue Event components.
- New: (QuestLog) Added IsQuestTrackingEnabled(), SetQuestTracking(), IsQuestAbandonable(). New options reflected in Dialogue Editor.
- New: (Unity GUI): Can now change keyboard navigation click key from Unity's default Space.
- New: (Unity GUI): When keyboard/gamepad navigation is enabled, mouse wheel scrolls through choices.
- New: (PlayMaker): SetQuestTracking, IsQuestTrackingEnabled, and IsQuestAbandonable actions.
- New: (plyGame): SetQuestTracking, IsQuestTrackingEnabled, and IsQuestAbandonable blocks.
- Improved: Sequence & Lua Trigger inspectors now have multiline text areas.
- Improved: If a "Notes" field is defined in a dialogue entry, the editor shows it. Also added a foldout for All Fields.
- Fixed: Unity GUI controls weren't auto-fitting correctly in some cases.
- Improved: Replaced Dialogue Manager's Wait For Continue Button with multiple new options (Never, Always, Optional Before Response Menu, and Hide Before Response Menu).
- Improved: Added PC Name & Image properties to the response menu in dialogue UIs. When the response menu is displayed, you can now show the PC's name and portrait image as well as the NPC subtitle reminder's NPC name and portrait image.
- Improved: Dialogue database merging now has the option to assign unique IDs to prevent conflicts.
- Changed: Removed the obsolete Raw|Edit bar in the dialogue database inspector, since editing has been moved to the Dialogue Editor window accessible through the inspector's Edit... button.
- (NGUI) Changed: NGUIDialogueUI was finally converted to use the AbstractDialogueUI base class. There should be no impact to your existing NGUI dialogue UIs.
- New: Added plyGame Support (UniRPG 2).
- New: Added Prefabs/iOS/link.xml file to support iOS Pro code stripping.
- New: Added right-click context menu in Project view to open Dialogue Editor or Chat Mapper, and to create dialogue databases.
- New: Added Response Menu Sequence (plus localized versions) for sequences that can play during the response menu.
- New: Added WaitForMessage() sequencer command.
- New: Added command(...)@Message(X) syntax to allow sequence commands to wait for a message.
- New: Added Sequencer.Message() static method to send messages to sequence commands that are waiting for messages.
- Improved: Dialogue Editor now helps prevent an author from being able to corrupt or delete a conversation's start entry.
- Improved: Added DialogueManager.ConversationHasValidEntry() function to check if a conversation is currently valid; added Skip If No Valid Entries checkbox on Conversation Trigger and Start Conversation On Dialogue Event trigger.
- Improved: Proximity Selector now also works with 2D trigger colliders.
- Improved: Added access to the underlying LuaInterface virtual machine via the Lua.VM property.
- Changed: OnConversationLine is now broadcast to the target's children, not sent just to the target.
- Changed: Replaced default parameters with overloaded methods to assist UnityScript users in these classes: Lua, QuestLog, PersistentDataManager.
- Fixed: Conversion of emphasis tags to rich text had blue and green values switched.
- Fixed: If speaker and listener are the same object, it will now only receive one OnBarkEnd/OnConversationEnd/OnSequenceEnd message.
- Fixed: NullReferenceException if a Bark/Conversation/SequenceTrigger was set up in code at runtime instead of through inspector.
- Fixed: Bug in QuestLog.AddQuest that prevented the quest from displaying in the quest window.
- Fixed: Bug in UnityQuestLogWindow that prevented quest entries from displaying properly.
- (DFGUI) Added DFGUI example that demonstrates keyboard bindings to response buttons.
- (PlayMaker) Improved: Actions with return values now have events to make branching easier.
- (PlayMaker) Improved: Added Get/Set actions for Lua tables, variables, and quest entries; added Does Conversation Have Valid Entries action.
- (PlayMaker) Fixed: Get/SetQuestState now ensures quest state strings are lowercase to conform with Lua values.
- New: New Dialogue Editor window replaces the custom inspector, is significantly faster, and includes new features such as text search in conversations.
- New: Added easy-access DialogueLua methods to get/set Lua data.
- Improved: Added Reconvert button to dialogue database inspector to make it quicker to reimport from third-party authoring tools.
- Improved: (Chat Mapper) Converter now splits pipes (|) into separate dialogue entries.
- Improved: Added Include Name and Wait Until Sequence Ends checkboxes to bark UIs.
- Improved: Added Skip Continue On Response Menu checkbox to Dialogue Manager.
- Fixed: When DialogueTime is set to Gameplay and timeScale to 0, sequencer commands will now wait until time is unpaused.
- Fixed: SetActive() sequencer command now finds in-scene objects first, including inactive objects but only if the inactive objects have a root parent that's active.
- Fixed: LookAt(listener,X) sequencer command wasn't finding the right subject; also changed LookAt() without arguments to make the speaker and listener look at each other.
- Fixed: (Chat Mapper) Implemented a workaround for a Chat Mapper XML bug that identified Booleans as Numbers.
- Fixed: (Aurora NWN Converter) Now handles CDATA correctly; only adds jrl.xml or dlg.xml files as appropriate instead of all XML files.
- (Killer Waves/Core GameKit) Killer Waves integration is now Core GameKit integration due to the product's name change.
- (DFGUI) DaikonForgeDialogueUIs can now use dfRichTextLabels for subtitles.
Note: The Dialogue System for Unity now requires Unity 4.3.0+.
- New: Dialogue Manager Setup Wizard.
- Improved: Added examples using multiple dialogue databases, text input during conversations.
- Improved: All converters now mark dialogue databases as dirty when overwriting so Asset Server will pick them up.
- Improved: (Aurora NWN Toolset) Now converts journals; new button to add an entire folder of source files; encoding options for non-default languages; new script-handling options.
- Improved: (Chat Mapper) Now handles Chat Mapper pre-1.3 older outgoing links format.
- New: Quests can now have sub-entries.
- New: Added global Lua user script to dialogue database (also imported from Chat Mapper projects).
- Improved: Added import feature to dialogue database editor (doesn't resolve conflicting ID numbers yet).
- Improved: If a conversation starts with no actor or conversant GameObjects, the Lua variables Variable['Actor'] and Variable['Conversant'] are now set to the defaults defined in the conversation.
- Fixed: Conversations now follow nested groups and groups mixed with non-group entries.
- Fixed: In multiple-NPC conversations, the sequencer now finds alternate NPC speakers correctly.
- Fixed: Language localization of quest descriptions is now recognized.
- New: Added Stop Conversation If Too Far component.
- Improved: Added a checkbox to allow Conversation Trigger to stop the conversation if the other participant leaves the trigger area.
- Improved: Bark/Conversation/Quest/SequenceTriggers set to OnTriggerEnter now also respond to OnTriggerEnter2D.
- Improved: Selector & ProximitySelector now have a checkbox to choose between SendMessage or BroadcastMessage when sending OnUse to the target.
- New: Added sequencer commands AnimatorPlay(), ShowAlert()
- Improved: Animation() sequencer command can now play any number of animations in sequence.
- Fixed: Bug in MoveTo() sequencer command that left the subject facing wrong direction.
- New: Added text input capability to conversations: sequencer command TextInput(), Text Field UI, and Unity GUI control GUITextField.
- Improved: If a QTE is triggered in a conversation, the conversation immediately goes to the next entry instead of waiting for the end of the current entry.
- Improved: (Unity GUI) Keyboard/controller navigation; auto-size now works on all controls including response menu buttons.
- Improved: (DFGUI) Exposed DaikonForgeResponseButton.dfButton as a public property.
- Changed: Pipes ("|") in text are now treated as newlines.
- Fixed: Bug in DFGUI integration that prevented QTE indicators from showing.
- New: Dialogue Manager now has CurrentActor and CurrentConversant properties (valid during conversations).
- Improved: Updated to KopiLuaInterface v1.2.
- Changed: OnConversationEnd is now sent to participants after the dialogue UI is closed. This allows
- StartConversationOnDialogueEvent(OnConversationEnd ) to properly reopen the UI.
- New: Added support package for NGUI HUD Text Bark UI Component (requires NGUI HUD Text).
- New: Added sequencer commands AnimatorTrigger(), AudioWait(), Voice().
- Improved: Added optional finalClip parameter to Animation() sequencer command.
- Improved: Added Allow During Conversations checkbox to Bark Trigger.
- Improved: Added more examples scenes: Unity GUI Continue button, Menu Text + Dialogue Text, Three NPC bark sequence.
- Improved: Added Don't Destroy Root checkbox to NGUI and DF-GUI Bark Roots.
- Improved/Fixed: (NGUI/DFGUI) If an NPC with a NGUI or DFGUI bark UI is destroyed, its UI bark label is now also destroyed.
- Fixed: Bug in NPC wizard script that prevented adding bark UIs.
- Changed: In dialogue editor, lines with conditions now have literal string "[condition]" instead of the actual Lua condition. Multi-line conditions were causing overlapped text.
- New: Wizards to simplify configuration of NPCs, PCs, and gameplay integration.
- New: Separate dialogue database editor window. (Editing in inspector is also still available.)
- New: BioWare Neverwinter Nights 1 & 2 Aurora Toolset importer.
- New: Killer Waves integration.
- New: Added Rich Text Emphases checkbox to display settings to use rich text codes for emphasis tags.
- New: (PlayMaker) Added new actions: PreloadMasterDatabase, PreloadDialogueUI, SetStatus, GetStatus, SetRelationship, GetRelationship, IncRelationship, DecRelationship.
- Improved: Interface enhancements to the dialogue database editor and Chat Mapper importer.
- Improved: (UFPS, Realistic FPS Prefab): Added menu items for integration components.
- Changed: Moved scripts in Examples/Scripts to Scripts/Supplemental/Utility.
- Changed: The Always Force Response Menu display setting is now ticked by default.
- New: (DFGUI, TK2D) Typewriter effect for DFGUI and TK2D labels.
- Changed: Additional menu items in Window > Dialogue System > Help.
- Changed: If a conversation's first dialogue entry ("START") has an empty Sequence, it skips the sequence instead of playing the default sequence.
- Changed: The OnConversationLine message is now sent before showing the subtitle, allowing listeners to modify the subtitle before showing.
- Changed: When opening a Unity GUI conversation UI, the screen rects of controls are now always recalculated in case screen resolution has changed.
- Fixed: Bug with UI prefabs that prevented first subtitle from displaying if a dialogue panel was assigned.
- New: OnConversationStart and OnConversationEnd messages are now also broadcast to the Dialogue Manager object.
- New: Added OnConversationLineCancelled and OnConversationCancelled messages (see Notification Messages).
- New: Added optional Subtitle Continue Button.
- New: Added dialogue event trigger OnEnable (see Triggers).
- New: Added "Is Item" field to the Item (quest) table. If using the quest system, you can now set "Is Item" true on any actual items (i.e., non-quests) to exclude them from the quest system. To use this with existing databases, you'll need to add the field manually.
- New: Added DialogueManager.PreloadMasterDatabase() method.
- New: Added ProximitySelector component that can trigger OnUse messages based on proximity to usable objects. Also supports target selection callback delegates. (See Top Down Demo for an example.)
- New: (NGUI) Added the ability to set up templates for NGUI barks.
- Improved: Dialogue Manager now lazy-loads the UI. If you assign a new UI any time before the first conversation or alert message, the default UI will no longer be uselessly loaded.
- Improved: Unity GUI subsystem's GUIScrollView now includes child controls in the scrollview.
- Improved: Selector component now supports custom positions in addition to camera center and mouse position.
- Improved: Selector component now supports target selection callback delegates.
- Improved: (PlayMaker) Run Lua action can now save return values to Bool, Int, Float, or String variables.
- Improved: (PlayMaker) Additional error reporting in PlayMaker actions.
- Improved: (PlayMaker) The example scene now demonstrates many more actions.
- Improved: Expanded documentation on triggers.
- Improved: Usability improvements to the dialogue database editor.
- Changed: (DFGUI) Changed DaikonForgeBarkUI to use dfFontBase to allow selection of bitmapped or dynamic fonts.
- Fixed: (DFGUI) Bug in DaikonForgeFollowObject that caused bark text to pop when facing 180-degrees from barker.
- New: Added Range Trigger to enable objects & components in range (e.g., only bark when player is near).
- New: Added StartConversation(title) for conversations in which neither actor nor conversant has a transform.
- New: Added Quest as alias for Lua table Item.
- New: Added articy:draft Feature Demo example.
- Improved: Lua Console prints more info about table return values, now has a close button and scrollable output.
- Improved: Dialogue database editor visual enhancements in Item/Quest foldout.
- Updated: NGUI integration updated to support NGUI 3's new dynamic fonts; NGUI 2.x support is still provided but will no longer be actively developed.
- Fixed: (Daikon Forge GUI) When the first dialogue entry of the first conversation was a group node, the subtitle color was set to (0,0,0,0).
- Fixed: (2D Toolkit UI) When the first dialogue entry of the first conversation was a group node, the subtitle color was set to (0,0,0,0).
- Fixed: Bark Triggers weren't working on third-party objects, only if the trigger was on the barking character.
- New: articy:draft Converter.
- New: FaceFX support and FaceFX() sequencer command.
- New: Added ability to set watches on Lua expressions and quest states.
- New: Added notification of conversation lines and response menu timeouts.
- New: Added Dialogue Manager Display Settings checkbox Always Force Response Menu.
- New: Added Dialogue Manager Display Settings pop-up to specify default action on response menu timeout.
- New: Added Set Component Enabled On Dialogue Event trigger (control colliders and renderers).
- Improved: Several enhancements to the dialogue database editor interface.
- Changed: Daikon Forge UI code was refactored to use the new common abstract base. If you have a custom DF-GUI UI, you may need to reassign its controls. Daikon Forge UI now also shows and hides controls using dfControl.Show/Hide instead of deactivating game objects.
- Fixed: Group nodes now show subtitle reminders properly.
- Fixed: Bug where NPC subtitle reminder was still shown even when display setting was unticked.
- Fixed: (Realistic FPS Prefab) In Happy Robot example conversation, now only shows option to give katana if player has one.
- New: Added Quest Trigger and Set Quest State On Dialogue Event (see Triggers).
- New: Added Allow Only One Instance checkbox to Dialogue Manager settings; if checked, it enforces singleton behavior.
- New: Added Allow Alerts During Conversations checkbox to Dialogue Manager display settings.
- Fixed: Lua.Run().AsInt/Float can now also convert string values if they represent valid numbers.
- Fixed: Automatic monitoring of Variable["Alert"] was disabled; now re-enabled.
- Fixed: Improved the display of multiple alerts shown in rapid succession before the previous has fully faded.
- Fixed: Parsing bug in dialogue entries containing multiple [lua()] tags.
- New: Added Unity Dialogue UI "Circle".
- New: Added Unity Dialogue UI "Sci-fi" and accompanying quest log window.
- New: (2D Toolkit) Added 2D Toolkit UI support for dialogue UIS and bark UIs.
- New: (Daikon Forge) Added bark UI implementation for Daikon Forge GUI.
- New: (Daikon Forge) Added Daikon Forge GUI Dialogue UI "Fantasy".
- New: Added option to auto-size Unity GUI labels and buttons to exactly fix their content.
- Change: Refactored common code in dialogue UI systems into an abstract class. Updated Unity Dialogue UI system to use this; if you have a custom UI, you may need to relink the control properties on your Unity Dialogue UI component. The NGUI and Daikon Forge UI systems will be updated in the next release.
- New: (Realistic FPS Integration) Added LuaOnDestroy to facilitate kill counts/quests.
- Change: (Realistic FPS Integration) Replaced RemoveWeaponHandler with more flexible FPSLuaBridge, also tracks hit points, hunger, thirst, and weapons.
- Change: (Realistic FPS Integration) Updated example scene with additional quests and conversations.
- Change: (UFPS Integration) FPSyncLuaPlayerOnConversation replaces FPSyncLuaInventoryOnConversation, also tracks health, handles inventory more robustly.
- Change: (UFPS Integration) FPPersistentPlayerData replaces FPPersistentPositionData, also saves and loads health and inventory.
Version 1.0.9: (Submitted to the Unity Asset Store)
- New: Localization support.
- New: Daikon Forge GUI support.
- New: Added Show Cursor On Conversation component.
- New: Added sequence command Fade().
- New: Added Once property to triggers for one-time triggers.
- New: Added integration support for Azuline Studios' Realistic FPS Prefab.
- New: Added integration support for VisionPunk's Ultimate FPS (UFPS).
- Improvement: Minor visual improvements to some of the Unity GUI dialogue UIs.
- Improvement: Additional documentation on dialogue UIs.
- New: Added Unity Dialogue UI "Nuke".
- Improvement: General improvements to dialogue database editor.
Version 1.0.7 (Available now on the Unity Asset Store)
- Fixed: Bug in the conversion of group nodes in Chat Mapper 1.6 projects that raised ArgumentNullException.
- New: Added NGUI 3.x support.
- New: Added Chat Mapper 1.6.x support.
- New: Added sequence commands AnimatorController(), AnimatorLayer(), AnimatorInt(), AnimatorFloat().
"This dialogue system has all the bells and whistles and even being new on the asset store it is already very solid. The developer is quick to reply and very helpful with tips for integrating the asset into existing and new projects."
Please post any feedback here or email support (at) pixelcrushers (dot) com.