Dialogue System 1.6.2 Released!

Version 1.6.2 is available for immediate download on the Pixel Crushers customer download site (contact us with your Asset Store invoice number if you need access) and should be available on the Asset Store in 5-7 days!

The highlights of this release are:

  • Fixed a Dialogue Editor serialization bug.
  • More robustly finds actors’ GameObjects when they’re not specified explicitly.
  • Updates to third party support packages, including new SLATE integration.

The full release notes are:

Version 1.6.2

  • Changed: When removing localization fields from template, instances from all assets in database are also cleaned up.
  • Improved: OverrideActorName now also associates GameObject with actor name, making it easier for conversations to find GameObjects for non-primary participants; GameObject name no longer needs to match actor name.
  • Improved: If GameObjects aren’t provided to DialogueManager.StartConversation(), looks for primary actor/conversant’s GameObject in scene.
  • Improved: Quests can now have optional Display Name field to display in UIs instead of Name field.
  • Improved: OnDestroy triggers (including IncrementOnDestroy, PersistentDestructible, etc.) handle application quit gracefully.
  • Improved: AudioWait delays 1 frame to allow previous dialogue entry to finish its sequence cleanup first.
  • Improved: Added QuestLog.SetQuestTrackingAvailable(); QuestLog.SetQuestTracking() also sets tracking available (Trackable) when enabling tracking (Track).
  • Improved: Added recursion limit to Tools.GameObjectHardFind(), which is used to match GameObjects to actor names.
  • Fixed: Build bug with UWP10/Xbox One.
  • Fixed: Unity UI Quest Log Window issues: Windows without entry containers inadvertently showed entries that were in unassigned state; Generic & Mobile styled windows failed to fade in due to an Animator misconfiguration.
  • Dialogue Editor:
    • Fixed: Dialogue Editor serialization issue.
    • Improved: Can reorder quest entries.
    • Improved: Additional database merge option to replace conflicting assets (actors, conversations, etc.) with new version instead of appending.
    • Beta: Search bar in conversation node editor.

Third Party Support

  • Adventure Creator: Updated RefocusResponseMenu action to also auto-focus continue buttons if appropriate, and handle inactive UIs.
  • plyGame: Updated for plyGame 2.8.5; Dialogue System plyBlox events now report separately.
  • Realistic FPS Prefab: Updated for RFPS 1.23.
  • S-Inventory: Updated for RFPS 1.23.
  • SLATE: Introduced integration package.
  • UFPS: Updated for UFPS 1.6.

Dialogue System for Unity 1.6.1 Released!

Version 1.6.1 is now available on the Pixel Crushers customer download site and should be available on the Unity Asset Store in a few days!


Version 1.6.1


  • Added: DialogueSystemEvents component.
  • Added: OnPrepareConversationLine(DialogueEntry) message.
  • Improved: AudioWait() sequencer command now resets audio source’s previously-assigned clip when done.
  • Improved: Audio() sequencer command now specifies clip name when it can’t find the named clip.
  • Fixed: LuaInterpreter can now parse negative exponents in numbers (e.g., 1E-5).
  • Fixed: BarkOnIdle now resumes when disabled & re-enabled.
  • Editor:
    • Added lock checkbox to dialogue editor zoom.
    • Inverted direction mouse wheel zooms.
    • Exposed DialogueEditorWindow.OpenDialogueEntry(DialogueDatabase database, int conversationID, int dialogueEntryID)
    • Fixed: In rare cases changes to dialogue database didn’t get saved.
    • Fixed: Editing Sequence fields in editor and Sequence Trigger inspector didn’t save in some cases.
    • Fixed: Dialogue System Trigger didn’t allow you to set a different reference database.
  • CSV Import/Export:
    • Fixed: CSV import of localized text tables hung on certain multiline strings.
    • Fixed: CSV Converter now handles multiline rows with unterminated quotes.
  • Unity UI:
    • Added Wait One Frame & Interrupt Audio Clip checkboxes to typewriter effect.
    • UnityUITimer: Can now subclass to override countdown behavior.
    • Fixed: Include Invalid Entries with Buttons list Unity UI
    • Fixed CanvasGroupAnimator.Hidden clip: could cause 1-frame flash if deactivating while shown then reactivating.
  • Legacy Unity GUI: Fixed navigation when “Show Unused Buttons” was ticked.

