Dialogue System for Unity 1.6.6 Released!

Version 1.6.6 is now available on the Pixel Crushers customer download site and should be on the Unity Asset Store in 5-7 days. If you’d like access to the customer download site, please contact us with your Unity Asset Store invoice number.

Highlights of this version are:

  • Dialogue entries now have a UnityEvent to which you can assign event handlers.
  • Increment On Destroy can now fire on Disable instead of Destroy, making it useful for pooled objects and other systems that disable instead of destroy objects.
  • Added Letterbox style Unity UI Dialogue UI prefab.
  • Updates to support for Adventure Creator, RPG Kit, and Third Person Controller.

Version 1.6.6


  • Improved: Dialogue entries can now execute UnityEvents.
  • Improved: If quest is updated while quest log window is open, window auto-updates.
  • Improved: QuestStateListeners now support Conditions.
  • Improved: Zoom2D() sequencer command now recognizes ‘original’ keyword.
  • Improved: IncrementOnDestroy now has option to fire on Disable instead of Destroy.
  • Fixed: Bug in PersistentPositionData saving position in levels with periods in their names when Restore Current Level Position was ticked.
  • Unity UI:
    • Added: Letterbox movie subtitle style UI.
    • Fixed: LocalizeUIText.UpdateFieldName wasn’t correctly updating field name.
    • Fixed: LocalizeUIText if using Dialogue Manager’s default localized text table didn’t check if table had requested language.

Third Party Support

  • Adventure Creator: Updated for AC 1.52. ‘Use Adventure Creator Subtitles Setting’ checkbox now defaults to false.
  • Chat Mapper: Converter now doesn’t add AudioWait() commands for Audio Files if the commands are already in the Sequence.
  • RPG Kit: OverheadIconUI now supports IconConditions.
  • Third Person Controller:
    • Bridge now also saves and loads health & shields.
    • Added TPCCameraState() sequencer command.
    • Fixed bug when saving position in levels with periods in their names.
    • Removed deprecated API warnings in Unity 5.3+.

Dialogue System for Unity 1.6.5 Released!

The Dialogue System for Unity 1.6.5 is now available on the Pixel Crushers customer download site (contact us with your Unity Asset Store invoice number for access) and should be on the Unity Asset Store in a few days!


Version 1.6.5


  • Added: IncrementOnDestroy: Condition.
  • Added: Quest State Indicators. Updated Quest Example scene.
  • Added: Bark sequences can now reference entrytag.
  • Added: DialogueManager.PlaySequence(…entrytag) variant to specify an entrytag.
  • Fixed: Dialogue Editor got out of sync with database after playmode in Unity 5.3+.
  • Fixed: Dialogue Editor reported NullReferenceExceptions in editor while adding new localization fields but before entering field title.
  • Fixed: ConversationTrigger didn’t mark scene dirty when changing conversation selection.

Third Party Support

  • NGUI: Added NGUI Continue Button Fast Forward component.
  • ORK Framework: Added more warning logs in case of typos in Lua functions.

Dialogue System for Unity 1.6.4 Released!

The Dialogue System for Unity 1.6.4 is now available on the Pixel Crushers customer download site. Contact us with your Unity Asset Store invoice number for access.

It should be available on the Unity Asset Store in a few days!


Version 1.6.4


  • Added: OnEnter & OnExit events to RangeTrigger.
  • Added: ResetBarkHistory method to BarkTrigger & BarkOnIdle.
  • Fixed: Dialogue Editor window inappropriately auto-selected the current dialogue entry in the Inspector when switching into playmode even when something else was selected.
  • Fixed: SetEnabledOnDialogueEvent component’s Lua Condition Wizard wasn’t working in Inspector.
  • Improved: LuaInterpreter can now handle exponents with “+” signs such as 1.3E+5 (as well as 1.3E-5 and 1.3E5).
  • Improved: Added string.find() function to LuaInterpreter.
  • Improved: Added continue button support to default (fallback) dialogue UI.
  • Unity UI: Added OnOpen & OnClose events to UnityUIQuestLogWindow inspector; auto-focus also works better now.

Third Party Support

  • Adventure Creator: Updated example scene for AC 1.5.1.
  • Realistic FPS Prefab: Now also saves bullets left in clip in addition to reserve ammo.
  • UFPS: Added Lock Cursor On Start checkbox to FPFreezePlayer.

Dialogue System 1.6.3 Released!

Version 1.6.3 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 a few days!

This release primarily fixes a save issue with the Dialogue Editor window. All Dialogue System users should update to 1.6.3.

RelationsInspector Adds Dialogue System for Unity Support!

Seldom Tools’ RelationsInspector 1.1.2 now has support for the Dialogue System, and it’s currently 50% off!

This great tool produces visual representations of all kinds of hierarchical data in your project. For the Dialogue System, it will show you:

  • What GameObjects in your scene are connected to Dialogue System conversations, barks, or quests. (Documentation)
  • Which conversations your cross-conversation links connect to. (And you can jump straight to the dialogue entry with a single click!) (Documentation)

For example, this screenshot shows which GameObjects in the Quest Example scene are connected to conversations and quests:


If you have complex dialogue, or any complex data in your project, RelationsInspector looks like a really useful tool. You can get it here:

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.