Third Party Support

  • Adventure Creator: Added AdventureCreatorBridge option to use AC‘s subtitle toggle.
  • articy:draft:
    • Added option to convert enums (dropdowns) and slots as string names.
    • Exposed ArticyConverter.ConvertExpression(string) method.
    • Fixed error message when destination directory didn’t exist.
  • RPG Kit: Updated OpenShop method/Lua function for RPG Kit 3.1.1+.
  • Third Person Controller: Bridge script now calls rbcc.StopMovement() to stop player when starting conversation.
  • UFPS: Added PauseUFPS script and instructions on using Dialogue System Menu Template with UFPS.
  • UniStorm: Added support to include UniStorm time and weather in saved games.


How to Move a UFPS Player in the Direction the VR Headset is Looking

If you’re using Opsive’s UFPS (Ultimate FPS) in Unity with a VR headset such as an Oculus Rift, you can add this script to the UFPS player to automatically rotate the player in the direction that the headset it looking.




Dialogue System for Unity 1.6.0 Released!

The Dialogue System for Unity 1.6.0 is now available on the Pixel Crushers customer download site! (Contact us with your Unity Asset Store invoice number if you need access.) It should be available on the Unity Asset Store in 5-7 business days.


Version 1.6.0


  • Added: ShowAlert() Lua function.
  • Fixed: SetContinueMode(true) now correctly shows re-enabled continue button.
  • Fixed: Cross-conversation link dropdown menu was showing incorrect options.
  • Fixed: Lua condition wizard Apply position now positions correctly when Inspector view is narrow.
  • Fixed: Conditions in trigger editors sometimes didn’t use selected dialogue database.
  • Fixed: Computation of {{end}} duration now correctly ignores rich text codes.
  • Fixed: Dialogue Manager banner image now shows even if the Dialogue System folder moved in the project.
  • Dialogue Editor:
    • Added: Can now zoom node editor in/out.
    • Added: Cross-conversation links are now indicated by short red arrow.
    • Added: Orphan nodes are now highlighted in red.
    • Improved: Increased Dialogue Editor node canvas size 10x in each direction.
    • Improved: Localized Text Table editor can now specify encoding type (UTF8 or Unicode) to use when importing/exporting.
    • Fixed: Editor lost current database selection when switching into playmode.
    • Fixed: Dropdown entry text misinterpreted slashes in rich text codes as submenu dividers.
  • Unity UI:
    • Added: Unity UI & Unity GUI quest groups are now collapsible in quest log windows.
    • Added: Quest Tracker now has checkbox to show/hide container if empty.
    • Added: Unity UI Ignore Pause Codes component; updated prefabs to use this for reminder lines and use Unscaled Time animation.
    • Added: LocalizeUIText.UpdateFieldName().
    • Improved: Unity UI scripts no longer force Time.timeScale=1 during show/hide animations.
    • Improved: Unity UI Typewriter Effect now only allows one copy on a GameObject. Added OnBegin, OnCharacter, OnEnd events.
    • Fixed: Quest log window properly populates when paused.
    • Fixed: Canvas Animator Controller Show animation clip ensures Canvas gets re-enabled properly even after deactivating & reactivating GameObject.

Third Party Support

  • articy:draft: Converter now logs Articy ID with conversion errors to make it easier to track down missing assets.
  • Chat Mapper: Added import/export of dialogue entry canvas positions.
  • Cinema Director: Added Show Alert event. Visible events now show stand-in message during preview. Updated example scene with Show Alert and Start Conversation events.
  • NGUI: Quest groups are now collapsible in quest log windows. Added Wait for Continue Button option to bark UI.
  • ORK: Added Get DS Variable and Set DS Variable event steps.
  • Realistic FPS Prefab:
    • Added PauseAIOnConversation component to properly pause AI during conversations.
    • Added instructions on how to stop conversations if NPC gets hurt.
  • Rogo LipSync: Updated for LipSync 0.61.
  • RPG Kit: Updated for RPG Kit 3.1.3.
  • S-Inventory: Updated S-Inventory Realistic FPS Prefab SInventoryWeaponPickup to call ActivateObject for MonsterItemTrap.

Dialogue System for Unity 1.5.9 Released!

Version 1.5.9 is now available on the Pixel Crushers customer download site! (PM me your Asset Store invoice number if you’d like access.) It should be available on the Asset Store in a few days.
I’m really excited about some handy new features in this version. Some of them are:

  • Conversation-specific overrides. You can now set subtitle behavior, default sequences, timeout values, and more in the Dialogue Editor without having to use an Override Display Settings component.
  • You can now use [lua(…)] and [var=varName] markup in sequences. This adds a lot of new power and flexibility to sequences.
  • Other Dialogue Editor improvements: You can now append fields with the Lua wizard. There’s a new button to quickly swap the speaker and listener in a dialogue entry node. The quest editor has a Use Group checkbox to make it easier to organize quests into groups.
  • Added RPGMaker-style timing commands to the Unity UI Typewriter Effect. For example, use “\,” to pause 1/4 second, “\.” to pause 1 second, “\^” to instantly finish the rest of the text, etc.
  • Runtime articy:draft importer: You can now import articy:draft data at runtime! (Runtime Chat Mapper import was already supported.) This provides another option for adding modding support to your games.

These were all feature requests from the community. Thanks for the great suggestions!

Here are the complete release notes:

Version 1.5.9

  • Changed: All triggers that are set to OnDestroy now respect LevelManager’s OnLevelWillBeUnloaded message and won’t fire in this case.
  • Changed: Audio/AudioWait sequencer commands no longer set AudioSources with volume=0 to volume=1.
  • Changed: For Windows Store/Phone compatibility, UTF7 & Default encoding is now Unicode, ASCII encoding is now UTF8.
  • Changed: Refactored several editor classes to support runtime articy:draft imports.
  • Added: Can now import articy:draft projects at runtime.
  • Added: Lua SetQuestState() and SetQuestEntryState() functions.
  • Added: OnQuestStateChanged message when quest states change.
  • Added: OnLinkedConversationStart when an active conversation links to another conversation.
  • Improved: Can now use [lua] & [var] markup tags in sequences.
  • Improved: Uses correct portrait picture according to participant’s GameObject name or OverrideActorName component.
  • Improved: GameSaver searches scene for a LevelManager if it doesn’t have one as a child.
  • Fixed: Trigger editors weren’t saving changes made to instances of prefabs in some versions of Unity.
  • Fixed: [ConversationPopup] attribute with non-default database now shows correct conversation in playmode.
  • Dialogue Editor:
    • Added: Optional conversation-specific overrides for subtitle behavior, default sequences, etc.
    • Added: Button to quickly swap a dialogue entry node’s speaker & listener.
    • Added: Use Group checkbox to Quest tab.
    • Improved: Lua wizards: Added option to append existing field; now applies automtically if you move away; added SimStatus & Custom dropdowns.
    • Fixed: Can now select cross-conversation links to group nodes or nodes without dialogue text.
    • Fixed: Sync Actors now syncs alternate portrait images.
  • Unity UI:
    • Improved: Typewriter effect timing codes added; improved rich text code support; automatically enables rich text support if needed.
    • Fixed: Removed duplicate typewriter effect from JRPG Dialogue UI prefab.

Third Party Support

  • Adventure Creator: Added component to fit UIs to forced aspect ratios.
  • Makinom: Show Alert node now uses Makinom string value, not a string literal.
  • ORK Framework: Run Lua action can now specify return value type.
  • Realistic FPS Prefab: Conversation handler prevents VisibleBody from animating body & CameraKick from bobbing camera.
  • Rogo LipSync: Updated for 0.5 compatibility.
  • RPG Kit: Made playerInventoryGameObjectName editable in RPGKitBridge; quest log window no longer hides cursor when closing by pressing Escape.
  • SALSA with RandomEyes: Updated for SALSA 1.4 compatibility; added support for RandomEyes shape groups.
  • Third Person Controller: Updated for Third Person Controller 1.2 compatibility.

Dialogue System for Unity 1.5.8 Released!

The Dialogue System for Unity 1.5.8 has been released! It should be available on the Unity Asset Store in a few days. If you need to get it sooner, please contact us with your Asset Store invoice number for access to the Pixel Crushers customer download site.


Version 1.5.8


  • Updated for compatibility with Unity 4.7 and Unity 5.3.
  • Added: Help menu item to open Dialogue System Extras (free bonus material) URL.
  • Added: Quest groups. Added support for groups in Dialogue Editor, quest log windows, and QuestLog API.
  • Added: Added Allow Simultaneous Conversations checkbox to Dialogue Manager, support for simultaneous conversations.
  • Added: Added Default Player Response Menu Sequence to Dialogue Manager.
  • Added: Added Sort By IDs checkbox to CSV Converter.
  • Improved: Added Use Name In Database checkbox to Override Actor Name component (for localization).
  • Improved: Added Priority field to Override Dialogue UI and Override Display Settings components. Conversations choose the highest priority override.
  • Improved: Selector no longer requires an EventSystem.
  • Improved: Sequence fields in Dialogue Editor, Sequence Trigger & Dialogue System Trigger now have a helper menu.
  • Fixed: Can now undo when editing Dialogue Text in the inspector.
  • Fixed: Lua wizard in trigger components was applying the wrong quest state.
  • Changed: When splitting pipes (e.g., Chat Mapper Converter), sequences by default place {{end}} commands on the last split.
  • Changed: Unity 5 DLL package is no longer included with the Unity 4 version; download the Unity 5 version from the Asset Store instead.
  • Dialogue Editor:
    • Miscellaneous usability improvements.
    • Support for quest groups.
    • Can now add custom fields to individual dialogue entries in the inspector.
    • Added option to CSV Export to specify conversations after dialogue entries.
  • Unity UI:
    • Added: Support for animated portraits.
    • Added: Autonumbering support.
    • Improved: Quest log windows now support groups.
    • Improved: Can now assign Unity UI dialogue UI prefabs.
    • Fixed: Issue where alert panel was briefly visible at start of scene.
    • Fixed: Typewriter wasn’t handling word-based rich text color codes (e.g., “blue”) properly.

Third Party Support:

  • Adventure Creator:
    • Added Dialogue System Lua Check action and VarChangeWatcher action list component.
    • Added option to prefix global variable names in AdventureCreatorBridge.
  • articy:draft:
    • Added support for cross-conversation links.
    • Fixed bug trying to import textures not in project.
  • Chat Mapper:
    • Added Smart Split checkbox to split pipes more wisely by putting {{end}} commands on the last split.
    • Fixed bug that wasn’t removing ‘Resources’ from audio file resource paths.
  • ICode: Added Update Quest Tracker action.
  • Master Audio: Updated for Master Audio compatibility.
  • NGUI: Added support for groups in quest log window. Added Follow Target checkbox to NGUI Selector Display.
  • PlayMaker: Conversation actions (e.g., Start Conversation) can now select conversations from a dropdown. Run Lua action can now use Lua wizard.
  • plyGame Support: Updated for plyGame 2.7.3 compatibility. Added Component menu item for event handler components.
  • Rogo LipSync: Updated for LipSync 0.402 (now supports Unity 4.6.4+).
  • RPG Kit:
    • Updated for RPG Kit 3.1.1/3.1.2 compatibility.
    • Now saves character-specific Dialogue System data.
    • Added RPG Kit Store Trigger No Out Of Range Message component.
    • Added support for overhead icons.
  • S-Inventory: Updated for S-Inventory 1.28 (requires Unity 5.0+).
  • UFPS: Reorganized and streamlined example scene; please delete Third Party Support/UFPS support folder and reimport.

Love/Hate 1.8 Released

Love/Hate 1.8 has been submitted to the Unity Asset Store and should be available for download in a few days!

The big addition in Love/Hate 1.8 is plyGame support!

Version 1.8:

  • Changed: Save game serialization format changed to accommodate dynamically-created faction names.
  • Improved: Can now adjust number of witnesses processed per update.
  • Improved: Implemented fast lookup of factions by name and ID.
  • Improved: Added tooltip help to all inspectors.
  • Adventure Creator: Added SetRelationshipInheritable action.
  • Dialogue System: Added SetRelationshipInheritable() Lua function.
  • plyGame: Added support.

Love/Hate 1.7 Released!

Love/Hate 1.7 is now on the Asset Store!

Version 1.7

  • Added: Customizable emotion model. Includes a 22-emotion template for those who want to use the OCC model.
  • Added: Relationships can be marked inheritable (default) or non-inheritable (e.g., secret relationships).
    • NOTE: Save game serialization format changed to accommodate relationship inheritability value.
  • Added: Ability to affect relationship to subject’s parents when changing relationship to a subject.
  • Changed: When adding new factions in editor, initializes instead of copying previous item.
  • Fixed: Possible division by zero in deed evaluation.
  • Fixed: In editor, summing personality & relationship traits now clamp to [-100,+100].
  • PlayMaker: Added GetEmotionalState, SetRelationshipInheritability actions.

Dialogue System for Unity 1.5.7 Released!

The Dialogue System for Unity 1.5.7 is now available on the customer download site. (Contact us with your Unity Asset Store invoice number if you need access.) It should be on the Unity Asset Store in a few days!


Version 1.5.7

  • Dialogue Editor improvements:
    • Can now reorder items, actors, locations, variables, and conversations.
    • Copy Conversation now keeps original node positions in copy; if creating multiple copies, numbers them 1,2,3,etc.
  • Changed: Conversations also check actor (not just conversant) for dialogue UI/setting overrides.
  • Improved: Selector now only registers button/mouse up if selecting same object as when clicked down.
  • Improved: Sequencer now warns if it’s creating a temp MainCamera.
  • Fixed: If Dialogue Manager is configured to preload resources, gracefully handles errors in preloading.
  • Fixed: Bark On Idle didn’t respect Allow During Conversations checkbox.
  • Fixed: PC/NPC/Dialogue Manager wizards weren’t always setting saving all changes.
  • CSV Import: Fixed bug where some dialogue entry fields were duplicated.
  • Unity UI support:
    • Added: Script-free support for world space dialogue UIs (e.g., speech bubbles).
    • Improved: Can now queue alerts.
    • Fixed: Subtitles only trigger typewriter effect if script is enabled.

Third Party Support

  • articy:draft Converter improvements:
  • Added Starter template project.
  • Review button now uses custom fields to identify entity types.
  • Supports quest state dropdowns.
  • Splits dialogue fragments on pipes.
  • If dialogue fragment has Script field, it’s imported as dialogue entry’s Script.
  • Link order is now determined by position as in articy:draft’s Presentation Mode.
  • Improved searching for portrait images.
  • Chat Mapper: Added quest entries to starter template.
  • Inventory Pro: Support added (maintained by Inventory Pro developer).
  • PlayMaker: Added OnConversationResponseMenu event.
  • RPG Kit: Updated integration to support RPG Kit 3.1.
  • Third Person Controller: Updated (maintained by Opsive).
  • UFPS: Fixed cursor hiding in UFPS 1.5.0+.

Dialogue System for Unity 1.5.6 Released!

The Dialogue System for Unity 1.5.6 is now available on the Pixel Crushers customer download site. (Contact us with your Unity Asset Store invoice number if you need access.) It should be on the Unity Asset Store in a few days!


Version 1.5.6


  • Changed: Dialogue Manager prefab’s new Default Sequence value only delays instead of running camera closeups.
  • Dialogue Editor
    • Improved: Alt+LMB now drags canvas same as middle mouse button.
    • Fixed: Canvas dragging didn’t work immediately after dragging a node offscreen.
  • Triggers:
    • Improved: Dialogue System Trigger can now specify alert duration.
    • Improved: If Selector is set to mouse select and pointer is over a UI element, it won’t select usables underneath.
  • Unity UI:
    • Improved: Always adds an EventSystem to the scene if needed, even after changing scenes.
    • Improved: Quest Log Windows and Quest Tracker HUDs now allow alternate styles for success and failure states.
    • Improved: Unity UI typewriter effect audio improvements; no longer pauses on rich text codes.
    • Fixed: Resolved race condition in Show & Hide animations when rapidly showing and hiding windows.
    • Fixed: Runic & Generic prefabs allowed name field to be resized too small.
  • Legacy Unity GUI: Letterbox prefab layout now handles multi-line subtitles.
  • Improved: CSV Export now imports and exports portraits properly; can now import CSV into existing databases.
  • Improved: Voiceover Export now includes localization fields.
  • Improved: Localization can now use the default language if a localized field is blank. Added Localization.UseDefaultIfUndefined property.
  • Improved: [ConversationPopup] and [QuestPopup] attributes now accept optional bool to show reference database field.

Third Party Support

  • Adventure Creator: Lua action now properly updates alert messages and quest tracker HUDs in children of Dialogue Manager.
  • articy:draft:
    • Improved: Can now handle custom quest field titles that normally have space characters (e.g., “Success Description”).
    • Improved: Can now define quest states using a dropdown (or continue to use string as before).
  • GameFlow support: Added.
  • Makinom support: Added.
  • Rogo Lipsync support: Added.
  • plyGame: Updated for Unity 5.x compatibility.
  • UniStorm support: Added.