When importing new versions of the Dialogue System, please also re-import sub-packages in Third Party Support as these will often contain updates.
Version 2.2.50
Release Date: November 19, 2024
Core
- Improved: Added Audio Source field to Dialogue Actor component.
- Improved: CharacterInfo.RegisterTransform() (called in DialogueActor.OnEnable) also updates any active conversations' caches.
- Improved: When DialogueActor is disabled, it removes its info from active conversations' character info caches.
- Improved: Added Hide On Conversation Start checkbox to StandardBarkUI.
- Improved: Can now add links from multi-selected dialogue entry nodes to a target node.
- Improved: Clicking "+" to add field to collapsed template now automatically opens template's foldout.
- Improved: Numbers in sequencer commands can now end with 'f'.
- Improved: Added ConversationModel.Clear[All]CharacterInfo().
- Improved: When using Input System package, can assign input action references to UIButtonKeyTrigger component.
- Improved: Added Exceptions List to DeselectPreviousOnPointerEnter component.
- Fixed: DialogueManager.Bark() C# method when using RandomizeNextEntry() on group node that leads to exactly 2 nodes now randomizes.
- Fixed: CommonLibraryLua was not resetting properly between editor play mode sessions with domain reload disabled.
- Fixed: SMSDialogueUI resets shouldShowContinueButton on close.
- Fixed: Pressing cancel key (e.g., Escape) in TextInput() sequencer command now ends command.
Third Party Support
- Arcweave: Now handles complex nested conditional statements.
- articy:draft: Fixed import of flow fragment nested conversations that have input pin conditions and output pin instructions.
- HUD Navigation System: Added support.
- RT-Voice: Handles case where there are multiple sequencers on Dialogue Manager (e.g., simultaneous conversations).
- Timeline: Removed FindObjectOfType<T>() Unity 6 deprecation warnings in PreviewUI.
Version 2.2.49
Release Date: October 17, 2024
Core
Third Party Support
- Arcweave: Now handles else code in text elements better.
- i2 Localization: Added option to populate i2 with dialogue entries that have empty text.
- Localization Package: Addressed case where data copied to string table wasn't flushed to disk; handles custom default locales.
Version 2.2.48
Release Date: October 10, 2024
Core
- Added: Proofreading copy export/import.
- Added: DialogueDatabaseLocalizationImporter for runtime import of localization CSVs.
- Improved: Added customNodeContextMenuSetup delegate to customize dialogue entry context menu.
- Improved: Splitting dialogue text into separate entries on pipe characters now doesn't add empty entry if text ends with pipe.
- Improved: SetPanel(actor, panel) now supports 'custom' for panel.
- Improved: SMSDialogueUI always resumes its own conversations using itself as the UI in case you're using multiple dialogue UIs.
- Improved: SMSDialogueUI record/restore calls are now virtual. (Credit: emotitron)
- Improved: Audio/AudioWait() command now logs audio source when Debug Level is Info.
- Improved: Updated asmdefs with references to Addressables, Cinemachine, Input System, TextMesh Pro, and Timeline in case those packages are installed.
- Improved: ConditionPriorityUtlity.StringToConditionPriority now uses Enum.Parse.
- Improved: Dialogue Editor fields sections report duplicate fields; added Find Duplicate Fields report to Database > Check For Issues.
- Improved: Dialogue Editor's Database section will use entrytag format on Dialogue Manager if current scene has a Dialogue Manager.
- Improved: Added Activate On Enable checkbox to TimedEvent.
- Improved: Voiceover Script can now export/import optional field you can use to record whether entry was recorded, filename, etc.
- Improved: If conversation has called SetDialoguePanel(false) which cached & changed dialogue UI info but conversation doesn't undo with SetDialoguePanel(true), end of conversation undoes it.
- Changed: Assignment.VariableChanged is no longer invoked if variable is set to the same as its current value.
- Changed: IStandardDialogueUI interface has new OverrideActorSubtitlePanel signature.
- Fixed: Base Dialogue Manager prefab's Stop Evaluation At First Valid was ticked; should have been unticked by default to allow RandomizeNextEntry() to work.
- Fixed: Fixed bug introduced in 2.2.47 that created blank-named variables when using Lua dropdowns' Variables section.
- Fixed: LinkUtility.SortOutgoingLinks now uses Link.priority instead of unused DialogueEntry.conditionPriority.
- Fixed: When providing a new BarkHistory each time, DialogueManager.Bark() now no longer skips entry 0 in randomization.
- Fixed: AnimatorSaver no longer saves trigger parameters multiple times on subsequent saves. [Save system opsive]
- Fixed: ConversationModel <START> treated as group when linked to.
- Fixed: ConversationStateSaver now correctly restores continue button state (w/exception of SetContinueMode() overrides); handles missing actors; handles interrupting active conversations better.
- Fixed: Edge case issue when fast forwarding quickly through a conversation with certain show/focus animation settings.
- Fixed: StandardUIQuestLogWindow can now show Abandon button again for abandonable active quests.
- Fixed: TextMeshProTypewriterEffect properly handles align tags now.
- Fixed: AudioWaitOnce() command.
- Fixed: Camera() no longer reports warning when specifying an in-scene angle when conversation has no subject.
- Fixed: Conversations section node editor heading (conversation dropdown row) should no longer be cut off when undocked.
- Fixed: C# methods beginning with "end" can now be registered with Lua.
- Fixed: RandomizeNextEntryNoDuplicate() now returns previously-used entry instead of null reference exception if it's the only entry available.
- Changed: Removing field from template now only removes it from specified asset type, not all types of assets in database.
Third Party Support
- Arcweave: Added dialogue entry sorting option; import window buttons now dynamically adjust to narrower window sizes.
- articy:draft: Fixed issues with importing input pins on cross-conversation links & links from dialogue fragments to dialogues.
- Cinemachine: Added support for Cinemachine 3 in Unity 202x (and Unity 6+).
- Compass Navigator Pro 2: Now handles multiple questers; fixed issue with instantiated POIs.
- Corgi Platformer Engine: Now disables Corgi input during conversations if Conversation Zone's Can Move While Talking is unticked.
- EndlessBook: Added integration.
- Invector: Updated StopCharacter code for Invector 2.6.4b.
- Lively Chat Bubbles: Added example prefab with continue button.
- Now We're Talking: If loading from Addressables, now unloads when NWT() sequencer command ends.
- Page Curler: Added integration.
- Timeline: Added Sequencer Message clip; Timeline() sequencer command GameObject binding indices updated for current Timeline versions.
- SuperTextMesh: LocalizeUI now works with STM.
- uMMORPG Remastered: Updated to v2.41.
- Yarn 2: Records metadata hashtags in a custom field named Metadata in corresponding dialogue entry.
Version 2.2.47
Release Date: July 15, 2024
Core
- Improved: Added "undefined variables" report to Dialogue Editor's Database > Check For Issues section.
- Improved: If PositionSaver target has a rigidbody[2d], uses rigidbody to set position.
- Improved: If Dialogue Manager's Instantiate Database is ticked, Extra Databases also instantiates its databases.
- Improved: Can specify new variable name to create in custom lua function info wizard.
- Improved: Added Stop Evaluation At First Valid and Reevaluate Links After Subtitle checkboxes to Dialogue Manager.
- Improved: SequencerCommandQTE class is now virtual to allow overriding/extending functionality.
- Fixed: StandardBarkUI now observes [pic=#] markup tags.
- Fixed: When updating localization texts of active conversation, now correctly uses fallback text if needed (e.g., dialogue text for menu).
- Fixed: [LuaScriptWizard] attribute now correctly draws popups for Misc and Custom categories.
- Fixed: ConversationStateSaver not restoring all panels when moving actors around from default to non-default panels during conversation.
- Fixed: Sequence "+" dropdown for custom shortcuts now supports "/" in shortcut names.
- Fixed: Localization Export/Import resets editor cache after import.
- Save System: Added Loading Screen Progress Bar component.
Third Party Support
- articy:draft: Added Delay Evaluation checkbox, Instructions As dropdown.
- Corgi Platformer Engine: Updated for Corgi v9.0.
- i2 Localization: Removed inadvertent French setting in DialogueSystemUseI2Language.Start.
- Opsive Ultimate Inventory System: Fixed: UIS Saver no longer saves empty inventory when UIS is not present in scene.
- RPG Kit: Added Load Scene With Save System action.
- SLATE: Added Sequencer Message cutscene clip.
- Text Animator: Updated for version 2.1.1.
Version 2.2.46
Release Date: May 27, 2024
Core
- Changed: If Dialogue Manager's Allow Alerts During Conversations is UNticked, now queues alerts during conversations for when conversation ends.
- Improved: Conversation dropdowns (e.g., Dialogue System Trigger) now have Open button to quickly open conversation in Dialogue Editor.
- Improved: Dialogue Editor Watches tab now shows active conversations with buttons to jump to conversation in editor.
- Improved: Added option to remove synced content from other databases when breaking sync connection.
- Improved: Usable.overrideName, Usable.overrideUseMessage, and Selector/ProximitySelector.defaultUseMessage are now virtual properties.
- Improved: StandardDialogueUI.CloseAfterPanelsAreClosed is now virtual.
- Improved: Added InputDeviceManager.cursorLockMode if you want to change default cursor lock mode from Locked to Confined.
- Improved: Added Misc section to Lua "..." wizards containing relevant built-in Lua functions.
- Improved: Added no repeat option to RandomizeNextEntry() sequencer command and Lua function.
- Fixed: SetContinueMode(original) sequencer command.
- Fixed: StandardUISubtitlePanel.ShowContinueButton() when other process delays continue button and block input duration is set.
- Fixed: Updated Tools.StripTextMeshProTags to strip <pos>, <cspace>, <mspace>, <noparse>, <style>, and <voffset>.
- Fixed: Removed temporary debug log line from StandardUIQuestLogWindow that was inadvertently left in.
- Fixed: SaveSystem.saveDataApplied is now still invoked even if scene has no savers.
- Fixed: DialogueLua.SetVariable() and IncrementOnDestroy now observe Assignment.MonitoredVariables.
- Changed: Release of sequencer camera now only waits 1 frame plus end of frame to allow active required commands to finish instead of 2 frames.
Third Party Support
- Adventure Creator: Lua action now uses "..." wizard.
- articy:draft:
- Added "Reorder IDs" option.
- Fixed importer translation of "///".
- Custom Conditions property content now properly goes into dialogue entry's Conditions field.
- Instruction nodes followed by input pin condition now import a buffer node between to delay evaluation until instruction code has run.
- Cinemachine: Updated integration for Unity 6 (Cinemachine 3) compatibility.
- i2 Localization: DialogueSystemUseI2Language component now has option to use custom field (e.g., Articy Id) for dialogue entry terms.
- Ink: Added Lua(x) function.
- Input System: Monitors InputSystem.onDeviceChange. No need to configure Joystick/Keyboard inputs To Watch.
- Playmaker: Added Add/SubtractFsmFloat/Int() Lua functions.
- SALSA Lipsync Suite: SALSA components can now be on subject's child GameObjects.
- Text Animator: Updated to support typewriter skip ahead without animating skipped characters. Requires Text Animator 2.1.2+.
- Timeline: Improved preview text for Timeline-controlled conversations; added ability to override dialogue UI.
- Yarn: Added <<appSeq>> command to append sequences to previous line.
Version 2.2.45
Release Date: April 6, 2024
Core
- Improved: Added Allow Custom Actor Panels checkbox to Standard Dialogue UI component.
- Improved: Exposed Dialogue System Trigger > Stop Conversation On Trigger Exit > Margin To Allow Trigger Exit to inspector.
- Improved: Standard Dialogue UI's allowDialogueActorCustomPanels now applies to menu panels in addition to subtitle panels.
- Improved: Added StandardDialogueUI.ShowActorInPanel() method.
- Fixed: SetPanel(actor, panel, immediate) now initializes portraits even if actor wasn't previously in another panel.
- Fixed: Assignment.VariableChanged() event is now called after variable has been changed to new value.
- Fixed: StandardUISubtitleControls.SetTypewriterSpeed() didn't set speed.
- Fixed: StandardUISubtitlePanel > Add Speaker Name was added to display but not recorded in accumulatedText.
- Fixed: Added "Main" checkboxes to Item and Location templates in Dialogue Editor.
Third Party Support
- Adventure Creator: Updated for 1.80 and AC's new asmdefs.
- Arcweave: Fixed build issue.
- articy:draft: Updated articy 3.x localization importer addon with some bug fixes.
- Compass Navigator Pro 2: Added integration.
- RPG Builder: Now sets player's Display Name field so you can use that instead of rpgGetPlayerName() if you prefer.
Version 2.2.44.1
Release Date: March 14, 2024
- Improved: Added Allow Dialogue Actor Custom Panels checkbox to Standard Dialogue UI component.
- Adventure Creator: Updated for 1.80.
- Arcweave: Fixed build issue.
- TopDown Engine: Improved pausing and unpausing during conversations to handle all known edge cases.
Version 2.2.44
Release Date: March 12, 2024
Core
- Added: Basic Standard Dialogue UI prefab version preconfigured for TextMesh Pro.
- Improved: At runtime, right-clicking node and selecting Play From Here... while conversation is active jumps conversation to that node.
- Improved: Can now assign an override dialogue UI to Dialogue System Trigger component or DialogueManager.StartConversation() method for specific conversation.
- Improved: Implemented [picc=#] markup tag to change listener's portrait image.
- Improved: Added Language.Lua.Assignment.MonitoredVariables/VariableChanged C# event for efficient variable monitoring.
- Improved: Exposed DialogueManager.SetContinueMode() method.
- Fixed: SetPanel() with immediate keyword tells new panel to focus if it's for the current speaker.
- Fixed: Dialogue System Trigger error when saving bark-configured trigger that hadn't barked yet.
- Fixed: Fade(stay,0) now goes black immediately.
- Fixed: In Unity 2022.3, UILocalizationManager with Also Update Inactive GameObjects now leaves prefabs untouched.
- Fixed: NullReferenceException if using PersistentDataManager to save Dialogue System Trigger with Bark action that hasn't barked yet.
- Fixed: Scene Transition Manager now delays enter scene trigger until after scene has completed its Awake/OnEnable initialization.
- Fixed: When response menu's Autonumber > Alpha Keys and Numpad Keys were both ticked, response buttons would accumulate too many UIButtonKeyTrigger components.
- Save System: Spawned Object Manager can now restore saved data to respawned objects even when Frames To Wait is zero; restoring savers on respawned objects is now on by default.
- Input System: Fixed "any key" and mouse buttons reading isPressed instead of wasPressedThisFrame.
Third Party Support
- Articy: Fixed math.random() translation in articy:expresso; fixed condition handling when condition contains extraneous semicolon; added support for Conditions field.
- Ink: Added corrections to Ink list handling.
- Lively Chat Bubbles: Added support for different Visibility options.
- RPG Builder: Fixed issue with rpgPlayCombatEffect() when player hasn't targeted anything.
- uSurvival: Updated for 1.86.
- Yarn 2: Importer now prints warnings if jump destinations are undefined.
Version 2.2.43.1
Release Date: February 16, 2024
- articy:draft: Added "Include Feature Name" checkbox to prepend feature name to properties that are imported as custom fields; fixed default text import issue.
Version 2.2.43
Release Date: February 15, 2024
Core
- Improved: Added DialogueManager.HideAllAlerts().
- Improved: Added utility method DialogueManager.GetConversationTitle(id).
- Improved: Moved actor name prepending to StandardUISubtitlePanel for compatibility with ConversationControl.SkipAll() when subtitle panel's Add Actor Name is ticked.
- Improved: AudioWait[Once]() now accounts for time scaled and pitch altered audio clip durations.
- Improved: Added CharacterInfo.GetField(), GetField[type]() utility methods.
- Improved: Added ConversationControl > Don't Skip All On Last Conversation Line.
- Improved: Exposed PersistentDataManager.AppendSimStatus(StringBuilder, and ExpandCompressedSimStatusData().
- Improved: Text Table Editor now has gear menu > Import > From Localize UI menu feature.
- Improved: Added editor event hook DialogueEditorWindow.customDrawConversationInspector.
- Fixed: Subtitle panel Visibility options 'Until Superceded Or Actor Change' and 'Until Superceded Or Actor Change Or Response Menu' were not being superceded.
- Fixed: OverrideDialogueUI now correctly observes Don't Destroy Prefab Instance.
- Fixed: Bug in SMSDialogueUI returning to conversation when first entry is assigned to player menu and no menu choices were made when conversation was exited.
- Fixed: Possible NullReferenceException in ConversationView.NotifyParticipantsOnConversationLineEnd.
- Fixed: BarkController now exclude rich text and control codes from {{end}} value.
- Fixed: SetLocalizedFonts now listens for UILocalizationManager.languageChanged events.
- Fixed: Implemented workaround for TMPro bug incorrectly updating mesh when changing languages and font in LocalizeUI component.
- Renamed "Alocai" to "Altagram" in Localization Export/Import dropdown.
- Timeline: Removed "variable 'audioClip' is declared but never used" warning in PreviewUI.cs.
Third Party Support
- Adventure Creator: Can pass parameter
narrator
to ACSpeech() to speak through narrator.
- Arcweave: Added options to import extra dialogue entry fields, "Portrait #" fields for extra portraits.
- articy:draft: Added support for Articy X (voiceover addon support still in progress); ArticyConverter class's methods are now virtual and overridable.
- Emerald AI 2024: Added integration for new Emerald AI 2024 version.
- i2 Localization: Updated for API changes in i2 Localization 2.8.22f4.
- Ink: Added BarkInkOnIdle component; can now use => in {Sequence(...)} commands instead of -> which Ink doesn't allow; fixed InkEntrypoint.FromString() parsing bug.
- Invector character controllers: Updated for 2.6.4.
- RPG Builder: Now hides alerts (if visible) when returning to main menu.
- Twine: Fixed import issue when database has more than one player actor involved in a conversation.
Version 2.2.42
Release Date: December 21, 2023
Core
- Added: GotoEntry() sequencer command.
- Improved: When exporting localization spreadsheets, can now specify entry sort order.
- Improved: Added subtitle panel visibility option Until Superceded Or Actor Change Or Menu.
- Improved: Bark On Idle now has Bark On Start and Bark On Enable options.
- Improved: If conversation state has no NPC entries and exactly one PC response that's blank, it autoplays instead of appearing as blank response menu button.
- Improved: Dialogue System Trigger > Bark can now specify a dialogue entry.
- Improved: Dialogue System Trigger initialization optimizations.
- Improved: Added Text Table Mass Export window.
- Improved: Sequencer shortcuts can be grouped into user-specified submenus.
- Improved: Added UILocalizationManager.languageChanged event.
- Improved: When language changes, Dialogue Manager's Display Settings > Localization Settings > Language inspector field reflects change.
- Improved: When language changes, active conversations' text is now updated to new language.
- Fixed: Standard UI Menu Panel could ignore block input duration under certain circumstances.
- Fixed: Standard UI Subtitle Panel > Max Lines now retains rich text codes from lines that it prunes.
- Fixed: Now gracefully handles error if database has corrupt conversation.
- Fixed: ConversationHasValidEntry() no longer runs Script fields on group nodes.
- Fixed: DialogueLua.SetConversationField() threw error.
- Fixed: TextMeshProTypewriterEffect no longer reports error when first dialogue entry hides dialogue UI.
- Fixed: Add New Quest Entry Field now checks that field title is not blank.
- Fixed: Sequences now allow whitespace before '@'.
- Fixed: When response menu used Block Input Duration, it wouldn't show current response selection as selected even though it was correctly selected.
- Fixed: Display settings changes (e.g., continue button mode) during conversations when Allow Simultaneous Conversations is ticked and only one conversation is currently active.
- Fixed: Typo in ConversationStateSaver that caused extra panels to not be reopened.
- Fixed: Dialogue Editor text on nodes shows basic Menu Text/Dialogue Text, not localized version if Localization.language has been set.
- Fixed: If Usable GameObject uses a StandardUsableUI and Usable Name changes, name change is reflected in StandardUsableUI.
- Fixed: When reordering nodes with Depth First option unticked, now reorders breadth first instead of depth first.
- Save System: Added Max Save Slot option. By default, negative slot numbers will save in first available positive slot number up to Max Save Slot.
Third Party Support
- Adventure Creator: Updated RememberDialogueSystem for AC 1.79.
- Corgi Platformer Engine: Updated example scene for Corgi 8.7.
- FMOD: Fixed order of cleanup at end of FMODWait().
- Odin Inspector: Disabled drawing of HelpBoxes in custom inspectors until stack overflow bug in Odin is fixed.
- Playmaker: Can now specify conversation starting entry by title.
- Yarn 2: Fixed issue parsing sequences with "->Message()" syntax.
Version 2.2.41.1
Release Date: November 17, 2023
Core
- Fixed: When response menu used Block Input Duration, it wouldn't show current response selection as selected even though it was correctly selected.
- Fixed: Display settings changes (e.g., continue button mode) during conversations when Allow Simultaneous Conversations is ticked and only one conversation is currently active.
- Fixed: Typo in ConversationStateSaver that caused extra panels to not be reopened.
- Improved: Bark On Idle now has Bark On Start and Bark On Enable options.
Third Party Support
- Localization Package: Can now localize text table assets; can import localizations back into dialogue databases and text tables.
Version 2.2.41
Release Date: November 8, 2023
Core
- Improved: QuestStateDispatcher methods are now virtual.
- Improved: Quest groups are now included in Dialogue Editor Quests/Items filter bar.
- Improved: Dialogue Editor right-click canvas context menu now includes relevant items from the Menu dropdown.
- Improved: Added DialogueEditorWindow.customGlobalSearch & customGlobalSearchAndReplace delegates.
- Improved: If cross-conversation link dropdown has >1000 entries, splits into separate 500-element dropdowns.
- Improved: Subtitle panel Max Lines now counts actual lines, not number of subtitles.
- Fixed: SMS Dialogue UI with continue button mode didn't show continue button if first line was assigned to player.
- Fixed: SetTimeout() with simultaneous conversations issue.
- Fixed: Tools.StripTextMeshProTags() stripped <sprite> tags too far.
- Fixed: Lua wizards use invariant "." for decimal separator regardless of OS language setting.
- Fixed: ConversationStateSaver now also records which panels have previously opened, actors assigned to them, and accumulated text.
- Save System: Now supports loading scenes from Addressables.
- Save System: Added Persistent Active Data Multiple.
Third Party Support
- Arcweave: Added support for quests in Arcweave. Fixed node linking issue with conditional code. All methods are now virtual to support overriding. When splitting on pipes, new entries append number to Guid field.
- articy:draft: When splitting on pipes, new entries append number to Articy Id field.
- i2 Localization: Added option to update Display Names when Use I2 Language At Runtime is ticked.
- Localization Package: Fixed bug that only translated Menu Text of response menu entries, not Dialogue Text, on response buttons. Added option (on by default) to instantly update onscreen dialogue on locale change.
- Yarn: Fixed issue where [seq] tag would be left at end of Dialogue Text even though Sequence field was correctly set.
Version 2.2.40.3
Release Date: October 17, 2023
Core
- Improved: Added Dialogue Editor option to show conversation IDs in dropdown menu and Outline mode.
- Improved: Standard dialogue UI now reports warning if a response entry has no text to show in a response menu button.
- Fixed: Keyword "required" in front of Continue() no longer raises issue (now ignored).
- Fixed: Dialogue System Scene Events wouldn't run events when additively reloading scenes.
- Fixed: Now handles "new quest" text properly in quest log window when clicking quest twice while Deselect Quest On Second Click is ticked.
- Fixed: Dialogue Editor window issue when making changes and tabbing from code editor.
- Fixed: QuestLog and DialogueLua now handle empty string errors for quest names and table elements.
- Fixed: Concurrent conversations with overridden display settings now use the correct settings.
- Fixed: Dialogue Actors now correctly observe subtitle color override when overriding subtitle panel.
Third Party Support
- articy:draft: Added Trim Whitespace checkbox to Split Entries On Pipes.
Version 2.2.40.2
Release Date: September 28, 2023
Core
- Fixed: Edit mode player window no longer reports error when left open while closing then re-opening Unity.
- Fixed: UIUtility.Select() issue when using multiple EventSystems that didn't update the current EventSystem.
Version 2.2.40
Release Date: September 26, 2023
Core
- CHANGED: If using Unity navmesh navigation, you must now enable integration by ticking USE_NAVMESH in Welcome Window or menu item Tools > Pixel Crushers > Common > Misc > Use NavMesh.
- Added: Edit mode conversation player.
- Improved: Dialogue System Trigger now highlights fields that need to be configured.
- Improved: Dialogue System Trigger > Start Conversation now has Queue option.
- Improved: Dialogue System Trigger now reports error if no Dialogue Manager is present.
- Improved: ChangeActorName() now changes portrait name immediately instead of next time actor speaks a subtitle.
- Improved: SetPanel() sequencer command now has optional third parameter "immediate".
- Improved: AnimatorTrigger() sequencer command can now optionally also reset (clear) a different trigger when setting the trigger.
- Improved: Added optional [SequencerCommandGroup("submenu")] attribute you can add to custom sequencer commands to put them in submenus in Sequence field's "+" menu.
- Improved: Added DialogueLua.GetVariable("name", <default>) overloaded convenience functions.
- Improved: Added GetTextTableValue() Lua function.
- Improved: Added DialogueLua.SetConversationField().
- Improved: Dialogue entry scene events now work when multiple scenes are loaded with their own Dialogue System Scene Events components.
- Improved: Esc key now ends input when double-clicking node to edit text.
- Fixed: Standard UI Subtitle Panel > Add Speaker Name now accepts markup tags.
- Fixed: TextMeshProTypewriterEffect now doesn't try to type if text is empty.
- Fixed: QuestLog & QuestLogWindow now supports "Entry # Success" & "Entry # Failure" fields.
Third Party Support
- Arcweave: Fixed variables not being imported properly when passed as parameters to functions.
- i2 Localization: Dialogue entries' Description fields are now added to the corresponding i2 term's Description field.
- Text Animator: Added TextAnimatorContinue() sequencer command.
- Yarn 2: visits() function now properly records cross-conversation links (Yarn jumps). Welcome window now has USE_YARN2 checkbox.
Version 2.2.39
Release Date: August 2, 2023
Core
- CHANGED: Base Dialogue Manager prefab's Input Settings > Cancel Subtitle/Conversation Input is no longer mapped to Esc.
- Changed: DialogueSystemSaver now stops all conversations when loading saved game.
- Improved: SMSDialogueUI now has SaveConversation() and ResumeConversation() methods.
- Improved: StandardUIQuestTracker now ignores PlayerPrefs Toggle Key if blank.
- Improved: ConversationControl methods are now virtual.
- Fixed: Issue with Dialogue Manager's Warm Up Conversation Controller options hiding dialogue UI even if UI is configured to always stay visible.
- Fixed: Subtitle panel Clear Text On Conversation Start checkbox.
Third Party Support
- Adventure Creator: RememberDialogueSystem now hooks into AC EventManager.OnRestartGame to reset DS save data.
- Arcweave: Now imports < em > tags as rich text italics tags.
- LipSync Pro: LipSync() sequencer command now automatically unloads lipsync data when done if using Addressables.
- RPG Builder: When player is involved in conversation, Variable["Actor"] is now set to player character's name. Added Disable All RPG Builder Input In Player Conversations checkbox to bridge.
- SALSA: Added TextSync() sequencer command.
Version 2.2.38.2
Release Date: July 10, 2023
Core
- Improved: Updated to handle Unity 2023 API changes.
- Improved: Auto Arrange now has two vertical arrangement styles to choose from.
- Improved: Node group creation and resizing tweaks.
- Improved: Added safety button to prevent accidental editing of conversation <START> nodes.
- Improved: Added option to make auto-focused response menu button appear selected during block input duration.
- Improved: Warm Up > Extra now sets subtitle text to blank string when done.
- Fixed: Center On Current Entry menu option now works with cross-conversation links.
- Fixed: StandardBarkUI issues when Include Name was ticked and name was blank or no Name Text UI element assigned.
- Fixed: Subtitle panel Clear Text On Close is now also supported when Wait For Close is ticked.
- Fixed: When unloading additive scenes, save system now records saver data in scene being unloaded.
- Fixed: SaveSystem.loadEnded is now invoked even if loadStarted has no listeners.
- Fixed: Adjusted portrait image positions in VN Template Standard Dialogue UI.
- Fixed: When showing larger node widths, new conversations now position <START> node properly.
- Fixed: Improved grid snapping when multiple nodes are selected.
- Fixed: Dialogue Editor conversation node editor grid lines and link arrows clipping workaround for Unity 2022 bug.
Third Party Support
- Adventure Creator: Fixed packaging error in integration package; now contains action scripts.
- Arcweave: Added multiplayer support for visits() Lua function; fixed visits() import bug.
- i2 Localization: Fixed issue working with non-default LanguageSourceAssets.
- RPG Builder: Log Saves checkbox now logs detailed save info to Console.
- Text Animator: Updated integration for Text Animator 2.x.
Version 2.2.38.1
Release Date: June 20, 2023
Core
- Improved: Node group creation, heading display, and resizing tweaks.
- Improved: Added safety button to prevent accidental editing of conversation <START> nodes.
- Fixed: Subtitle panel Clear Text On Close is now also supported when Wait For Close is ticked.
- Fixed: StandardBarkUI issues when Include Name was ticked and name was blank or no Name Text UI element assigned.
Third Party Support
- Arcweave: Added multiplayer support for visits() Lua function.
- Text Animator: Updated integration for Text Animator 2.x.
Version 2.2.38
Release Date: June 13, 2023
Core
- CHANGED: Dialogue Manager prefab's Persistent Data Settings > Record Persistent Data On changed to Only Registered GameObjects. Register with PersistentDataManager.RegisterPersistentData().
- Added: Conversation Templates.
- Added: Dialogue Editor > Check For Issues foldout: check syntax of dialogue entry Sequences, identify orphan nodes, report missing entrytag audio files.
- Improved: Dialogue Editor Show menu settings are now saved across editor sessions.
- Improved: If OverrideDialogueUI component instantiates UI prefab, by default it now keeps prefab in memory for reuse instead of destroying.
- Improved: ConversationController now sets currentConversationState before InformParticipants when initializing.
- Improved: Added UIDropdownField wrapper type for UI.Dropdown or TMP_Dropdown.
- Fixed: Fade(stay) could flash for one frame when first used before running fade.
- Fixed: Lua parser error with loose 'not' keyword before right term of binary expression such as "x and not y".
- Fixed: Updated search bar GUI style names for 2022.3.1 change.
- Fixed: Dialogue Editor Conversations canvas background color is now consistent when zoomed all the way out.
- Fixed: LocalizeUI issue clearing TMP_Dropdown items.
Third Party Support
- Adventure Creator: Loading saved game restores SimStatus if AdventureCreatorBridge's Include SimStatus is ticked OR Dialogue Manager's Other Settings > Include SimStatus is ticked.
- Arcweave: Fixed import issues regarding complex if..elseif..else branch nodes & incrementor operations; added support for visits() function [note: ArcweaveLua is now a Saver.]
- Corgi Engine: Fixed potential null reference issue when Dialogue UI Follows was set to Conversant.
- Excel: Updated documentation and added example Excel files.
- PlayMaker: DialogueSystemEventsToPlayMaker methods are now virtual.
- RPG Builder: Now prevents camera movement when pausing character into dialogue while running and spinning; added rpgOpenTalentTreePanel() Lua function; fixed rpgTeleport() when changing scenes.
- SALSA: Added ContinueButtonStopTextSyncActor component, subclass of StandardUIContinueButtonFastForward that stops the actor's TextSync lipsync.
- TopDown Engine: CharacterRun ability is now reset if active when a conversation starts.
- Yarn: Can now save & load import window configurations.
Version 2.2.37
Release Date: May 9, 2023
Core
- Changed: Removed internal vertical offset from bubble panels (bark, subtitle, menu).
- Improved: Added quest log window option to show "[new]" indicator for unviewed quests; added support for group display names.
- Improved: Added Dialogue Editor > Database > Stats section (word count, etc.).
- Improved: Database Editor > Localization Export/Import now exports translation table for actor display names.
- Improved: DialogueManager.currentActor & currentConversant are now set when calling ConversationHasValidEntry().
- Improved: Added improved vertical auto-arrange contributed by Fairmoon Museum dev.
- Improved: Sequences can now contain escaped commas (\,) to embed commas in parameters instead of splitting parameters.
- Fixed: GameObjectUtility.FindObjectsOfTypeAlsoInactive() didn't search Don't Destroy On Load GameObjects.
- Fixed: UILocalizationManager no longer reports warning when exiting editor play mode in certain circumstances.
- Fixed: Timing of "Typed" messages from quickly-running typewriter effects.
- Fixed: Accumulated text in subtitle panels omit RPG Maker-style codes, now handles TMPro tags of form < #rrggbb[aa] >.
- Fixed: QuestStateListener now correctly observes multi-state selections.
- Post Processing: Updated DOF() for Post Processing v2 package; added optional volumeSubject parameter.
Third Party Support
- Arcweave: Updated importer for latest version; handle Arcscript in connections; convert HTML codes in text and codes; supports multi-player variables for local coop games.
- Celtx: Fixed issue with multiple multitag breakdowns. Updated to handle conditions on links due to JSON change.
- Corgi: ConversationZone now supports multiple Dialogue System Triggers on same NPC (e.g., with different Conditions).
- RPG Builder: Added rpgOpenPanel, rpgClosePanel, and rpgOpenCharacterTab Lua functions.
- Yarn 2: Added support.
Version 2.2.36
Release Date: April 28, 2023
Core
- Improved: Pressing Enter in Dialogue Editor conversation search bar jumps to first conversation matching search string.
- Improved: Increment On Destroy component now lets you specify dialogue database for variable dropdown.
- Improved: InputDeviceManager.IsKeyDown now handles Mouse# key codes when using Input System package.
- Improved: Updated shared UI panel code: if panel has Event Trigger with Select event, Auto Focus now invokes event when opening panel & selecting first selectable.
- Improved: If StandardUIMenuPanel blockInputDuration > 0, does not select a response button until duration elapses.
- Fixed: Removed error message if Dialogue Manager's Warmup mode was set to Extra and no StandardDialogueUI was assigned to Dialogue UI field.
- Fixed: If response menu timer is counting down, it can now resume if GameObject is deactivated and reactivated mid-countdown.
- Fixed: Possible coroutine start error with StandardUIMenuPanel using TextMesh Pro and autoscroll.
- Fixed: ChangeActorName() now works when active conversation uses a different actor for primary conversant than actor set in database.
- Fixed: DialogueActor.GetActorName() now handles [em#] tags (e.g., [em#] tags in Display Names).
- Fixed: Conditions that consist only of a comment now return true.
- Fixed: Gracefully handles conversations that contain entry ID conflicts; reports conflicting IDs.
- Fixed: LiveCamera() without subject defaults to speaker.
- Fixed: PersistentDataManager excludes fields with blank Names from save data.
Third Party Support
- articy:draft: Now recognizes Grantable and ReturnToNPC quest states; now handles input pins/condition nodes that contain only a comment.
- Gem:
- Updated branding to (Backlight) Gem instead of Celtx Gem.
- After importing, updates Dialogue Editor window.
- Elements in sequence nodes are now given their own Celtx ID values in dialogue entries.
- Fixed: Issue with missing actor/conversant assignment under certain circumstances.
- Fixed: Custom breakdowns in certain circumstances would import as the wrong custom type.
- Possible known issues with conditions and custom breakdown items (will be addressed in a patch).
- Corgi: Updated for v8.3.
- Feel: Updated for v3.11.
- Opsive UCC: Updated for v3.0.9.
- RPG Builder:
- Pause during conversation now unpauses after conversation.
- New character after deleting character now resets save data.
- CombatEntityEvent now runs OnDeath() only once even if RPGB invokes CombatEvents.EntityDied multiple times.
- Kill Skeletons quest now asks to kill 3 skeletons to demonstrate how to increment counter variable.
- Twine: Updated Twine importer for change to Conditional() Lua function in 2.2.34 that affected Twine (if:) statements.
Version 2.2.35
Release Date: March 15, 2023
Core
- CHANGED: Timeline() sequencer command will now allow timeline to play forever if Wrap Mode is set to Loop.
- Added: Actor/Item/QuestIDToName() Lua functions.
- Improved: Conversation dropdown search bar is now case insensitive.
- Improved: StandardUIInputField now monitors touchscreen keyboard's Done/Cancelled status.
- Improved: Added new vertical auto arrange algorithm to Dialogue Editor window's node editor [courtesy Barky Seal]
- Improved: Dialogue Editor node group headings now scale up for easier reading when canvas is zoomed out.
- Improved: LuaConsole methods are now virtual.
- Improved: Added [DialogueEntryPopup] attribute.
- Improved: Added queue limit options to Bark Group Manager.
- Fixed: AudioWait() with multiple Addressable clips no longer stops after first clip.
- Fixed: Response menu wasn't using ScrollbarEnabler if menu was configured with Show animation.
- Fixed: QuestStateListener now updates when saved game is loaded.
- Fixed: MissingReferenceException that could occur if exiting editor play mode while showing StandardUIInputField.
- Fixed: SetPortrait() sequencer command didn't work when setting an actor's Display Name.
- Fixed: LocalizeUI components on inactive GameObjects wouldn't update when changing languages unless the GameObject had previously been active.
- Cinemachine: Added CinemachineZoom() sequencer command.
Third Party Support
- Adventure Creator: When changing AC language, now updates quest log window.
- articy:draft: Importer now handles negation (!) in front of functions and expressions; three-slash comments (///) are now removed from expressions, letting you include Lua code after without syntax warnings.
- Celtx: Breakdown improvements; portrait import improvements; fix for null conditions.
- FMOD: Added support.
- i2 Localization: Added support for Em Tag For Old Responses to I2 Language when Use I2Language At Runtime is ticked.
- Lively Chat Bubbles: ClearSubtitleText() sequencer command now works on LCB subtitle panels.
- RPG Builder:
- Added Pause Game During Conversation and Disable Player Control During Conversation checkboxes to AI > Dialogue System module.
- Bypass Interaction Panel checkbox now works without flashing interaction panel.
- Fixed issue where NPC wouldn't stay in player interaction state during conversations.
- Added disablePlayerControlInAllConversations checkbox to bridge.
- Added Lua functions: rpgGetPlayerGender, rpgSetInteractableObjectState, rpgPlayCombatEffect, rpgGetTreePoints, rpgCanRankUpRecipe, rpgGetCurrencyAmount.
- Added sequencer command: rpgCraft.
- Added helper component for quest journal button in toolbar.
- Added cursor blocking image to background of dialogue UI.
- Wwise: Added support.
Version 2.2.34
Release Date: January 29, 2023
Core
- Changed: Conditional() Lua function now uses a bool for the condition parameter, not a string.
- Improved: Added search bar to Dialogue System Trigger conversation selection, [ConversationPopup] attribute to allow filtering of conversation titles.
- Improved: BarkGroupManager now has CancelAllBarks() method; can now pass null to MutexBark() to hide all barks in group.
- Improved: AudioWait() sequencer command methods are now virtual.
- Improved: Typewriter effects now accepts
to represent newlines in Full/Quarter Pause Codes fields.
- Improved: LocalizeUI now localizes TMP_Dropdown components.
- Improved: Added DialogueManager.instance.overrideGetLocalizedText delegate hook.
- Improved: StandardUIMenuPanel.SetResponseButton now sets response property before calling StandardUIResponseButton.SetFormattedText.
- Improved: Now logs warning if StandardUIResponseButton text is blank.
- Improved: ConversationModel.SetParticipants() is now public to allow changing conversation's actor & conversant GameObjects mid-conversation.
- Improved: TextMeshProTypewriterEffect now calls ForceMeshUpdate with every character in case UI element is being animation (e.g., scale).
- Improved: Now supports running in batch mode. (Define BATCH_MODE scripting symbol.)
- Improved: Importers (articy, Arcweave, Chat Mapper) sync from any sync'ed DBs before importing.
- Fixed: Implemented workaround for inspector bug in Unity 2022.2 - 2022.3.
- Fixed: Issue with custom sequence field dropdown menu items.
- Fixed: Continue() sequencer command now only advances its own conversation, not all active conversations, unless you pass 'all' as parameter.
- Fixed: Subtitle panel Block Input Duration doesn't start until panel's Show animation has finished.
- Fixed: Now uses localized name for portrait names that appear in Show On Conversation Start.
- Fixed: Cached bark lines now observe markup tags.
- Fixed: LuaConditionWizard inspector rendering when using Odin Inspector.
- Fixed: Evaluation version's Welcome Window would set USE_YARN scripting define symbol, causing error when switching to Asset Store version if Yarn Spinner was not installed.
- Fixed: DialogueSystemSaver.ResetGameState now clears quest tracker HUD.
- Dialogue Editor: Link order is now shown on node link arrows by default. / Tooltip hover link order
- Dialogue Editor: Added option to include conversation title in every dialogue entry row in voiceover script export.
- Dialogue Editor: Added option to hide filtered-out actors in Actors section.
- Timeline: Added Run Lua clip.
Third Party Support
- Adventure Creator: Added Pause action, Force Cursor Visible During Conversations checkbox on bridge component.
- Arcweave:
- Added support for runtime import.
- Team plan users can now download Arcweave project updates into importer using Arcweave web API.
- Now observes character assignments dragged onto dialogue elements in Arcweave, unless overridden by "Speaker:name".
- Now imports custom fields added to actors and locations.
- No longer creates group nodes for connections without text.
- Improved behavior of Merge checkbox.
- Importer now handles null jumper elementId's.
- Celtx:
- Custom breakdown types now use custom type name for field title.
- Multiple breakdowns in same node are now concatenated into the relevant breakdown field.
- Added option for Gameplay elements to be imported as their own dialogue entry nodes.
- Ink: Mixing Ink conversations and regular dialogue database conversations now allows regular conversations to fully evaluate all links.
- i2 Localization:
- Refresh button now clears internal list of which fields to include/exclude from localization.
- Now disables checkboxes for fields that shouldn't be localized (e.g., Boolean, Number).
- Now allows localization of Localization field types.
- Added option to include conversation ID/title with custom field values in dialogue entry terms.
- Localization Package:
- Fixed issue with updating actor names when switching locales.
- Added option for DialogueManager.GetLocalizedText() to use translations in the Localization Package's string tables.
- Makinom: Start Conversation node can now specify a different starting entry ID.
- ORK: Added orkGetQuestTaskStatus() Lua function.
- Emerald AI: Finds proper location of new Faction Data asset.
- PlayMaker: Fixed inconsistent line endings message caused by LuaTableEnum.cs.
- RPG Builder:
- Changed: rpgGainExperience() is now rpgAddSkillExperience().
- Added Stop NPC During Conversation, Bypass Interaction Panel options to NPC Dialogue System setup. (See manual page for known issue.)
- Added Lua functions: rpgAddCharacterExperience(); get/set RPGQuest states; get values of stats, abilities, skills.
- Added rpgMerchant() and rpgTeleport() sequencer command.
- Quest tracker is no longer shown in main menu scene.
- Addressed issue with save system and respawning.
- Added quest example to demo prefabs.
- Text Animator: Updated for Text Animator 1.3.x.
- TopDown Engine: Added AllowUINavigationDuringConversations component to re-enable input after closing Inventory Engine UI during conversation.
- Yarn: Fixed import issue that set nodes' Sequence fields to Continue() when they shouldn't be.
Version 2.2.33
Release Date: November 8, 2022
Core
- Improved: Dialogue UI response menu autonumber now allows [em] tags.
- Improved: Added Dialogue Manager checkbox for Sequencer.reportMissingAudioFiles.
- Improved: Dialogue System Trigger can now specify to start a conversation at a specific entry by Title.
- Improved: When running simultaneous conversations, special Lua variables "Actor" & "Conversant" are now set to the current conversation.
- Improved: Selector/Proximity Selector now automatically hide selector UI when disabled.
- Improved: Added option to export Items in Dialogue Editor Localization Export/Import foldout.
- Improved: Exposed Dialogue Editor & Unique ID Tool methods for third party script access.
- Improved: Exposed DialogueManager.databaseManager.loadedDatabases property.
- Improved: Added ConversationModel.OverrideCharacterCache(actorID, override) method.
- Improved: ConversationModel.GetState() now catches exceptions from custom OnExecute() events.
- Improved: Added Variable Name option to Custom Lua Function Info configuration assets.
- Improved: DialogueManager.LoadAsset() loads addressables by IResourceLocator instead of name to work better with console deployments.
- Fixed: DialogueManager.lastConversationEnded was not being set.
- Fixed: If entrytag format is set to VoiceOverFile and entry doesn't have a VoiceOverFile field, no longer reports error.
- Fixed: When deleting field from items template and assets, would also delete field in quests, and vice versa.
- Fixed: Adding sequence to dialogue entry didn't instantly update icon on node.
- Fixed: Focus Template Standard Dialogue UI prefab's Text Field UI > Canvas Group > Block Raycasts was accidentally unticked.
- Fixed: Removed harmless assert message when entering editor play mode while SaveSystem or Dialogue Manager is hidden in Scene view.
- Fixed: Lua script wizard no longer add semicolon at end if one is already there.
- Fixed: Issue with editor play mode testing with Dialogue Manager set to extra warmup and starting conversation manually on scene start.
- Save System: Changed default Frames To Wait Before Apply Data to 0.
- Save System: Exposed SavedGameData.Dict.
- Localization Package: Now assigns valid GUID if Guid field exists but is blank; fixed actor name localization issue.
- Visual Scripting: Added "Get Lua Result As (type)" methods.
Third Party Support
- Adventure Creator: Lua functions are now publicly accessible to C# code; acGetItemCount() now checks KickStarter.runtimeInventory.localItems.
- articy:draft: Added Set Display Name option; updated Localization Plugin importer.
- Arcweave: Added fast import to dialogue database inspector's Reconvert dropdown; exposed import methods for custom C# scripts.
- Celtx Gem: Now imports breakdown and multi-tag breakdown items; fixed issue with <START> nodes being marked as group nodes; fixed import issue when first node in sequence was deleted and replaced.
- Chat Mapper: Chat Mapper import no longer sets group nodes' Sequence to Continue().
- Corgi: Updated for Corgi Platformer Engine 8.1; added easier setup for quest log windows.
- Ink: Handles
tags; added support for Ink LIST variables.
- Invector: Added Pause Invector During Conversation checkbox to bridge component.
- Lively Chat Bubbles: Added support for portrait images.
- RPG Builder: Added integration.
- SuperTextMesh: Added built-in support in StandardUIContinueButtonFastForward.
- TopDown Engine: Improved pause method to better find abilities & stop feedbacks during conversations.
- Yarn: Fixed custom command processing issue; fixed bug which passed all custom command arguments as strings and didn't process quoted strings; added support for <<seq sequence>> commands.
Known Issues
- Lua wizards may have some display inconsistencies when rendered through Odin Inspector. This will be addressed in a future release.
Version 2.2.32
Release Date: September 18, 2022
Core
- Fixed: LocalizeUI issue when no localized fonts asset was assigned that could report NullReferenceException.
- Fixed: Save System issue where loading a saved game would unload additively-loaded scenes but would not clear SaveSystem.addedScenes list.
- Changed: Message System now allows listeners to receive messages on same frame they registered.
- Improved: Added "Allow Blank Input" checkbox to StandardUIInputField.
- Improved: Added "(Do Nothing)" option to Sequence field drag-n-drop config menus.
- Improved: All StandardUIResponseButton properties and methods are now virtual.
- Improved: UIPanel has additional safeguards to SetFocus() to handle EventSystem issues.
- Improved: Renamed Dialogue Editor's "Localization Services" menu to "Send a Localization Request" to clarify its purpose.
Third Party Support
- Feel: Added MMF() sequencer command.
- PlayMaker: Added 'Notify All FSMs' checkbox to Dialogue System Events To PlayMaker component.
Known Issues
- Lua wizards may have some display inconsistencies when rendered through Odin Inspector. This will be addressed in a future release.
Version 2.2.31
Release Date: September 5, 2022
Core
- CHANGED: Entrytag Format dropdown value for Custom changed. If your existing project has previously set Entrytag Format to Custom, you must set it again.
- Improved: Added Entrytag Format option Title.
- Improved: Optimized GetEntrytag.
- Improved: Dialogue Actor can now apply formatting codes when applying custom subtitle color.
- Improved: Added SaveSystem.validSceneName delegate.
- Improved: Standard Bark UI now has checkbox to cancel previous wait for sequence if showing new bark while old bark is still visible & waiting.
- Improved: Sequencer commands can now specify subjects using actor:actorname format.
- Improved: Fade(stay/unstay) work from fader's current alpha value.
- Improved: Added 'noactivate' option to AnimatorPlay() sequencer commands.
- Improved: If subtitle actor doesn't have animated portrait, subtitle panel disables portrait image's Animator.
- Improved: Added Input Settings > Em Tag for Old Responses & Invalid Responses override options to conversation properties.
- Improved: StandardUISubtitlePanel and StandardUIMenuPanel Use Portrait Native Size now works with packed sprites.
- Improved: VN Template Standard Dialogue UI prefab now brings actor's portrait to front when speaking.
- Improved: Bark order Random will now avoid sequential repeats if possible.
- Added: Dialogue Manager - Display Settings > Bark Settings > Default Bark Sequence.
- Added: Localized Fonts.
- Added: ListExtensions.Shuffle.
- Fixed: Bug in which all quest data was saved even when Persistent Data Settings specified saving only states.
- Fixed: Tools.StripRichTextCodes & StripTextMeshProCodes now strips paragraph rich text codes.
- Fixed: CinemachinePriority() sequencer command wasn't observing "except:name" syntax.
- Fixed: DiskSavedGameDataStorer.RetrieveSavedGameData checks if save file is empty.
Third Party Support
- Arcweave: Fixed import issue with "Speaker:" syntax.
- articy:draft: CHANGED: Importer window's Stage Directions Mode is now a dropdown with additional options.
- Devion Inventory System: Can now add DevionItemCollectionSaver to an active GameObject to save inactive ItemCollections; improved dgGetItemCount(); added DevionUpdateQuestUIs component.
- Ink: Fixed issue with playing sequences twice; added Actor Names Case Sensitive checkbox.
- PlayMaker: Updated for 1.9.5.
- Speech Recognition System: Added support.
- Spine: SpineAnimation() work with SkeletonGraphic
- Twine: Added "Description:" syntax.
- Yarn: Added Merge Variables option to retain current variable values in dialogue database.
Known Issues
- Lua wizards may have some display inconsistencies when rendered through Odin Inspector. This will be addressed in a future release.
Version 2.2.30
Release Date: July 25, 2022
Core
- Fixed: When exiting play mode with Time Scale set to zero while Dialogue Editor window was open, Time Scale could remain zero.
- Fixed: No longer reports null texture error on conversation group boxes if user removed Editor Default Resources folder.
- Fixed: Issue with AudioWait() sequencer command and complex audio clip filenames; issue stopping audio in certain Unity versions when using Addressables.
- Improved: Added DialogueLua.GetAllVariables() method.
- Improved: DialogueManager.GetLocalizedText now checks UILocalizationManager tables if Localization Settings text table doesn't have field.
- Improved: Subtitle text set to prepend actor name now doesn't add speaker name if name is blank.
- Addressables: Removed restriction that asset name and key must match.
- Localization Package: Fix for locale change.
Third Party Support
- Adventure Creator: Added AC actions for Relationship & Status Functions
- Arcweave: Jumpers can now cross conversations; now uses element's outputs list for order of connections; space character no longer required in [SEQUENCE:xxx] tag.
- articy: Flow Fragment conversations now apply Flow Fragment's custom Sequence field (if present) to <START> node's Sequence.
- Celtx: Fixed menu item that enables Celtx Gem 3 importer.
- Corgi Engine: Updated integration for version 7.6.
- Feel: Added integration.
- PlayMaker: Added Get Variable Type action; Get All Lua Elements action now has option to get all elements named in database or all including runtime-created elements.
- Text Animator for Unity: Added support for Typed sequencer message, computing {{end}} based on TextAnimatorPlayer duration.
- TopDown Engine: Updated integration for version 3.
Known Issues
- Lua wizards may have some display inconsistencies when rendered through Odin Inspector. This will be addressed in a future release.
Version 2.2.29
Release Date: July 6, 2022
Core
- Added: Dialogue Editor > Conversations > Show > Descriptions option to show Description field below each node.
- Added: ChangeActorName() Lua function.
- Improved: SetContinueMode() sequencer command can now set any valid continue mode.
- Improved: Added Require Continue On Last Line checkbox to Dialogue Manager's Subtitle Settings section.
- Improved: Added DialogueManager.onStartTriggerWaitForSaveDataApplied property.
- Improved: Added DialogueManager.lastConversationEnded.
- Improved: [LuaConditionsWizard] attribute now supports multi-line text area.
- Improved: Made StandardUISelectorElements.ConnectDelegates() public to make it easier to change default use message at runtime.
- Improved: UILocalizationManager can now reference more than one text table asset.
- Improved: DialogueManager.GetLocalizedText() (used for non-dialogue database localization) can now use multiple text tables.
- Fixed: If non-primary character was speaker of conversation's first node and character and primary both had animated portraits and panel's Visibility was Always From Start, animation wouldn't play.
- Fixed: Applying template to items & quests now applies proper template instead of both templates.
- Fixed: Dialogue Editor > Quests/Items > Sort > By Group no longer reports error if a quest doesn't have a group.
- Fixed: AudioWait() sequencer command edge case timing issue.
- Fixed: Edge case issue with Extra warmup mode.
- Fixed: Closing one Unity project with Dialogue Editor open then opening second Unity project with Dialogue Editor open would set second project's database template to same as first.
- Changed: Basic Dialogue UI: Set scrollbar Visibility to Auto Hide.
Third Party Support
- Alocai: Added support for Alocai localization services.
- articy: Added support for conversation override properties; updated ArticyLuaFunctions for disabled domain reloading.
- Devion Item & Inventory System: Updated to better handle currency conversion when removing currency; fixed dgGetItemCount().
- Localization Package: Dialogue System Localization Package Bridge now supports a list of LocalizedStringTable assets and DS To Loc window supports a list of dialogue databases.
- PlayMaker: Added Get Last Conversation Started/Ended actions; added Exclusive & Replace checkboxes to Start Conversation action.
Known Issues
- Lua wizards may have some display inconsistencies when rendered through Odin Inspector. This will be addressed in a future release.
Version 2.2.28
Release Date: June 6, 2022
Core
- Added: Unity Localization package integration.
- Changed: Sequencer ->Message(x) syntax now sends message only to current sequencer, not all active sequencers.
- Changed: Audio/AudioWait() sequencer commands by default no longer print warning if audio clip not found; set Sequencer.reportMissingAudioFiles to enable warnings.
- Improved: Dialogue System Trigger > Conditions can now check quest entry conditions.
- Improved: Dialogue System Trigger can now set two quest entry states.
- Improved: Dialogue System Trigger Run Lua Code action sets "Actor" and "ActorIndex" variables before running code.
- Improved: Added Prevent Restart On Same Frame Ended checkbox to Dialogue System Trigger > Start Conversation action.
- Improved: Added Use Range Colors checkbox to Standard UI Selector Elements.
- Improved: If StandardUISubtitlePanel Accumulate Text is ticked, can now set Max Lines after which older lines will be culled.
- Improved: ExtraDatabases methods are now virtual.
- Improved: StringAsset text area now expands to accommodate large text passages.
- Improved: Added SaveSystem.framesToWaitBeforeSaveDataAppliedEvent; added SpawnedObjectList asset type.
- Improved: PositionSaver can now specify a target GameObject instead of saving its own GameObject's position.
- Improved: SpawnedObjectManager now accepts SpawnedObjectList assets for easier organization of spawned object prefabs.
- Improved: DontDestroyGameObject workaround for Unity issue with hidden objects.
- Fixed: Dialogue System Trigger > Stop on trigger exit / too far now works with simultaneous conversations.
- Fixed: If game paused on same frame that sequencer command sent message that another command was listening for, listener wouldn't receive message.
- Fixed: Conversation actors configured to show subtitles in bark UIs that wait for sequence to end now correctly wait for sequence.
- Fixed: If partipant had DialogueActor component, CharacterInfo.nameInDatabase was incorrectly set to display name.
- Fixed: DialogueSystemTrigger.RunLuaCode no longer sets ActorIndex incorrectly for actors with DialogueActor components on a child GameObject.
- Fixed: DialogueManager.ConversationHasValidEntry bug when evaluating mix of group nodes whose children's Conditions are all false and non-group nodes.
- Fixed: listenerportrait sequencer keyword.
- Fixed: [LuaConditionsWizard] & [LuaScriptWizard] now properly handle component reset.
- Fixed: If a GameObject assigned to SequencerShortcuts is destroyed, SequencerShortcuts no longer returns it as a reference for an actor.
- Fixed: SaveSystem.saveDataApplied was called before QuestJournal's restored quests were listening for messages.
- Fixed: Positioning issue in KeepRectTransformOnscreen component.
- Fixed: In some scenarios, response button focus wouldn't raise Select event.
- Fixed: If Dialogue Actor overrides actor name/display name, subtitles with Visibility set to Always From Start will show overridden name on open.
- Fixed: If starting second conversation while first is active and second fails to start because it has no valid entries, currentActor/Conversant properties are no longer set to second conversation's.
- Fixed: Potential NullReferenceException error when exiting play mode with StandardUIInputField.
- SMSDialogueUI: Supports multiple subtitle templates; DialogueActor text color overrides; now handles actors without GameObjects better.
- Textline: Now uses SMSDialogueUI, with improvements to resuming conversations.
Third Party Support
- Adventure Creator: Added Lua functions to get/set values of Variables component on specified GameObject.
- Arcweave: Fixed import of variables whose names contained reserved keywords; <START> node's Sequence is now None(); can now import Guids as fields.
- articy:draft: Added option to create conversations for flow fragments that aren't inside dialogues; option to skip import of documents; open to import custom DisplayName field.
- Bolt/Visual Scripting: Now supports disabled domain reloading.
- Celtx Gem 3: Added support.
- Celtx GVR 2: Added Sort on Import option; sync from any sync databases first.
- Corgi Engine: Added PixelCrushersMMLoadingSceneManager to tie save system to Corgi scene loader.
- Ink: Fixed issue with Player Dialogue Text Follows Response Text checkbox.
- i2 Localization:
- Fixed: When using multiple text tables, now shows checkboxes for all text tables' fields; Update Primary Fields no longer overwrites Text Table key value
- Added option to use specified field value for dialogue entry terms.
- Opsive Character Controllers: UCCSaver can now save mouse sensitivity settings.
- ORK Framework: Updated for ORK 3.3.
- PlayMaker: Jump To Entry action now allows you to specify conversation.
- TopDown Engine: Added PixelCrushersMMLoadingSceneManager to tie save system to TDE scene loader; No longer logs error if player has no CharacterMovement or if CharacterMovement has no Walk Particles.
Known Issues
- [LuaConditionWizard] attribute on serialized arrays can only be opened on one array element at a time. This will be addressed in the next release.
- Lua wizards may have some display inconsistencies when rendered through Odin Inspector. This will be addressed in a future release.
Version 2.2.27
Release Date: April 9, 2022
Core
- Added: Sequencer keywords speakerportrait and listenerportrait.
- Improved: Renamer window can now rename conversation titles.
- Fixed: TextMeshProTypewriterEffect can now handle margin-left and margin-right tags.
- Fixed: StandardUIMenuPanel now refreshes selectables list after setting up menu so selection check will work even if Refresh Frequency is zero.
Third Party Support
- Adventure Creator: Added acGetObjectiveState() Lua function.
- Invector Controllers: Updated for version 2.6.1b.
- NLua: Updated compatibility with NLua.
- Opsive Character Controllers: Updated for version 2.4.7.
- Opsive Ultimate Inventory System: Updated for version 1.2.7.
Version 2.2.26
Release Date: March 23, 2022
Core
- Added: Visual Scripting package support.
- Added: SequencerMessage() sequencer command.
- Improved: WaitForMessage() sequencer command can now wait for multiple messages.
- Improved: Added Block Input Duration option to Standard UI Subtitle Panel to prevent spamming continue button.
- Improved: Added 'Add New Field To Entry' button to quest entry area in Dialogue Editor for quick adding of custom entry fields.
- Improved: Localization Export/Import can now export user-defined dialogue entry fields and quest fields.
- Improved: Add regex searching to the Dialogue Editor's Database > Global Search/Replace.
- Improved: If no database is selected, Dialogue Editor shows bullseye selector for easier database selection.
- Improved: Add Dialogue Editor menu option Show > Prefer Titles In 'Links To' list.
- Fixed: Zoom2D() now accepts speaker as default subject if none is specified.
- Fixed: TextMeshProTypewriterEffect with accumulate text didn't handle uppercase rich text tags.
- Fixed: Dialogue UI Wait For Main Panel To Open checkbox coordination issue with subtitle panel continue button.
- Fixed: Emphasis tag underline setting now supported for TMPro and STM
- Fixed: If UIPanel.monitorSelection is false, selectPreviousOnDisable is not observed.
- Fixed: On all dialogue UI prefabs, untick Select Previous On Disable on Dialogue Panels.
- Fixed: DemoMenu sets timeScale to 1 if exiting application while open.
- Fixed: Custom quest entry fields can now be drawn using custom field types.
Third Party Support
- Arcweave: Added import support.
- articy:draft: Dropdowns can now be imported as technical names, display names, or index values.
- Celtx: Added more error handling information for duplicate or missing Celtx content.
- Makinom: Updated for Makinom 2.x.
- Opsive Character Controllers: Can now use {0} in ability message text to show target's actor name.
- ORK Framework: Updated for ORK 3.x.
- Now We're Talking: Added NWTActor component for babble speak; NWT() sequencer command can now load audio dynamically (e.g., entrytags).
Version 2.2.25
Release Date: February 7, 2022
Core
- Version 2.2.25.1: Fixed: New Input System package compatibility issue.
- Improved: Added Reposition Window button to dialogue database inspector.
- Improved: Added C# hooks to add custom drawing methods to Dialgoue Editor inspector views.
- Improved: Added DialogueManager.StopAllConversations().
- Improved: Localization Export/Import now has improvments to Use Field option.
- Improved: Added Wait For End Of Frame checkbox to Dialogue System Events > OnConversationEnd() event.
- Improved: Conversation Control component now has StopSkipAll() & checkboxes to control when SkipAll() is turned off.
- Improved: TextMeshProTypewriterEffect now calls virtual method PauseForDuration on pause codes.
- Improved: Better handling of SequencerShortcuts registered subjects.
- Fixed: On subsequent menus, response menu auto focus selects first button instead of most recently-selected button.
- Fixed: Dialogue database Actor/Quest/Item/Location field names with '.' are now translated to '_' in Lua.
- Fixed: Save data sanitizes
'\ '
.
- Fixed: Visual field overlap in Timeline ContinueConversationClip.
Third Party Support
- Adventure Creator:
- RememberDialogueSystem now has Stop Conversations When Loading checkbox
- 'Actor is player?' to Conversation action to use current player without needing a design-time reference
- Dialogue entry picker gracefully handles internal ID conflicts in conversations.
- Celtx: Improved importing of [COND] and [SCRIPT] objects; fixed importing of some types of decision nodes.
- Corgi: MMSaveLoadManager event listener now uses SaveSystem if present.
- i2 Localization: Now supports multiple text tables, term options for text tables.
- Ink: Fixed issue when resuming a stopped conversation at a point where there are only player choices.
- Invector: Updated bridge to pause player using new Invector methods; improved character disabling using SetLockInput.
- Inventory Engine: MMSaveLoadManager event listener now uses SaveSystem if present.
- RT-Voice: RTVoiceActor now allows unspecified gender and incomplete matches of voice name.
- Twine: Fixed import of inline conditional text.
Version 2.2.24
Release Date: January 9, 2022
Core
- Changed: Delay Typewriter Until Open checkbox waits until subtitle panel is also focused, not just open.
- Changed: If Dialogue Manager is destroyed while paused (DialogueTime.isPaused is true), it will now unpause DialogueTime.
- Added: CharacterInfo.GetAllRegisteredTransforms.
- Improved: Standard Bark UI can now show alternate portrait images.
- Improved: Synced database now locks data fields that came from source database, auto-syncs on open, and updates references in in Scripts/Conditions/[var]/etc.
- Improved: UI panels that enforce button focus for key/joystick navigation now re-select previous selection after opening & closing other UIs.
- Fixed: Dialogue Editor's Variables section didn't show heading.
- Fixed: Asset Renamer tool now allows regex field to be blank.
- Fixed: UILocalizationManager initialization issue could reset player's language setting on start.
- Fixed: USE_YARN checkbox in Welcome Window.
- Fixed: Adding Display Name fields but not setting their values could cause a warning display when using "..." Lua dropdowns.
- Fixed: ConversationModel.GetCharacterInfo observes overridden actor name on Dialogue Actor component.
- Fixed: Potential focus/unfocus animation timing issue on subtitle panels.
- Fixed: Wrapped SubsystemRegistration methods in #if UNITY_EDITOR to prevent error message in builds in certain Unity versions.
- Save System: Now handles case where saver's ApplyData removes other savers from scene while loading saved game.
Third Party Support
- Emerald AI: Updated [EmeraldAIFaction] attribute for Emerald AI 3.1 change.
- RPG Kit: Updated for 3.x.
- SLATE: Updated integration to support disabled domain reloading.
- Twine: Fixed import of inline links with if: conditions.
- TopDown Engine: PauseTopDownDuringConversations set to disable input but not pause will now no longer pause but will freeze player and show mouse cursor if applicable.
- Twine: Import window no longer reports error if reopening window after deleting database that was assigned to window.
- Yarn: Import window now properly handles Clear button.
Version 2.2.23
Release Date: December 17, 2021
Core
- Changed: Dialogue Manager prefab's default canvas now has Canvas Scaler that scales with screen size.
- Changed: AbstractConverterWindow now uses a generic type for preferences. If you've written a custom importer, update the class definition line.
- Improved: Variable Viewer window can now change variable values at runtime.
- Improved: Added conversation title filter bar.
- Improved: Added browser-style forward and back buttons for conversation selection.
- Improved: Added Referenced Subjects to Sequencer Shortcuts component. Speeds up subject lookups.
- Improved: Standard Dialogue UI added Wait For Main Panel To Open checkbox.
- Improved: Added Use Portrait Native Size checkbox to Standard UI Subtitle Panel.
- Improved: Ticked Wait For Close on bubble UI prefabs.
- Improved: StandardUIInputField methods are now virtual.
- Improved: UIPanel waitForShowAnimation property is now public.
- Improved: Added LATEUPDATE_MESSAGES option. To send sequencer messages in LateUpdate(), define this symbol.
- Improved: Adding Selector or Proximity Selector will show dialog window to add Selector Use Standard UI Elements component.
- Fixed: Duplicating a conversation in the Dialogue Editor would not observe database's Base ID.
- Fixed: Dialogue Editor window could report NullReferenceException in some cases when entering play mode.
- Fixed: Input Device Manager inspector could report error with mixed input modes when an input definition was invalid.
- Fixed: DialogueLua could potentially fail to register Lua functions in some configuration.
- Fixed: StandardDialogueUI Wait For Close waits for main panels' close animation to finish before setting isOpen property false.
- Fixed: TextMeshProTypewriterEffect not properly handling mix of
tags and RPG Maker-style codes.
- Fixed: TextMeshProTypewriterEffect would not expand layout element to full size when skipping ahead.
- Fixed: TextMeshProTypewriterEffect fixed potential scroll issue with auto scroll.
- Fixed: Extra Databases component no longer stops after one frame in some cases when Once and One Per Frame were ticked.
- Fixed: DialogueManager.RemoveLuaObserver handles additional exception cases.
- Fixed: Sequencer Shortcuts no longer reports unrecognized shortcut when using {{default}}.
- Fixed: Potential NullReferenceException issue if Standard Dialogue UI's Main Panel was not assigned.
- Fixed: SetDialoguePanel(true) will also restore focus state of subtitle panel that had focus when SetDialoguePanel(false) was used.
- Save System: SaveSystemMethods methods are now virtual.
- Save System: SpawnedObjectManager can now save unique saver data on spawned entities of the same type.
- Save System: Added overrideable method SceneTransitionManager.OnLoading.
Third Party Support
- Corgi: Added Conversation Zone > Land On Ground While Talking checkbox (ticked by default).
- Emerald AI: Updated for 3.1.
- i2 Localization: Text Table now imports any terms starting with "Dialogue System/TextTable/" even if field isn't yet defined in text table.
- Ink: Added 'Force Response Menu For Single Choices' checkbox; updated integration to better handle silent choices in certain configurations.
- Inventory Engine: Added mmResizeSlots() Lua function. Updated for 3.0.
- Devion Item & Inventory System: Added support.
- Opsive Ultimate Inventory System: If omitting inventory owner name, now checks all GameObjects tagged Player.
- RT-Voice: Updated RT-Voice SALSA example to use box head model.
- YarnSpinner: Added import support.
Known Issues
- RPG Kit integration update is pending.
Version 2.2.22
Release Date: October 31, 2021
Core
- Added: Sequencer.receivedMessage event hook.
- Improved: Typewriter effects now have option to silence audio on pause codes and/or silent characters.
- Improved: Added Entrytag Format > Custom option.
- Improved: Optimized performance of saving quest states.
- Improved: Added warmup option Don't Hide Immediate During Warmup to Dialogue Manager.
- Improved: Lua wizards support custom field type drawers for actors, items, and locations.
- Improved: Dialogue Editor saves any pending changes to disk when closing window or entering play mode.
- Fixed: Dialogue Editor undo improvements to undo creating conversations and dialogue entries.
- Fixed: Open quest log windows will now automatically update when quest states change even when not in Dialogue Manager's hierarchy.
- Fixed: Standard UI Quest Log Window > Select First Quest On Open now works without requiring Show Details On Select.
- Fixed: SetPanel() sequencer command can now override panel for Dialogue Actors on GameObjects that are activated after conversation start.
- Fixed: Timeline Continue Conversation track can now show preview text without requiring Playable Director to be selected.
- Fixed: Always Face Camera switches to new main camera if cached main camera reference is disabled.
- Fixed: Voice() sequencer command audio bug; added option to specify layer and crossfade duration.
- Fixed: Input Device Manager can now translate KeyCode.Return when using new Input System package.
- Fixed: JLC import format can now handle sequences containing curly braces.
- Fixed: Dragging multiple conversations in Dialogue Editor's Conversations Outline mode.
- Fixed: UIPanel no longer deactivates GameObject on start if state is set to Closed but deactivateOnHidden is false.
Third Party Support
- Adventure Creator: Updated to better handle ACSpeech() lipsync integration; fixed potential timing issue with PersistentEngine and AC Bridge initialization.
- Celtx: Fixed issue importing [SEQ] blocks containing [square brackets]; added support for [COND] and [SCRIPT] blocks.
- Corgi Engine: Now supports Character Persistence component on player GameObject.
- Ink: Added C# event hook DialogueSystemInkIntegration.loadedStories; respects emphasis settings on dialogue database assigned to Dialogue Manager's Initial Database field; allows conversation-overriding sequencer commands such as SetTimeout() to work.
- Invector: InvectorStatsSaver component now also saves stamina.
- Opsive Ultimate Inventory System: Updated for UIS 1.2.
- PlayMaker: Start Sequence action can now wait until sequencer receives specified message.
- TopDown Engine: Now supports Character Persistence component on player GameObject.
Version 2.2.21
Release Date: October 8, 2021
Core
- Improved: Localize UI component can now localize TextMeshPro components in addition to TextMeshProUGUI.
- Improved: Em Tag For Old/Invalid Responses takes precedence over other [em] tags.
- Improved: StandardUIQuestLogWindow now has separate virtual methods to get quest title templates.
- Improved: DialogueActor.SetupBarkUI is now virtual.
- Improved: Can now assign a GUI Skin to Lua Console.
- Improved: Added 'Suppress OnEnterState Events On Start' option to QuestStateListener.
- Improved: Welcome Window provides warnings before enabling options that could cause compile errors if required package isn't installed.
- Fixed: Custom subtitle panels not part of list of panels assigned to dialogue UI are now considered when waiting for panels to close.
- Fixed: Ticking Welcome Window compiler options after moving Dialogue System to different folder now no longer reports error message.
- Fixed: Removed redundant PixelCrushers.DialogueSystem.EncodingType definition.
- Fixed: Updated CharacterInfo class to handle disabled domain reloading.
- Fixed: InputDeviceManager when using Input System now ignores keycodes for mouse buttons.
- Fixed: Moved sequencer command processing back to Update, with sequencer messages queued for LateUpdate.
- Save System: Added version info to saved games.
- Save System: DiskSavedGameDataStorer Added dropdown to use persistentDataPath, dataPath, or custom location.
- Save System: DiskSavedGameDataStorer now saves to intermediate file first in case writing to file fails.
- Save System: DiskSavedGameDataStorer will now rebuild saveinfo.data (catalog) automatically if missing.
- Save System: DiskSavedGameDataStorer change – will now throw exception if fails to write to disk.
Third Party Support
- Adventure Creator: Start Conversation action now shows text dropdown instead of number field for "Start at entry ID".
- Bolt: Added BoltEvent() sequencer command.
- Celtx: Added [SEQ] sequence syntax checking; fixed import bug related to order in which sequences were added in Celtx.
- Chat Mapper: Conversation overrides are now included in XML export/import.
- CSV: Conversation overrides are now included in CSV export/import.
- Emerald AI: Updated for Emerald AI 3.0.
- Excel: Added option to specify conversation titles (in cell B2).
- Ink: Now supports simultaneous conversations. Removed deprecated Include In Save Data checkbox. (Use InkSaver component.)
- Opsive Ultimate Inventory System: uisAddItem/RemoveItem() Lua functions can specify item collection to operate on.
Version 2.2.20
Release Date: September 6, 2021
Core
- Improved: Can now multi-select conversations in Dialogue Editor's conversation Outline mode to move to delete multiple.
- Fixed: Obscure potential startup animation bug in StandardBarkUI.
Third Party Support
- Celtx: Added support.
- i2 Localization: Fixed issue in which updated Text Table asset might not be marked dirty.
- Invector: FaceConversant no longer reports error if conversation doesn't have conversant GameObject.
- uMMORPG Remastered: Added support.
- uRPG: Sets Player actor's Display Name to uRPG player's name.
Version 2.2.19
Release Date: August 26, 2021
Core
- Added: ConversationControl component (Skip All and Toggle Auto Play).
- Added: Dialogue Database base ID setting for working with multiple databases.
- Improved: Added alternate method to reorder conversation nodes.
- Improved: Dialogue Editor > Database Merge feature now has option to merge emphasis settings.
- Improved: Dialogue Editor > Language Text export now includes each character only once.
- Improved: Added Camera & Cutscene Settings > Keep Camera Position At Conversation End checkbox.
- Improved: Added Selector option Distance From - Actor Transform.
- Improved: Selector now has workaround for new Input System IsPointerOverGameObject() bug; fixed issue with Rewired integration and Select At mouse position.
- Improved: All versions of DialogueManager.LoadAsset() can load Addressables. If you enable Addressables support, you must use Addressables version 1.17.4+.
- Improved: Timeline Start Conversation & Bark clips now have option to specify dialogue database.
- Improved: Added public properties Sequencer.shortcuts and Sequencer.shortcutStack.
- Improved: IncrementOnDestroy methods are now virtual.
- Improved: StandardUISubtitlePanel.animator is now virtual.
- Improved: StandardUIContinueButtonFastForward.runtimeDialogueUI is now virtual.
- Improved: Sequencer now checks for completed active sequencer commands in LateUpdate instead of Update to improve timing.
- Improved: Added UILocalizationManager checkbox to set TextTable.useDefaultLanguageForBlankTranslations.
- Improved: LocalizeUI will use default translation if current language setting is invalid.
- Fixed: Timeline Bark clip with specific entry ID didn't execute entry's Script field.
- Fixed: CinemachinePriority() sequencer command doesn't overwrite its own blend mode change.
- Fixed: Bug in StandardUISubtitleControls.SetActorSubtitlePanelNumber().
- Fixed: If Unique ID Tool EditorPrefs key was invalid, couldn't open window.
- Fixed: SMS Dialogue UI incorrectly showed empty bubble for blank subtitles.
- Fixed: Quest log window and tracker HUD now show quests in Return To NPC state same as Active state.
- Fixed: Subtitle panels set to Until Superceded and Wait For Close would not wait for previous panels to close before showing new panel.
- Fixed: Standard Dialogue UI main panel Wait For Close waits for subtitle/menu panels to close before starting to close.
- Fixed: Some Dialogue Editor inspector fields would not mark the database dirty for saving.
- Fixed: Disabled domain reload issue with StandardUISelectorElements.
- Fixed: SelectorFollowTarget now accommodates tag/layer-specific selector images.
- Fixed: CheckInputManagerSettings error in Unity 2021.b
- Fixed: Dialogue System startup checks language on UILocalizationManager if present.
- Fixed: Dialogue Editor conversations selection popup would occasionally appear blank.
- Fixed: PersistentDataManager now sanitizes Pictures field.
- Save System: Saver components now show warning if GameObject has multiple savers and Key values are blank.
- Save System: Added SaveSystemMethods.ResetGameState().
- Save System: No longer adds JsonDataSerializer or PlayerPrefsSavedGameDataStorer if application is quitting.
- Save System: Fixed bug with AnimatorSaver when using BinaryDataSerializer.
Third Party Support
- Corgi: Added Pause While Talking checkbox to ConversationZone.
- i2 Localization: Now sanitizes characters '/[]' in terms.
- Ink: Fixed issue with sequences on player responses; {Sequence()} external function allows [[x]] to specify shortcut x instead of {{x}}.
- Opsive Controllers: Updated for 2.3.5; added TPC demo scene; fixed player control issue with one player conversation starting on same frame that another player conversation ended.
- SALSA: Updated TextSync integration; added StopTextSync() sequencer command.
- Text Animator: Added Clear Text On Open checkbox.
- TopDown Engine: Improved PauseTopDownDuringConversations cursor and input handling; health bar UI is now updated when loading saved game character data.
- Twine: If link connects to a node whose text is exactly same as link, import will treated them as single node.
Version 2.2.18
Release Date: June 20, 2021
Core
- Added: Subtitle panel visibility option 'Until Superceded Or Actor Change'.
- Added: Localization Tools Window.
- Added: DialogueManager.standardDialogueUI convenience property.
- Improved: Optimized SetPortrait() sequencer command image loading.
- Improved: Exposed ConversationView.dialogueUI property. (Assigning closes current UI and opens assigned one.)
- Improved: Added Scrollbar Enabler field to StandardUISubtitlePanel to improve scrolling to bottom without typewriter effect.
- Fixed: Bug when overriding actor subtitle panel with default panel.
- Fixed: Double-click node to quick edit text issue when canvas was scrolled.
- Fixed: Sequence //comments were not parsed properly in some situations.
- Fixed: QTE() sequencer command with text variable incorrectly wrapped result in extra quotes.
- Fixed: Input Device Manager could report error using new Input System with disabled domain reloading.
- Fixed: Assigning a Text Table asset to a string field would unnecessarily add a UILocalizationManager GameObject at design time if the scene didn't already have one.
Third Party Support
- i2 Localization: Added option to send translations of all languages or only specific language (or none) to i2 asset; DialogueSystemUseI2Language (runtime) now handles extra info options.
- Ink: Added InkSaver; fixed bug when mixing Ink conversations with non-Ink conversations that would skip Sequences in non-Ink conversations.
- LivelyChatBubbles: Added LCBContinueButton script for continue button fast forward functionality.
Version 2.2.17
Release Date: June 6, 2021
Core
- Changed: Standard Dialogue UI > Use First Response For Menu Portrait checkbox prioritizes using first response actor's actor-specific menu panel if set.
- Changed: GameObjectUtility.GameObjectHardFind and GameObjectUtility.FindObjectsOfTypeAlsoInactive search all open scenes by default, not just active scene.
- Added: Node groups in editor. (Click-drag area, then hold Ctrl while releasing mouse button.)
- Added: JSON export/import.
- Added: JLC export/import.
- Improved: Added Dialogue Editor window & Sequence field hooks to add custom menu items, node drawing to node editor, and drag-n-drop. (See Customizing the Editor in manual's Scripting section.)
- Improved: If current usable becomes disabled, Proximity Selector automatically shows use message for next usable in range.
- Improved: To circumvent execution order bug in some Unity versions, OnStart/OnEnable triggers that run on frame 1 of program execution will not wait for end of frame.
- Improved: Added OnSaveDataApplied trigger type to Dialogue System Trigger.
- Improved: Dialogue System Trigger > Start Conversation action now has Replace checkbox.
- Improved: Optimized Dialogue System Trigger > Skip If No Valid Entries; check no longer executes Script on START node.
- Improved: Each conversation's sequencer now has access to its ActiveConversationRecord.
- Improved: Added option to set sequencer's original camera position.
- Improved: Timeline Start/ContinueConversation 'Update Duration' button estimates duration based on typewriter effect if sequence doesn't play audio/lipsync.
- Improved: Timeline Bark clip now has option to specify entry ID.
- Improved: StandardUIResponseButton OnClick also calls SetCurrentResponse to work with buttons that only receive PointerClick and not Select events.
- Improved: TextMeshProTypewriterEffect.HandleAutoScroll is now virtual and optimized for performance.
- Improved: UIScrollbarEnabler methods are now virtual.
- Improved: InputDeviceManager New Input System integration handles translation of KeyCode.Alpha# and KeyCode.Keypad#.
- Improved: UIScrollbarEnabler will now update scroll rect even if no scrollbar is assigned.
- Fixed: If two inspector windows were open and showing Dialogue Editor nodes and one closed, the other would not automatically refresh when selecting nodes.
- Fixed: Dialogue entries' Conversant fields may once again be set to (None). Previously a valid Actor & Conversant were both required.
- Fixed: Custom field types were being shown as text fields in Dialogue Editor main section.
- Fixed: Selector issue where disabling with Selector Use UI Elements would cause it to draw legacy use message.
- Fixed: Dialogue System Trigger's Lua Conditions wizard didn't show variable name entry field when adding new variable through wizard.
- Fixed: When playing simultaneous conversations, starting a new conversation could incorrectly clear subtitle text of another conversation.
- Fixed: Timing issue where if conversation skipped ahead while playing Delay(#)->Message sequencer command, the next entry's sequence could receive the message.
- Fixed: Imposed more consistent behavior when overriding display settings and using actor-specific UI panels.
- Fixed: Scrolling Dialogue UI's response menu now auto-scrolls to bottom.
- Fixed: SMS Dialogue UI now uses wrapper script for compatibility between Asset Store version and evaluation version.
- Fixed: Slicing of text bubble sprite.
- Fixed: UIButtonKeyTrigger didn't reset pressed state.
- Fixed: UILocalizationManager didn't apply localization to inactive GameObjects when option to apply to inactive was ticked.
- Fixed: TextMeshProTypewriterEffect with auto scroll when subtitle skips ahead without starting typing in an accumulate text panel now sizes properly.
- Fixed: SelectorUseStandardUIElements layer-based overrides now use default UI if UI Elements is unassigned.
- Fixed: Removed obsolete warning in Unity 2021 'StandaloneInputModule.forceModuleActive' is obsolete.
- Fixed: NLua default behavior changed to automatically convert forward slashes to underscores in table indices to match built-in Lua behavior.
- Fixed: Timeline Continue clip Update Duration button now properly accounts for Clear Text operations.
Third Party Support
- articy:draft: Localization import will now report dialogue fragments with duplicate Technical Names and continue import instead of stopping.
- Corgi: Added Face() sequencer command.
- Emerald AI: Updated for version 2.4.1.
- i2 Localization: Added options to assign i2 source, update primary field from a specified language, send translations to I2.
- Ink: Integration improvements; ProcessTags method is now virtual.
- Twine: Added option to use JSON node positions.
- Opsive Ultimate Inventory System: Updated for 1.1.7. Added OpenCrafting() sequencer command.
Version 2.2.16
Release Date: April 12, 2021
Core
- Changed: Duplicating / copy-pasting dialogue entries does not duplicate scene event if original entry has scene event.
- Changed: StandardUIResponseButton.OnClick no longer adds click event at runtime if another event is already assigned.
- Added: [autocase=variable] tag.
- Added StandardDialogueUI.ForceOverrideSubtitle/MenuPanel().
- Added: DialogueManager.customResponseTimeoutHandler delegate, called if Response Timeout Action is set to Custom.
- Improved: Dialogue System Trigger > Run Lua Code sets Variable["Actor"]/Variable["ActorIndex"] to interactor.
- Improved: Quest entries editor now has compact view option.
- Improved: Mouse hover over dialogue entry nodes now shows link order.
- Improved: Text type custom template fields now use multi-line text edit areas in main inspector area.
- Improved: Added StandardUISubtitleControls.OverrideActorPanel(DialogueActor).
- Improved: StandardUISubtitleControls.OverrideActorPanel can now specify a custom panel.
- Improved: Added activeConversation property to DialogueManager.instance and Subtitle object.
- Improved: Demo scene: Added option to use new Input System.
- Improved: Removed Chat Mapper-specific fields from default dialogue database template to significantly reduce asset size.
- Improved: Dialogue Editor Outline mode now uses reorderable list.
- Improved: StandardUIMenuPanel.InstantiateButton() is now virtual.
- Improved: Sequencer doesn't touch camera until needed (e.g., by Camera() or Zoom2D() sequencer command).
- Improved: Localization export/import has options to use key field (e.g., "Articy Id") and include conversation title for context.
- Improved: Asset Renamer window can now also rename actors and quests.
- Fixed: If audio sequencer command automatically adds Audio Source, Play On Awake & Loop are now set false.
- Fixed: Standard Bark UI hide duration now observes Dialogue Manager's Dialogue Time setting.
- Fixed: VN Template Dialogue UI's Portrait Name animation.
- Fixed: VN Template Dialogue UI & SMS Dialogue UI prefabs set fixed size portrait images to prevent distorted scaling.
- Fixed: Improved sanitizing of conversation titles in Dialogue Editor's conversation selection dropdown.
- Fixed: Delay() sequencer command ignored Time.timeScale when dialogue time mode was set to Gameplay.
- Fixed: DialogueManager.LoadAsset() from addressables handles multiple addressables simultaneously.
- Fixed: Cursor position issue when double-clicking node to open quick text entry box.
- Fixed: Animator will no longer report warning if trying to play portrait animations for an actor that doesn't have a portrait animator controller.
- Fixed: SetContinueMode() could fail with error with certain override settings.
- Fixed: Lua now clears error stack after every call to reduce memory use.
- Fixed: StandardUISubtitlePanel didn't observe when Deactivate On Hidden checkbox was unticked.
- Fixed: IncrementOnDestroy now doesn't increment if being destroyed by DestructibleSaver while applying save data.
- Fixed: Issue with Dialogue Editor not updating inspector after maximizing docked window and then un-maximizing it.
- Fixed: Selector/ProximitySelector: Calls OnDeselect() event on previous usable if switching immediately to new usable.
- Fixed: When subtitle was set to Accumulate Text, TextMeshProTypewriterEffect did not handle <font> tags with non-alpha characters.
- Fixed: If another conversation starts for dialogue UI while it's playing close animation, it cancels close and re-shows UI.
- Updated: Updated alternative support for NLua.
- Text Table: No longer counts empty field as having text for a language.
- Save System: Added MultiEnabledSaver.
- Save System: AnimatorSaver now also saves trigger parameter values.
- Save System: ConversationStateSaver waits for dialogue UI animation if switching conversations on load.
- Save System: Fixed: Doesn't delete non-cross-scene data when loading additively.
- Save System: Fixed: Calls BeforeSceneChange() on scene objects UnloadAdditiveScene().
Third Party Support
- Adventure Creator: Updated for 1.73.
- articy: Importer now handles articy:expresso ++ and – syntax; updated localization importer to use separately-downloaded, open source Unity-QuickSheet library.
- Ink: When using INK_FULLPATHS with nested includes, entrypoint picker now groups submenus more nicely.
- Inventory Engine: mmAddItem() can now load items from addressables.
- Lively Chat Bubbles: Added Lively Chat Bubbles Bark UI.
- Ultimate Character Controller: Updated for 2.3.2. Updates to Lua functions.
- Ultimate Inventory System: Updated for 1.1.6.
Version 2.2.15
Release Date: January 25, 2021
Core
- Added: OnShowAlert script message.
- Improved: Can now specify Dialogue Manager's default canvas.
- Improved: Added Wait For Close checkbox to Standard Dialogue UI.
- Improved: If bark UI has typewriter effect, bark now starts it.
- Improved: If conversation actor or conversant is unassigned, warning will appear in red in lower right of node editor.
- Improved: Screenplay export now combines speaker name attributions for more compact text.
- Improved: Dialogue Manager's Warm Up Controller mode now works with non-Canvas UIs.
- Improved: Inspector does not draw dialogue database's default inspector when not showing a content-specific inspector (performance optimization).
- Improved: ClearSubtitleText(all) now also clears custom subtitle panels, not just panels built into dialogue UI.
- Fixed: Quest log window wasn't localizing group names.
- Fixed: SetDialoguePanel(false) no longer resets the active conversation's cached subtitle panel overrides.
- Fixed: When Selector is set to MousePosition, now reads InputDeviceManager instead of Input.mousePosition to support New Input System.
- Fixed: Dialogue Editor search & replace could report error in certain situations.
- Fixed: ConversationModel does not cache unassigned actor ID -1.
- Fixed: VN Template Dialogue UI's Canvas Group animation.
- Fixed: When showing actor names, text was too low on nodes in Unity 2020.
- Fixed: Message System bug when removing and re-adding the same message listener in the same frame.
- Cinemachine: Added CinemachinePriority(all) and (except:name) options.
- Timeline: Conversation clips now have "Update Duration" button to set clip length to estimated duration of subtitle.
- Localization Export/Import: Now also includes actor & quest Display Names.
- Save System: Now handles loading old saved games that had quests that no longer exist in dialogue database.
- Save System: LoadScene() logs message when Debug is ticked.
- SaveSystem: Changed script execution order to -7.
- SaveSystem: Added SavedGameData.DeleteData().
Third Party Support
- Adventure Creator: Added Sync Lua action, Lua functions to get/set variable values and item counts.
- articy:draft: Now sorts links to sub-dialogues by vertical position; arranges nodes vertically instead of horizontally by default.
- Corgi: Added Also Disable Movement Components While Talking checkbox.
- Ink:
- Can now attach sequences to subtitles.
- Now supports nested INCLUDEs with different relative paths.
- Can now define scripting symbol INK_FULLPATHS to select entrypoints using full file paths.
- Fixed issue with loop-back single response branches.
- PlayMaker: Added Jump To Entry action.
- Opsive Character Controllers (UCC): Added UIS define symbol to incorporate UIS-specific features.
- Opsive Ultimate Inventory System (UIS): Updated for UIS 1.1.3; loading saved game no longer shows Inventory Monitor popups for restored items.
- ORK: Updated for 2.30.2.
- Twine: Added optional "(passthrough)" keyword to Conditions; fixed bug that created double links; can now import at runtime; arranges nodes vertically by default.
Version 2.2.14
Release Date: November 30, 2020
Core
- Changed: Voiceover script spreadsheet now includes Description column.
- Added: [LocationPopup] attribute.
- Added: ReturnToNPC quest state, QuestLog.StateToStringDelegate.
- Added: Dialogue Manager option to interrupt active conversation if trying to start another.
- Improved: Added Dialogue Editor previous/next conversation shortcuts: Ctrl+Shift+< and Ctrl+Shift+>.
- Improved: Dialogue Editor Duplicate Conversation operation now also duplicates override display settings.
- Improved: Screenplay export now has option to skip nodes whose Sequence is None() or Continue().
- Improved: Added StandardUISubtitlePanel & StandardUIMenuPanel > Wait For Close checkbox.
- Improved: ConversationPositionStack now has Push Current Entry checkbox.
- Improved: HidePanel() sequencer command now accepts special keyword 'portraitimage'.
- Improved: VN Template Standard Dialogue UI prefab now darkens unfocused portraits instead of making them transparent.
- Fixed: Portrait sprite cache, Lua functions when domain reloading is disabled.
- Fixed: Moved CustomLuaFunctionInfo to address assembly definition issue.
- Fixed: Can now start conversation on group node when specifying starting dialogue entry ID.
- Fixed: When ending conversation using Override Dialogue UI, hide animation now plays before deactivating UI.
- Fixed: Check button in Sequence field incorrectly flagged sequences containing only multiple shortcuts.
- Fixed: Quest tracker HUD issue when disabling HUD.
- Fixed: Built-in Lua function issue in certain edge cases.
- Save System: Added Scene Portal OnUsePortal() UnityEvent.
Third Party Support
- Adventure Creator: Updated to handle DS preload / AC KickStarter coordination.
- Ink: Barks can now play sequences associated with Ink bark lines.
- Look Animator: Updated for 2.0.1.
- Opsive Controllers: Added support for runtime pickups.
- Opsive Ultimate Inventory System: Updated savers.
- TopDown Engine: Added starter script for saving attributes in save system.
Version 2.2.13
Release Date: November 9, 2020
Core
- Added: Scrolling dialogue UI template.
- Added: Menu > Conversation Properties (alternative to clicking blank canvas space to inspect properties).
- Added: HidePanel() sequencer command.
- Improved: Dialgoue entry sequences set to Continue() now skip subtitle same as None().
- Improved: Subtitle panel > Add Speaker Name format now replaces backslashed n with newlines.
- Improved: Added smooth scroll option to UIScrollbarEnabler & UnityUITypewriterEffect.
- Improved: Added extra warmup modes to Dialogue Manager.
- Improved: Dialogue Manager's Persistent Data Settings > Initialize New Variables checkbox now also adds new actor fields added since save.
- Improved: Loading from addressables now logs clearer error message when specified key doesn't exist.
- Improved: If actor's Current_Portrait field is set, now checks if sprite is in actor list by name before trying to load asset.
- Fixed: Delay(#)->Message(message) would send message immediately instead of after delay.
- Fixed: Timing of RPG Maker codes in TextMeshProTypewriterEffect could be off when text contained certain TMP tags.
- Fixed: Dialogue Editor's Show Portraits option wouldn't persist across play mode changes.
- Fixed: Editor play mode issue with SimStatus when disabling domain reloading.
- Fixed: Bug when using SimStatus and loading saved game containing conversation that was subsequently deleted.
- Fixed: Reconnected basic bark UI's animator controller.
- Fixed: StandardBarkUI now checks Camera.main null.
- Fixed: AlwaysFaceCamera issue with z-axis when Y-Axis Only is ticked.
- Fixed: MissingReferenceException when calling Close() on a panel whose GameObject has been destroyed in same frame.
- Save System: Added SaveSystem.ResetGameState().
Third Party Support
- Corgi Platformer Engine: Updated for 6.6+.
- i2 Localization: Leaves [/i2nt] tags untouched. Fixes issue where changes to existing fields in database weren't recopied to i2 Localization asset. Handles case when languages and language codes lists aren't the same length.
- Invector Controllers: Updated for 2.5.3+.
- Opsive Controllers: Updated for 2.2.5.
Version 2.2.12
Release Date: October 11, 2020
Core
- CHANGED: Deprecated dialogue UI prefabs have been moved out of the Dialogue System. They are available on the Dialogue System Extras page.
- Changed: Dialogue System Trigger's Start Conversation > Skip If No Valid Entries checkbox now defaults to false.
- Added: Variable Viewer utility window.
- Added: Variable Renamer utility window.
- Added: SMS style, Nuke, Computer, Old School dialogue UI prefabs.
- Improved: Lua wizards now provide shortcut to add new variable.
- Improved: Dialogue Editor Variables tab now has option to collapse variable group foldouts.
- Improved: Conversation properties can now override cancel subtitle/conversation inputs.
- Improved: Sequencer commands can now find inactive GameObjects by tag.
- Improved: Added C# method to set current selection in Selector.
- Improved: Updated DemoScene1 computer terminal to demonstrate world space dialogue UI.
- Improved: If dialogue UI instantiates missing EventSystem and using new Input System, now adds InputSystemUIInputModule.
- Improved: If editing an auto-backup database instead of the original, database name watermark will be bright red.
- Fixed: Bug with Delay() sequencer command when Dialogue System Trigger's Pause Game During Conversation was ticked.
- Fixed: SetDialoguePanel() didn't re-show continue button if it was previously visible.
- Fixed: Warm Up Conversation Controller with certain UIs would briefly show UI at start.
- Fixed: Sequence field Check button now allows sequences containing only a {{shortcut}} to pass.
- Fixed: Bug in SimStatus if loading saved game containing different SimStatus values for the most recent conversation and then playing same conversation.
- Fixed: If including invalid responses, [auto] tag now doesn't auto-select invalid responses.
- Fixed: QuestState fields can now be set to grantable at design time.
- Fixed: Automatic explicit response button navigation now bypasses non-interactable buttons.
- Fixed: Updated input field UIs in several example prefabs.
- Save System: Fixed potential timing issue with AutoSaveLoad and DiskSavedGameDataStorer.
Third Party Support
- Action-RPG Starter Kit: Updated for 6.55b.
- Adventure Creator: Updated for 1.72.
- articy:draft: Fixed actor assignments for certain "decorator" nodes (jumps, pins, etc.).
- Opsive Controllers: Updated to allow specifying item collection by name; save min & max attribute values; save non-slot items.
- ORK: Added ORKGetQuestStatus() Lua function.
- PlayMaker: Added Bark action option to specify text instead of conversation.
Version 2.2.11
Release Date: September 21, 2020
Core
- Fixed: Bug with Delay() sequencer command when Dialogue System Trigger's Pause Game During Conversation is ticked.
Third Party Support
- articy:draft: Fixed actor assignments for certain "decorator" nodes (jumps, pins, etc.).
- Opsive Controllers: Updated to allow specifying item collection by name.
- ORK: Added ORKGetQuestStatus().
- PlayMaker Added Bark action option to specify text instead of conversation.
Version 2.2.10
Release Date: September 14, 2020
Core
- Improved: CSV export/import now includes actor portrait sprites.
- Improved: Optimized commonly-used Delay() sequencer command.
- Improved: Addressables loaded via Audio() sequencer command and DialogueManager.LoadAsset() are now unloaded when scene changes by default.
- Improved: SetDialoguePanel() retains content when used to hide and show during same dialogue entry.
- Improved: InputDeviceManager improved mouse movement tracking to determine when to switch to mouse mode.
- Fixed: SetContinueMode() didn't apply when using conversation overrides.
- Fixed: Bug where subtitle panel would clear text while playing hide animation.
- Fixed: DialogueSystemSaver issue that prevented restoration of relationship data and compressed SimStatus data.
- Fixed: Welcome window's Enable TextMesh Pro checkbox didn't work on OSX.
- Fixed: When GameTime.mode is Realtime, GameTime.deltaTime returns unscaled delta time.
- Fixed: When changing actor custom node color, new color is immediately reflected when returning to Conversations section.
- Save System: Fixed AutoSaveLoad save issue; added option to automatically unload any additively-loaded scenes when changing scenes.
Third Party Support
- Adventure Creator: Fixed package; version in 2.2.9 was missing action scripts.
- articy:draft: Stage Directions as Sequences now also converts Stage Directions fields that contain only shortcuts; Dialogues can now specify Sequence for <START> entry.
- Chat Mapper: Importer now imports additional portrait images; can now specify sprite or texture image format.
- Invector: Updated InvectorInventorySaver to prevent double equip animation in Invector 2.5.3+ and generally improve equipment save/load.
- Lively Chat Bubbles: Added support.
- Opsive Character Controllers: Updated for UCC 2.2.5.
- Opsive Ultimate Inventory System: Added support.
- PlayMaker: Added speaker & listener info to Get Current Conversation Info.
- Rewired: InputDeviceManagerRewired now recognizes negative button input as well as positive.
- RT-Voice: Updated for version 2020.4.2.
Version 2.2.9
Release Date: August 10, 2020
Core
- Improved: If targeted Usable is disabled, Selector/ProximitySelector doesn't don't send OnUse message.
- Improved: Sequencer preloading
- Improved: Added DialogueLua option to not translate / to _ in table indices.
- Improved: EnableOnStart now has public property for m_component.
- Improved: InputDeviceManager now has option for keyboard input to switch to keyboard mode.
- Improved: StandardUIMenuPanel Block Input For Duration option can now handle custom PointerInputModule implementations such as Rewired.
- Improved: Added DialogueManager Warm Up Conversation Controller option.
- Fixed: Removed accidentally-added unnecessary fields from Demo database's quest template.
- Fixed: Issue where custom node colors could become transparent.
- Fixed: BarkGroupManager inspector error when changing scenes.
- Fixed: Adding additional dialogue databases no longer overwrites duplicates with values from added database.
- Fixed: CommonLibraryLua loading issue.
- Fixed: Deprecation warning for Unity 2020.1.
Third Party Support
- Adventure Creator: Added SyncACToLua() and SyncLuaToAC() Lua functions; dialogue cursor with non-zero click offset now properly positioned.
- Invector: Updated for 2.5.3.
- Inventory Engine: Added mmGetNumFreeSlots() & mmGetNumFilledSlots() Lua functions.
- i2 Localization: Can now assign more than one dialogue database, and use ID or Name/Title for field name.
- Rewired: Disambiguated reference to Rewired.Player in InputDeviceManagerRewired.
- RT-Voice: Added pitch, rate, and volume settings to RTVoiceActor.
- SLATE: StartConversation action now allows you to select a database.
- Twine: Added option to split pipes into nodes.
- UCC: Updated interaction script to work with UCC multiplayer.
Version 2.2.8
Release Date: July 6, 2020
Core
- Added: Screenplay export.
- Added: Node icon for OnExecute() events.
- Improved: Sequences can now have comments (//).
- Improved: DialogueSystemTrigger Cache Bark Lines now caches lines on start.
- Improved: StandardUIMenuPanel.Autonumber > Format now accepts tab and newline escape codes.
- Improved: TypewriterUtility.GetTypewriter() now works with any AbstractTypewriterEffect.
- Improved: Updated Cinemachine & Timeline sequencer commands for changes to recent versions of Cinemachine & Timeline.
- Improved: UILocalizationManager has option to not use PlayerPrefs.
- Fixed: UILocalizationManager no longer creates a duplicate copy on Dialogue Manager.
- Fixed: Current node wouldn't appear in green during play if Time.timeScale was zero.
- Fixed: UIButtonKeyTrigger feature to visually simulate button click would not work if time was paused.
- Fixed: If on Actors, Items, or Locations tab when switching to play mode, Inspector would show last Dialogue Editor selection even if Dialogue Editor window didn't have focus.
- Save System: Changed: DialogueSystemSaver: Added Skip Apply Data If Applied Immediate checkbox (ticked by default) to avoid double apply.
Third Party Support
- Adventure Creator: Updated for 1.71.4.
- Behavior Designer: Added ability to operate on behavior trees with a specific group ID.
- Corgi: Updated for 6.5. Adds ConversationZone.DisallowMovement/UndoDisallowMovement methods. DialogueSystemCorgiEventListener manages handoff between dialogue UI and Corgi pause menu.
- Ink:
- Added option to read actor name from front of lines.
- Added option to trim whitespace.
- Included files now shown in knot/stitch picker dropdown; added [InkEntrypoint] script variable attribute.
- Added DialogueSystemInkIntegration.lastStartingPoint.
- Streamlined integration by removing need for Override dropdown and PlayerSpeakerActor; uses real player actor.
- Added GetActorsInStory().
- Fixed transform assignments to Sequence() functions.
- PlayMaker: Added Get All Lua Elements action; PlayMakerGlobalVariableSaver can now save arrays.
- TopDown Engine: Updated 2D example scene with item fetch quest.
- uRPG: Updated for 1.25.
Version 2.2.7
Release Date: June 2, 2020
Core
- Changed: Localization Export/Import now exports Actor column to identify each line's speaker.
- Added: Dialogue entry nodes now have optional UnityEvents that can operate on scene objects.
- Added: Addressables support.
- Improved: Custom Lua Function Info can now use forward slashes to make submenus.
- Improved: Quest tracker script methods are now overridable.
- Improved: Added DeselectPreviousOnPointerEnter component.
- Improved: Added InputDeviceManager.isInput Allowed.
- Improved: AudioWait() sequencer command will now use Audio Source on child object if present.
- Fixed: TextMeshProTypewriterEffect Auto Scroll Settings updated.
- Fixed: When subtitle panels were configured to accumulate text, typewriter effect accounted for <color=#rrggbbaa> tags but not <color=name> tags.
- Fixed: Subtitle panel could not auto-focus continue button in certain configurations.
- Fixed: If OverrideDialogueUI pointed to a prefab and conversation started at non-START entry, timing issue would hide UI instead of showing it.
- Fixed: Stopping conversation prematurely would not hide Dialogue Actors' external menu panels.
- Fixed: DialogueSystemTrigger Pause / Show Cursor During Conversations now works even if trigger is not on actor or conversant.
- Fixed: DialogueSystemTrigger Start Conversation action now provides correct conversation conversant when checking if conversation has valid entry.
- Fixed: If using SimStatus with multiple simultaneous conversations, Dialog[] table now always points to the correct conversation.
- Fixed: If Usable is disabled while Selector is selecting it, now hides selection UI.
- Fixed: New Input System integration ignores joystick keycodes.
- Fixed: New Input System could report ArgumentNullException in first frame on WebGL.
- Text Tables: Added ability to import text table into another.
- Save System: Changed: Savers' Save Across Scene Changes checkbox is now ticked by default.
- Save System: DestructibleSaver.RecordDestruction is now public.
- Save System: Added saveDataApplied C# event; added OnDataApplied() event to SaveSystemEvents.
- Save System: Improved singleton management.
- Save System: Fixed: LoadEnded event is always called when scene loads ends, not just if events were assigned at design time.
- Cinemachine: Updated CinemachinePriority() sequencer command 'cut' option to work with latest Cinemachine.
- Timeline: Updated Timeline() sequencer command GameObject binding for index values used by latest Timeline.
- Dialogue Editor:
- Nodes now show icons when they have a Sequence, Conditions, or Script instead of appending info to text label.
- When dragging multiple nodes with grid snapping on, selected nodes not under mouse cursor are now also snapped to grid when drag ends.
- Misc. improvements to dialogue entry inspector.
- Watches > Add Runtime Variable & Add All Runtime Variables now automatically refresh the variable list first.
Third Party Support
- Adventure Creator:
- Updated for AC 1.71.
- AC Lua functions are now in '...' Custom dropdowns.
- Can load action list assets from Addressables.
- Articy: Fixed: Some HTML codes were not being converted to characters.
- Behavior Designer: Lua functions now in dropdowns. Added Lua functions to target specific behavior tree group IDs.
- Corgi: Updated for 6.4; Added ConversationZone.DisallowMovement/UndoDisallowMovement methods; DialogueSystemCorgiEventListener manages handoff between dialogue UI and Corgi pause menu.
- i2 Localization: Automatically translates
into newlines when importing back into DS.
- Ink:
- Added option to read actor names from lines.
- Added option to trim or leave whitespace.
- Knot/stitch picker dropdown now includes included files.
- Uses real player actor, not PlayerSpeaker, for subtitles.
- Added DialogueSystemInkIntegration.lastStartingPoint.
- Added GetActorsInStory().
- Fixed transform assignments to Sequence() functions.
- Invector: Updated for 2.5.2.
- Look Animator: Added 'none' option to LookAnimator() sequencer command.
- Rog: Updated for 1.55.
- TopDown Engine: Updated Disable TDE Input During Conversations to better handle certain setups.
- Twine: Fixed: Links with the same name but in different nodes are now handled as separate links.
- UCC: Updated for 2.2.2.
- uMMORPG: Updated for 1.190.
Version 2.2.6
Release Date: April 15, 2020
Core
- Dialogue Editor:
- Improved: Improvements to "..." Lua wizards.
- Fixed: Menu > Show Actor Portraits now work with portrait sprites & textures.
- Fixed: Custom node colors could display as transparent.
- Fixed: Variables with '.' weren't shown as submenus in some contexts.
- Fixed: Node dropdown didn't refresh conversation title when exiting play mode.
- Improved: Standard UI Quest Log Window now has Select First Quest On Open checkbox.
- Improved: [var] and [lua] tags are now parsed in alert messages.
- Improved: Added StandardUIMenuPanel option to block input for duration immediately after opening.
- Improved: Added checkbox to clear subtitle text on close.
- Improved: Added UIButtonKeyTrigger.monitorInput property, option to visually simulate pressed state.
- Improved: Setting DialogueTime now also sets PixelCrushers.GameTime.
- Fixed: Misc. fixes to SetMenuPanel() sequencer command.
- Fixed: TextMesh Pro typewriter effect timing with >...< RPG Maker codes.
- Fixed: When showing invalid responses, [auto] and [f] no longer take precedence over Conditions for nodes with invalid conditions.
- Fixed: StandardQuestLogWindow "no quests" messages were not being localized.
- Save System: Added support for async saving; SaveSystem.SaversRestartGame() is now public.
- Save System: PositionSaver on NavMeshAgents didn't restore rotation.
- New Input System: Fixed: No longer tries to handle KeyCode.None.
Third Party Support
- articy:draft: Renamed import buttons to clarify their functions.
- Emerald AI: Updated integration for v2.4.
- Opsive character controllers: Updated integration for version 2.2 (available on opsive.com).
- Spine: SpineDialogueActor methods are now overridable; added support for SkeletonGraphic.
- uMMORPG: Updated integration for 1.189.
- uSurvival: Updated integration for 1.74.
Version 2.2.5
Release Date: March 10, 2020
Core
- Dialogue Editor:
- Improved node colors when using Unity 2019.3+ with Pro skin.
- Lua wizard Variable dropdowns now split submenus on "." for convenience in organizing large variable lists.
- Added Menu > Refresh option.
- Fixed Quest > Use Groups checkbox.
- Fixed node lasso in Unity 2019.3+.
- Added: New Unity Input System support.
- Improved: Sequence "+" menu now has {{shortcuts}} submenu.
- Improved: Sequencer now replaces [var] and [lua] tags inside shortcuts.
- Improved: Preload Resources now initializes cutscene sequencer to avoid potential hitch when starting first sequence.
- Improved: Can now assign Sprite or Texture2D to DialogueActor portrait.
- Improved: Added DialogueManager.SetDialoguePanel(bool) method.
- Improved: Added additive option to LoadLevel() sequencer command.
- Improved: Added overridable PlayCharacterAudio(char) method to typewriter effects.
- Improved: StandardUISubtitleControls.GetPanel is now public.
- Improved: ConversationController.currentState is now public.
- Improved: Added Any Key checkbox to UIButtonKeyTrigger.
- Improved: Added Deactivate On Close checkboxes to UI panels.
- Improved: Added Don't Deactivate Main Panel checkbox to StandardDialogueUI.
- Improved: Unique ID Tool remembers selected databases between editor sessions.
- Improved: Added Item type to CustomLuaInfo.
- Fixed: Subtitle panels with visibility set to Always From Start now show correct portrait if previously overridden with SetPortrait().
- Fixed: ProximitySelector no longer detects new usables when disabled.
- Fixed: Table indices and custom fields with forward slashes (/) now use underscores in Lua (_).
- Fixed: Sequencer message timing when next node waits for same messages that previous node continues on.
- Fixed: If conversation ended due to Continue() and new conversation started on same frame, new conversation would also respond to Continue().
- Fixed: Dialogue Actors with portrait animator controllers did not assign their animator controllers to overridden panels (e.g., using [panel=#]).
- Fixed: 1x to 2x Updater didn't update StartSequenceOnDialogueEvent components.
- Fixed: Audio() sequencer command oneshot parameter can now be
oneshot
or true
(or omitted if not a oneshot audio).
- Fixed: Intermittent error messages with Dialogue Editor's global search & replace.
- Fixed: RandomizeNextEntry() on node when starting a conversation at that node instead of <START>.
- Fixed: Field names may now have forward slashes (e.g., Actor["Dan"].stats/main/hunger).
- Fixed: Now looks for DialogueActor portraits on additional participants, not just conversation's primary participants.
- Timeline: Improved design time preview to show conversation and bark text.
- Save System: Added MultiActiveSaver component.
- Save System: When loading game, PersistentDataManager now initializes new quest states to their initial database state.
- Text Table: Changed: Now uses default field's value if value for a specific language is blank.
- Text Table: Fixed right-clicking context menu would select wrong field row.
Third Party Support
- Adventure Creator: Updated for 1.70.4.
- articy: Import window wasn't saving or observing Use Default Actors If None checkbox. Strip elements that aren't actors or items are now put in Lua tables as strings.
- Aurora: Updated importer for .NET4.x compatibility.
- Corgi: Updated for 6.2.
- DoozyUI: Added integration instructions.
- Inventory Engine: Updated for 1.5.
- Twine: Added import support.
- TopDown Engine: Updated for 1.6.1
- UCC: Converse > Detach Camera checkbox now allows conversations to control UCC camera.
- uMMORPG: Updated for 1.187; fixed GetPlayerClass().
- UniStorm: Updated for 4.1.1.
- uRPG: Updated for 1.20.
- uSurvival: Updated for 1.72.
Version 2.2.4
Release Date: December 25, 2019
Core
- Unity 2019.3 updates:
- Updated to handle Disabled Domain Reloading.
- Updated to handle UI Scaling.
- Updated to remove deprecated API warnings.
- Dialogue Editor:
- Improved: Database template is now stored in database itself as well as EditorPrefs.
- Fixed: Database auto-backups are saved to Auto Backup Folder instead of same folder as database.
- Fixed: Dialogue System Events' OnConversationCancelled is now called even if speaker or listener is null.
- Fixed: SetDialoguePanel() now handles subtitle panels and dialogue panel that all have animators.
- Fixed: SetMenuPanel() no longer requires player to have a GameObject.
- Fixed: SetPortrait() sequencer command now correctly changes listener's subtitle panel as well as speaker's.
- Fixed: When adding multiple databases with overlapping content, Lua environment had content version from last-added database.
- Fixed: TextMesh Pro Typewriter Effect now handles combination of TMP tags and RPG Maker style pause codes properly.
- Added: New CustomLuaFunctionInfo asset allows you to add custom Lua functions in "..." dropdown wizards.
- Added: Lua func UpdateQuestIndicators("quest").
- Added: [QuestEntryPopup] scripting attribute.
- Added: CinemachineTarget() sequencer command.
- Added: Conversation field type to Templates folder. (Uncomment to use.)
- Changed: ExtraDatabases script execution order changed to -10. If set to OnStart, no longer waits 1 frame.
- Save System: Added SpawnedObjectManager option to call ApplyData on respawned objects' savers.
- Text Table: Right-click context menu would select wrong field row.
Third Party Support
- Adventure Creator: Fixed syncing items at conversation end even if AC.KickStarter.player is unassigned.
- articy:draft: Dialogue Text and Menu Text now process embedded "\n" codes as newlines; added option to use no actor if not specified (instead of actors 0 & 1).
- uMMORPG: Added Use Player Icon For Conversations checkbox, CanTrade/ManageGuild/Revive() Lua functions. Fix for QuestStateListeners that use player-dependent Lua conditions.
- Ink: Added Sequence("commands") external function.
- Invector: Bridge component now automatically sets up EventSystem to use current Invector UI navigation controls for conversation response menus.
- PlayMaker: Added PlayMaker Global Variable Saver component.
- Realistic FPS Prefab: Fixed jump speed which was being incorrectly set to zero after conversations.
- SLATE: Fixed Start Conversation popup not saving selection.
- Super Text Mesh: Added native integration for all Dialogue System UIs.
Version 2.2.3
Release Date: November 23, 2019
Core
- Improved: Added syntax checker to Sequence field editor.
- Improved: Added Standard Dialogue UI 'Use First Response For Menu Portrait' checkbox.
- Improved: Exposed UIPanel.deactivateOnHidden property.
- Improved: Usable component no longer caches name at start in case it changes during play.
- Improved: When Selector is set to Distance From GameObject, initial raycast check is not clamped by Max Selection Distance.
- Fixed: Updated Chat Mapper XML output for compatibility with Chat Mapper 1.9.1.0+ import.
- Fixed: Typewriter could send Typed sequencer message at start instead of end.
- Fixed: TextMeshProTypewriterEffect didn't handle pause characters properly when paused.
- Changed: Reverted sequencer to give one frame to early-executed sequencer commands (e.g., using required keyword) to finish processing.
- Save System: Scene Portal now prevents multiple triggerings if interacting GameObject has multiple colliders.
Third Party Support
- Emerald AI: Added option to control individual AI instead of entire factions, EmeraldAIAttacksPlayer(), SetEmeraldFactionRelation(). Saver saves faction relations.
- Invector: Added Y-Axis Only option to Face Conversant.
- ORK: Updated for 2.27.0.
- TopDown Engine: Fixed PauseTopdownDuringConversations to look for base TopDownController instead of 2D version specifically.
- uMMORPG: Added 'Allow Lua To Change Data' checkbox to allow disabling Lua functions.
- uRPG: Added Trade() Lua function. Interactable GameObjects can now have more than one Dialogue System Trigger.
Version 2.2.2
Release Date: October 23, 2019
Core
- Changed: ConversationStateSaver is now a Saver component, not a PersistentData component.
- Changed: Dialogue database content dropdowns now show "Name [ID]" instead of "[ID] Name" to support submenus with forward slash (/).
- Improved: Made UnityUITypewriterEffect variables & methods protected/virtual.
- Fixed: Setting localized language back to blank string now sets it to the default language.
- Fixed: MoveTo() sequencer command on kinematic rigidbodies.
- Fixed: Setting localized language back to blank string now sets it to the default language.
Third Party Support
- Adventure Creator: Added Copy DS Vars To AC button.
- Corgi Platformer Engine: Added Hide Prompt Only During Conversations checkbox; updated for 6.0.
- Easy Save: Added support package and documentation.
- Emerald AI: Updated for 2.3.0.2.
- i2 Localization: Added zeroes-padding option for dialogue entries to improve sorting.
- Ink: Added Dialogue System Ink Trigger, ability to start at knots and stitches.
- TopDown Engine: Added Hide Prompt Only During Conversations checkbox; updated for 1.5.1.
- uMMORPG: Added server-side authorization; updated for 1.179.
- uRPG: Added more Lua functions; updated for 1.18.
- uSurvival: Updated for 1.67.
Version 2.2.1
Release Date: September 21, 2019
- REMINDER: Minimum version is now Unity 2017.4.1f1. For best update results if updating from 2.1.x or earlier, delete Plugins/Pixel Crushers/Dialogue System folder first. (Back up your project before updating.)
Core
- Fixed SetActive() sequencer command (broken in v2.2.0).
- DialogueManager.BarkString() sequences now support {{end}} keyword.
- Removed Destroy() delay when aborting active sequencer commands.
- Standard UI:
- Improved subtitle panel focus/unfocus handling.
- Make StandardUISubtitlePanel.StartTypingWhenFocused is now virtual.
- Exposed StandardUISubtitlePanel.accumulatedText.
- Exposed StandardBarkUI properties as protected.
- Added static utility function ConversationView.GetDefaultDuration.
- Fixed portrait issue in response menu if NPC portraits were assigned but no player portrait was assigned.
Third Party Support
- articy:draft:
- Jumps are now converted as group nodes unless they have an output pin script. (Return to pre-2.1.10 behavior.)
- Added option to convert slots to Technical Name.
- Converter window now saves Other Script Fields value.
- Lua functions such as getProp() now work with property names that include feature name.
self
keyword now points to Dialog[#] dialogue entry, not speaker. (speaker
keyword points to speaker actor.)
- Fixed runtime conversion of reference strips to subtables when the reference strip was empty.
- Chat Mapper: Fixed dialogue entry non-Normal Condition Priority not being correctly imported to link priorities.
- Corgi Platformer Engine: Updated for v6.0; added "Hide Prompt Only During Conversation" checkbox; re-shows prompt as soon as conversation ends.
- ORK: Updated for 2.26.
Version 2.2.0
Release Date: August 21, 2019
IMPORTANT UPGRADE NOTES:
- Minimum version is now Unity 2017.4.
- For best upgrade results, delete the previous Plugins / Pixel Crushers / Dialogue System folder before importing this version.
- Back up your project before importing or updating any asset, including this update.
Core
- CHANGED: Minimum version is now Unity 2017.4.1f1.
- Editor:
- Improved: Better recognition of Welcome Window options changes (e.g., Cinemachine, articy:draft, etc.).
- Improved: Enabling an option now applies to all installed build targets, not just current.
- Improved: Can now double-click nodes to enter Dialogue Text directly on them.
- Improved: Added character count in Dialogue Text & Menu Text entry.
- Improved: Default Sequence fields are now multiline text areas in the DialogueManager and conversation Override Display Settings.
- Improved: Localization import now has option to import main text updates as well.
- Engine:
- Added: Lua functions GetEntryText(), GetEntryBool(), GetEntryNumber().
- Added: Sequencer commands AudioStop(), OpenPanel(), SendMessageUpwards().
- Improved: Reports warnings when using {{shortcut}} sequencer tags that don't exist.
- Improved: Usable component now uses target's Dialogue Actor name if present.
- Improved: Sequencer commands can now find inactive GameObjects by name even if root parent is inactive.
- Improved: ConversationView.GetDefaultSubtitleDuration now factor in RPGMaker code lengths.
- Fixed: Possible NullReferenceException when splitting on pipes.
- Fixed: When barking from a conversation, the speaker & listener were swapped.
- UI:
- Improved: Added option to delay typewriter effect until Show animation completes.
- Improved: Typewriter effect handles StartTyping(fromCharacter) with pause codes in text preceding fromCharacter.
- Improved: Standard Bark UI's isPlaying property stays true until continue button click if Wait For Continue is ticked.
- Improved: UIPanel.OnHidden method is now virtual.
- Fixed: TextMesh Pro Typewriter Effect now handles special TMP tags when starting typewriter at an offset.
- Fixed: Subtitle panels that can focus/unfocus and whose Visibility was set to Only During Content sometimes showed subtitle unfocused.
- Fixed: ClearSubtitleText() didn't clear when subtitle panel was configured to accumulate text.
- Fixed: If Standard Bark UI's Use Name checkbox is unticked, it now hides the Name GameObject.
- Fixed: If Standard Bark UI didn't have a canvas in its hierarchy, it didn't play Hide animations.
- Fixed: Bark Group Members now automatically register their groups on start.
- Save System:
- Improved: Disk Saved Game Data Storer methods are now virtual.
- Fixed: Disk Saved Game Data Storer WebGL build error message.
- Fixed: Bug in Position Saver with Multiscene ticked.
Third Party Support
- articy:draft: Convert Markup now converts < and > back to < and >; added checkbox to enable/disable Split Text On Pipes.
- Corgi: Updated for Corgi 6.0; updated BarkUI prefab to use StandardBarkUI instead of older UnityUIBarkUI; Added PermitAbility sequencer command.
- Emerald AI: Added Lua function to get enemy's health.
- Inventory Engine: Optimized Lua functions.
- Look Animator: Added support.
- ORK Framework: Added example scenes.
- SuperTextMesh: Updated to support Delay Typing Until Open.
- TextMesh Pro: Removed legacy TextMesh Pro Support package since Dialogue System has native TextMesh Pro integration. (Legacy package is on Extras page.)
Version 2.1.10
Release Date: July 25, 2019
Core
- Fixed: Welcome Window's version number was slightly cut off.
- Improved: Text table editor allows big entry area to appear along with search panel; remembers search panel settings.
- Save System: In WebGL, Disk Saved Game Data Storer custom editor reports unavailable instead of error.
Version 2.1.9
Release Date: July 23, 2019
Core
- CHANGED: If using Timeline or Cinemachine, add USE_TIMELINE / USE_CINEMACHINE defines (can do through Welcome window).
- Changed: AnimatorPlay[Wait]() sequencer commands now specify fade duration in seconds instead of normalized.
- Changed: On Watches tab, renamed Update to Refresh to clarify its function.
- Added: Welcome window has checkboxes to enable/disable optional support features.
- Added: NavMeshAgent(stop|destination, subject) sequencer command.
- Improved: Custom sequencer commands now support Awake() method, recommend using Awake() instead of Start().
- Improved: Dialogue Actor custom subtitle & menu panels can not instantiate at offsets like custom bark panels.
- Improved: Dialogue Editor node search bar: When cursor is in search bar, Enter key starts search.
- Fixed: Dialogue Editor node search bar: Clicking on some areas of node editor search bar no longer accidentally opens conversation title dropdown.
- Fixed: Dialogue Actor typo that could cause a null reference exception.
- Fixed: If player didn't have Dialogue Actor and NPC had custom response menu, conversations didn't use NPC's response menu.
- Fixed: If continue button assigned but no event configured, StandardUISubtitlePanel now correctly adds OnContinue() only once.
- Fixed: UntilSuperceded now also works on custom subtitle panels not assigned to StandardDialogueUI's Subtitle Panels list.
- Fixed: Menu timeout use current response wasn't working with standard dialogue UI.
- Improved: Disappear Event's onDisappeared event is now public.
Third Party Support
- articy:draft: Fixed conversion of custom Lua fields that reference articy variables.
- Behavior Designer: Added Lua functions bdSyncTo/FromLua, Get/Set variable values.
- Invector: Added support for free version of controller.
- PlayMaker: Updated GetPortraitImage for compatibility with version 2.1.8+.
- RT-Voice: RTVoiceActor uses current system language if no language specified for Dialogue System.
- TopDown Engine: Fixed Unity UI input when conversations play without pausing game.
Version 2.1.8
Release Date: July 1, 2019
Core
- Dialogue Editor:
- Added option to show Title on dialogue node instead of Dialogue Text.
- Added option to always auto arrange after adding every node.
- Added option to increase dialogue node width 2x, 3x, or 4x.
- Improved: Can now assign Sprites (not just Textures) as actor portrait images.
- Breaking change: If you have written a custom IDialogueUI C# implementation, you will need to update methods that use Texture2D to use Sprite instead.
- Improved: If actor's portrait image is null, Standard Dialogue UI deactivates Image component.
- Improved: Lua "..." Conditions & Script wizards remember last dropdown settings.
- Fixed: If sequence had unrecognized command, caused a stack overflow instead of reporting that command is not recognized.
- Fixed: Applying a template to a dialogue database no longer resets the types of variables.
- Fixed: Added missing built-in sequencer commands to Sequence > + > All Sequencer Commands menu.
- Improved: Added Fade(unstay) keyword.
- Improved: SetDialoguePanel() sequencer command accepts optional second parameter
immediate
.
- Added: ConversationView.overrideGetDefaultSubtitleDuration delegate to provide custom {{end}} function.
- Added: Dialogue Manager > Input Settings > Response Timeout Action > Custom for custom timeout handling.
- Text Tables: Improved performance in very large tables; added PlayMaker actions; GetFieldText() replaces "\n" with newlines.
- Save System: DiskSavedGameDataStorer inspector now has button to delete saved games; SaveSystemTestMenu is now reskinnable.
Third Party Support
- articy:draft: Unassigned slots converted as Display Name now convert as blank string instead of 0x0000000000000000; added Other Script Fields to converter to convert custom fields from expresso to Lua.
- LipSync Pro: Added editor feature to export lipsync guide text files for batch processing.
- Opsive Controllers: Updated for latest controller versions; disambiguated CameraController namespace.
- SALSA LipSync Suite: Added support for SALSA 2 and TextSync.
- Super Text Mesh: Added support.
- uMMORPG: Added DialogueSystemLootQuestInfo.
Version 2.1.7
Release Date: June 8, 2019
Core
- Dialogue Editor:
- Improved: Can now drag components onto Sequence field to generate sequencer commands.
- Improved: If holding Shift down while creating a new node, uses same actor assignments instead of swapping.
- Improved: Standard UI Quest Log Window can optionally use different templates for heading of currently-selected quest.
- Improved: Added QuestLog and quest log window option to allow only one quest to be tracked at a time.
- Improved: Added 'x' (remove) button to Dialogue System Trigger > Run Lua Code action.
- Improved: Added ProximitySelector method RemoveGameObjectFromDetectedList().
- Improved: Added IncrementOnDestroy option Manually.
- Improved: Added DialogueManager.ResetDatabase() option with no param.
- Improved: Custom sequencer commands may now be in any assembly.
- Improved: OnConversationCancelled message is now sent to participants as well as Dialogue Manager.
- Fixed: Bug in localization import of quest Display Name and Group.
- Fixed: Removing database at runtime didn't remove all database contents.
- Fixed: If Show PC Subtitles and Skip PC Subtitles After Response Menu were both ticked, and response menu was preceded by a blank, non-group node with a zero-length sequence, player's menu choice would still appear as subtitle.
- Fixed: Did not use player actor's override response menu when conversation had not previously shown a subtitle.
- Fixed: Can now delete malformed links in Dialogue Editor.
- Fixed: Input Device Manager System.IndexOutOfRangeException when first importing asset if project's Input Manager is not ready.
- Fixed: MissingReferenceException if using Camera() sequencer commands with default Main Camera and scene changed during conversation.
- Fixed: Sequence "+" GameObject couldn't set Alt+drag options.
- Fixed: Inspector headings in 2019.1+.
- Fixed: Adjusted VN & JRPG template dialogue UI prefabs' borders to fully cover subtitle panel.
- Fixed: SetActive() sequencer command can now resolve 'speaker' and 'listener' keywords.
- Fixed: Bug that occurred when a Continue() sequencer command was marked required and listened for a sequencer message that hadn't occurred yet.
- Save System:
- Improved: Added SaveSystem methods LoadAdditiveScene, UnloadAdditiveScene.
- Improved: Savers can now implement optional ApplyDataImmediate and OnRestartGame methods.
- Fixed: Moved DiskSavedGameDataStorer initialization code from Start to Awake so other scripts can check for saved games in their own Start methods.
- Dialogue System Saver: Save Across Scene Changes is now ticked by default; SaveSystem.RestartGame() automatically resets dialogue database.
Third Party Support
- Adventure Creator: RememberDialogueSystem script now uses Pixel Crushers Save System component and Savers if present.
- Invector: Fixed auto equip issue when loading saved games or changing scenes.
- Opsive controllers: Added uccEquipItem() and uccUnequipItem() Lua functions, updated UCC Saver.
- Realistic FPS Prefab: FPSRigidBodyWalker info is now saved.
- Spine: Added support.
- uMMORPG: Fixed bug in removing items by using AddPlayerItemAmount() with a negative amount.
Version 2.1.6
Release Date: May 17, 2019
Core
- Added: ClearSubtitleText(#|all) sequencer command.
- Improved: Added Dialogue Manager > Localization Settings button to clear PlayerPrefs key.
- Improved: Dialogue System Trigger Start Conversation Start at Entry now shows dropdown for entry choices.
- Improved: Timeline Start Conversation Start at Entry now shows dropdown for entry choices.
- Improved: CinemachinePriority() sequencer command now has 'cut' option.
- Improved: Custom-registered Lua functions now report exceptions that are traceable.
- Improved: UnityUIDialogueUI.CheckForSupercededSubtitle now exposed to subclasses.
- Improved: UnityUIQuestTracker formerly private fields now exposed to subclasses.
- Improved: TextTable: Added right-click context menu to insert/delete fields.
- Improved: Text Table: CSV import retains in order from file, now handles blank lines gracefully.
- Improved: TextTable: Editor window remembers last tab.
- Improved: Destructible Saver: Eliminated message about missing Save System when exiting playmode.
- Fixed: Dialogue System Trigger OnCollisionEnter and OnCollisionExit weren't triggering in 2D.
- Fixed: Fade(stay) command set opacity wrong at end (bug introduced in 2.1.5).
- Fixed: CSV import Global User Script sometimes had extra commas when exported from Google Sheets.
- Fixed: SetDialoguePanel() sequencer bug that caused animated subtitle panels to not reappear.
- Fixed: TextMeshPro: Fixed typewriter effect bug with text containing rich text codes and subtitle panel Accumulate Text checkbox ticked.
Third Party Support
- Adventure Creator: If Conversation action set to wait until finished is now compatible with simultaneous converations.
- articy:draft: Clear button now also resets window settings.
- Invector: Updated to latest versions.
- Inventory Pro: Added OpenVendor() Lua function.
- PlayMaker:
- Start Conversation action now shows dropdown for entry choices.
- Sync GameObject and Sync GameObject Array actions can now load GameObjects from Resources or assetbundles.
- SLATE: Start Conversation action now shows dropdown for entry choices.
- TopDown Engine: Updated to 1.3.
- uMMORPG: Added OpenTrading(), OpenGuild(), and OpenRevive() Lua functions.
- uRPG: Updated for uRPG 1.12.
Version 2.1.5
Release Date: April 14, 2019
Core
- Changed: OnConversationLineCancelled now passes PC line, not previous NPC line, if PC line is what was cancelled.
- Added: Sequencer command SetDialoguePanel(true|false).
- Added: Only For PC continue button option.
- Improved: StandardUIQuestTracker inspector now has Clear PlayerPrefs Visibility Toggle button.
- Improved: Added Use PlayOneShot option to typewriter effects.
- Fixed: Chat Mapper XML export format incorrectly exported Dialogue Text field as Localization type instead of Text type.
- Fixed: UIPanel NullReferenceException if scene didn't have an EventSystem.
- Fixed: Fade() sequencer command sets alpha to fully 1 or 0 at end to avoid floating point rounding errors.
- Fixed: ProximitySelector gracefully handles usables in range that have been destroyed or deactivated when choosing a new usable.
- Fixed: Rare error message with some complex sequences.
- Fixed: Lasso selection auto arrange no longer also arranges unconnected red nodes unless they're part of selection.
Third Party Support
- articy:draft: Can now choose to name elements by technical name; jumps that link only to other jumps or hubs are now converted as group nodes; more gracefully handles XML file inconsistencies.
- i2 Localization: Added option to append actor name or dialogue text to dialogue entry terms.
- Opsive Controllers: Converse ability can now use different states based on whether player is using mouse or not.
- PlayMaker: Added Sync GameObject. Updated actions for .NET4.
- SLATE: Added pause and resume parameters.
- uSurvival: Updated for version 1.43.
Version 2.1.4
Release Date: March 31, 2019
Core
- Fixed: Certain built-in Lua functions became unavailable after loading saved game.
- Fixed: DemoMenu clear saved game button works again with SaveSystem.
- Fixed: Dialogue Editor no longer allows conversation titles to start with "/".
- Improved: When Dialogue Editor creates new conversation, now assigns actors from previous conversation.
- Improved: Added "Subtract" option to Lua wizard.
- Improved: Selector/ProximitySelector now localizes use message and usable's override name.
- Text Tables:
- Fixed: Adding new field showed blank line until refresh.
- Added: Sort & search features.
- Save System: Added Restore State On Start checkbox to savers; Added DeleteSavedGameInSlot method to SaveSystemMethods.
Third Party Support
- Invector: Fixed bugs in vGetItemCount, vRemoveItemByID, and InvectorInventorySaver.
- uMMORPG: Updated for 1.165.
Version 2.1.3
Release Date: March 18, 2019
Core
- Changed: Dialogue System LocalizeUIText script is now a wrapper for common library's LocalizeUI.
- Dialogue Editor:
- Improved: Can now apply Arrange Nodes only to lassoed selection of nodes.
- Improved: When using SimStatus, hover tooltip shows node's SimStatus at runtime.
- Improved: Links with non-default priority are now drawn thicker.
- Improved: Added menu option to center on active node at runtime.
- Improved: Can now specify a single conversation for search & replace.
- Fixed: Null reference exception in Dialogue Editor's Watches tab when exiting playmode.
- Fixed: LuaTable bug affecting SimStatus.
- Fixed: Dialogue Manager's Display Settings no longer reset to defaults during play when playing conversation while inspecting Dialogue Manager in inspector's Debug mode.
- Fixed: Quest log window track checkbox didn't appear when display name differs from quest name.
- Fixed: Quest log window abandon text now uses display name, not quest name.
- Improved: Usable component now has OnSelect(), OnDeselect(), and OnUse() events.
- Improved: Added Dialogue System Trigger > Start Conversation option to specify entry ID.
- Improved: Selector can now display different reticle images and use messages per layer and per tag.
- Improved: Added IStandardDialogueUI interface to allow custom dialogue UI scripts to use more built-in features.
- Improved: Added speed mode to Timeline() sequencer command.
- Improved: Text Table editor: Performance improvement for large tables.
- Improved: UI panels remember last selection instead of reverting to first selectable. Added UIPanel.monitorSelection bool to temporarily disable this functionality.
- Improved: Added UpdateTracker() Lua function.
- Improved: QuestStateListener methods made virtual for easier subclassing.
- Save System:
- Improved: Position Saver now updates NavMeshAgent if present.
- Improved: Assign Unique Keys menu item now also disambiguates existing duplicates.
- Fixed: Error message "Some objects were not cleaned up" when stopping playmode when Save System doesn't have data serializer or data storer.
Third Party Support
- articy: Fixed import of Response_Menu_Sequence property, multiparagraph markup conversion.
- Adventure Creator: Minor bug fix; added actions to check & set quest states and show/hide quest log window.
- Emerald AI: Updated support for version 2.2; added several Lua functions to control Emerald AI.
- ICode: Updated support for version 2.2.1.
- Invector: Fixed bug that disabled Lua functions when changing scenes; added vGetItemCount(), vRemoveItemByID() Lua functions.
- Opsive Character Controllers: Updated support for version 2.1.1; fixed bugs in saving inventory & attributes.
- ORK Framework: Updated support for version 2.23.0.
- RPG Kit: Updated support for version 3.1.9.
- uMMORPG: Updated support for version 1.162.
- uSurvival: Updated support for version 1.140.
Version 2.1.2
Release Date: February 10, 2019
Core
- Changed: Shortened folder names.
- Added: InputDeviceMethods utility component to access InputDeviceManager in inspector.
- Improved: Dialogue Editor can now support full color range for custom node colors for actors.
- Improved: BarkGroupMembers can now queue barks within their groups instead of suppressing other members' barks.
- Fixed: MessageSystem no longer throws error if sending message from object that's being destroyed.
- Fixed: RuntimeTypeUtility API change to address iOS issue.
- Fixed: GameObjects with multiple Dialogue System Triggers set to pause during conversations now pause & unpause correctly.
- Fixed: In Focus template UI, moved text field on top of subtitle panel so it can be visible during subtitles.
Third Party Support
- i2 Localization: CHANGED: Dialogue System terms now correctly exclude characters that i2 disallows.
- TopDown Engine: Added support.
- uRPG: Added support.
Version 2.1.1
Release Date: January 29, 2019
Core
- Updated assembly definition files to include Wrappers; renamed Common to PixelCrushers.
- Changed: Input Device Manager > Control Graphic Raycasters now UNticked by default.
- Fixed: If Usable GameObject was destroyed while Selector targeted it, Standard UI Select Elements stayed visible.
- Fixed: MessageSystem bug when removing listeners while sending a message.
- Fixed: UIPanel timing bug when animations cause outgoing panel to overlap incoming panel.
- Fixed: SelectorUseStandardUIElements with usables with StandardUsableUI would show regular selection UI at end of conversation.
- Fixed: Basic & Wheel quest log windows' abandon popup quest title element was unassigned.
- Fixed: If Standard Bark UI is set to wait for sequence end and second bark happens while waiting for first sequence to end, doesn't hide until second sequence is done.
- Added: DialogueActor now has Use Menu Panel For { Only Me, Me And Responses To Me }.
- Added: Response timeout open to choose last response in menu.
- Added: KeepRectTransformOnscreen to constrain world space UIs to stay onscreen.
- Added: Template.CreateQuest(), GetNextXXXID() methods.
- Added: SetMenuPanel() sequencer command.
- Improved: Typewriter effect now can specify list of characters to add extra delay, such as punctuation.
- Improved: Standard UI subtitle and menu panel dropdowns increased to allow access to 32 panels.
- Improved: Unique ID tool verbose output is much faster; reports conversation ID overlaps within the same DB.
- Improved: Editors now handle issues with outdated third party assemblies more gracefully.
- Improved: On MacOS, cross conversation link dropdown doesn't use submenus to avoid Unity NSMenuItem bug.
- Save System: Calling LoadGame() w/Save System > Save Current Scene unticked now also updates internal saved game cache.
- Save System: ScenePortal.UsePortal() is now virtual.
- Save System: DialogueSystemSaver now has Raw Dump option (faster, but larger saved game files).
- Save System: DiskSavedGameDataStorer now supports mobile.
- TextTable: Large text areas now word wrapped.
Third Party Support
- articy:draft: Added support for AlternatePortraits slot; fixed double-linking in document conversations; slots that reference dialogues and convert as display name now include full conversation path.
- Corgi: If ConversationZone is already running conversation and Allow Simultaneous Conversations is ticked, activation button no longer restarts conversation.
- i2 Loc: Updated for 2.8.11.
- Inventory Engine: Added PersistentInventory for saving, LocalizeInventoryDetails to localize item details.
- NGUI: Quest tracker HUD now only shows active entries, optionally plus completed entries.
- Opsive controllers: UCCSaver now saves position in each scene.
- ORK Framework: Updated for 2.21.0.
- SALSA: Added TextSync support.
- SLATE: During conversations, SLATE() moves main camera to final position of cutscene camera; added SLATE Sequencer Settings component.
- uMMORPG: Updated for 1.155.
- uSurvival: Updated for 1.34.
Version 2.1.0
Release Date: December 16, 2018
Core
- Dialogue Editor:
- Improved: Conversation title dropdown now fills available width of window to accommodate long titles.
- Improved: Added Menu > Delete Conversation (alternative to right-click context menu).
- Fixed: Newly created conversations sometimes didn't appear in node editor.
- Improved: Dialogue database reset/save/load performance optimization.
- Improved: Added public accessors for ConversationModel's cached display settings values.
- Improved: Standard UI panels can now animate using legacy Animation as well as Mecanim Animator.
- Fixed: LookAt() sequencer command rotation bug.
- Fixed: ShowAlert(message,duration) now handles newline codes like ShowAlert(message).
- Fixed: Float to string conversation is now culture invariant when using .NET4.
Third Party Support
- Inventory Engine: Added DialogueSystemInventoryEventListener.SetEventSystemNavigationEvents and SetInventoryInputManager to allow UI input outside of Inventory Engine.
- UCC: DialogueSystemInteractableTarget sets player as interactor if none specified; Can have multiple targets; Added uccLookAt() sequencer command; UCCSaver now observes spawnpoint for characters tagged as Player.
Version 2.0.9
Release Date: November 30, 2018
Core
- Fixed: Bug introduced in 2.0.8 involving fields with spaces in them. Caused issues with display names and quest entries.
- Fixed: Fade-from-black animation in SceneFaderCanvas's animator controller.
- Fixed: ConditionObserver now respects Once checkbox.
- Fixed: LiveCamera sequencer command now gracefully handles if camera is destroyed before command is done.
- Fixed: UI animation monitor no longer reports error if animator is destroyed while waiting.
Third Party Support
- LipSync Pro: Fixed error message if character doesn't have LipSync component.
- uMMORPG: Updated for uMMORPG 1.148.
- uSurvival: Added Warp() sequencer command.
Version 2.0.8
Release Date: November 26, 2018
Core
- Improved: Significantly optimized DialogueManager.AddDatabase() & ResetDatabase(), used when loading saved games with multiple databases.
- Improved: If USE_UNET symbol is defined, Lua Script wizard dropdowns have NetSet options.
- Improved: Dialogue Editor: Template > Apply Template: Applies the template's field type to all assets in database.
Third Party Support
- articy:draft: Importer can now populate a Text Table with the text in an articy document.
- Ink: Added functions to get/set Ink vars in Lua and Lua vars in Ink.
Version 2.0.7
Release Date: November 19, 2018
Core
- Improved: Selector/ProximitySelector now read from input delegate.
- Fixed: DialogueSystemTrigger.StopConversationIfTooFar wasn't checking distance if actor wasn't assigned.
- Fixed: Added missing internal sequencer commands to + menu.
Third Party Support
- articy:draft: Fixed ArticyLuaFunctions to change Lua environment instead of database. Pins on instructions are now imported.
- Corgi: Updated to support Corgi 5.2.
- TextMesh Pro: Updated LocalizeTextMeshPro for non-UGUI version.
Version 2.0.6
Release Date: November 9, 2018
Core
- Added: DOF() sequencer command to control DepthOfField PostProcessing effect.
- Added: DialogueDatabase.GetEntrytaglocal() function.
- Fixed: Automatic checking of Alert variable no longer show 'nil' if variable is undefined.
- Fixed: RandomizeNextEntry() Lua function reported error in some circumstances; now works on group node linked directly from START.
- Fixed: OnConversationCancelledLine() no longer reports error if there is no previous subtitle.
- Fixed: DialogueManager.hasInstance now updates if active Dialogue Manager instance changed.
- Fixed: Float conversion in .NET4 is now fixed to be culture invariant.
- Fixed: Cross-conversation link dropdowns no longer split dialogue text at '/' characters.
- Fixed: Sequence parser no longer reports error on double semicolons (';;').
- Fixed: Fade() sequencer command's default duration is now correctly 1 second.
- Fixed: Timeline preview UI cleans up properly when changing to playmode.
- Fixed: ActorPopup, ItemPopup, QuestPopup, and VariablePopup attributes can now be nested in lists.
- Improved: Timeline Start Conversation clip no longer requires assignment of GameObject.
- Improved: Significant performance improvement in node editor when editing very large conversations.
- Improved: Sequence field helper menu ('+') has more options, submenu that lists all available commands.
- UI:
- Can now disable Standard UI Menu Panel scrollbar reset value.
- Optimized initialization when using default legacy GUI option with Selector & Proximity Selector.
- Panel show/hide animations now also support legacy Animation component as well as Animator.
Third Party Support
- articy:draft: Fixed parsing of compound expresso expressions containing semicolons. Added option to import documents into a conversation submenu.
- Emerald AI: Updated EmeraldAISaver for Emerald AI 2.1.1+.
- i2 Localization: Updated for i2 Localization 2.8.9. Added support for runtime translation of dialogue & menu text.
- Realistic FPS Prefab: Updated example scene for RFPSP 1.45.
- RT-Voice: Updated for RT-Voice 2018.3+.
Version 2.0.5
Release Date: October 23, 2018
Core
- Changes:
- CHANGED: In Unity 2018+, if you need the Dialogue System to support 2D physics, you must now define the compiler symbol USE_PHYSICS2D.
- CHANGED: AudioWWW() sequencer command has been deprecated.
- CHANGED: Group nodes now run their OnExecute events.
- CHANGED: Renamed Lua "Library" folder to "LuaLibrary" to accommodate version control ignore lists. If updating from a previous version and you want this name change, you will need to manually rename it.
- Misc:
- Updated for .NET Standard 2.0 compatibility.
- Fixed .NET4 issue when a class named Assets is defined in the global namespace.
- Removed copyright symbol from script file header comments. (Bug in Unity 2017-2018 inspector can't handle this symbol.)
- TimedEvent now has option to count time by # of frames.
- Tag masks on TriggerEvent and CollisionEvent now support >32 tags.
- Editor:
- Added new localization export/import feature on Dialogue Editor's Database tab.
- Watches tab now shows correct quest entries in dropdown menu for selected quest instead of first watched quest.
- To reduce database size, if a node's Title is set to the default "New Dialogue Entry", it will be cleared as soon as you enter Dialogue Text or Menu Text.
- Exposed Allow Simultaneous Conversations checkbox.
- If unticking Dialogue Manager's Don't Destroy On Load, now checks Input Device Manager & Save System for Don't Destroy On Load.
- Added Control Graphic Raycasters checkbox to InputDeviceManager.
- Lua & Sequences:
- Added RandomizeNextEntry() sequencer command & Lua function.
- Added conversation position stack Lua functions (save & return to conversation positions).
- Lua wizard multiple quest entry dropdowns now match their respective quests.
- LuaInterpreter now implements short circuit evaluation of 'and'/'or'.
- LuaInterpreter math.random(x) now returns values [1..x] to conform to Lua standard.
- TextInput() sequencer command now looks for text field UIs in the current dialogue UI first.
- SequencerShortcuts now maintains a stack. If you remove a shortcut, previous shortcut on stack takes effect again.
- Added Timeline ContinueConversation track.
- Scripting:
- Added: DialogueLua.GetSimStatus() function.
- Fixed attributes [VariablePopup], [ActorPopup], and [QuestPopup] which weren't populating dropdown lists in all circumstances.
- Fixed ConversationView.OnConversationContinueAll(), which when manually called wouldn't notify listeners in certain circumstances.
- Added DialogueSystemController.initializationComplete event, isInitialized property.
- DialogueSystemTrigger methods are now virtual.
- Save System:
- Added Assign Unique Keys menu item for Savers.
- If Active Saver activates inactive target, it now also tells target's other savers to apply data.
- PersistentDataManager now initializes new quest info and SimStatus when loading games saved with previous versions of database.
- ConversationStateSaver no longer requires that conversation has conversant assigned.
- ConversationStateSaver now stops active conversation if saved game had no active conversation.
- AnimatorSaver now saves parameter values as well as states.
- UI:
- Added Sci-fi Standard Dialogue UI.
- Fixed StandardDialogueUI null reference exception when a custom menu panel didn't have a canvas.
- If a custom StandardUISubtitlePanel is already closed, it will no longer play the unfocus animation on start of conversation.
- Fixed NullReferenceException in SelectorUseStandardUIElements after changing scenes.
- Fixed StandardUIQuestLogWindow Show Details On Select feature.
- Added "Add EventSystem If Needed" checkboxes to Standard & Unity UI dialogue UIs & quest log windows.
- StandardUIMenuPanel now prevents second button clicks while menu panel is playing hide animation.
- TextMesh Pro: TextMeshProTypewriterEffect now properly recognizes alternate audio clips.
- Fixed QuestStateListener null reference exception when unable to add a QuestStateDispatcher.
Third Party Support
- articy:draft: Instructions and Jumps are now converted as blank nodes with None() sequences instead of Group nodes.
- Corgi Platformer Engine: Improved appearance of dialogue bubble.
- Invector Controller: Added Lua functions to get/set stats and add items to inventory. Saves items & stats.
- Inventory Pro: Stats and inventory are now integrated with Save System.
- Opsive Ultimate Character Controller: Added support.
- PlayMaker: Added GetCurrentConversationInfo action. Fixed PlayMakerLua unregistering if on multiple Dialogue Managers. Fixed GetLocalizedText. Added GetLocalizedVersion to GetLuaField.
- Rog Inventory Engine: Updated actor prefab.
- uMMORPG: Updated for uMMORPG 1.140+.
- uSurvival: Added support.
Version 2.0.4
Core
- Changed: LuaNetworkFunctions is now only available if compiler symbol USE_UNET is defined.
- Changed: Standard Dialogue UI subtitle panel clears subtitle text on close. Added ClearText method.
- Changed: SmoothCameraWithBumper demo script no longer auto-parents to target. Set parent manually at design time.
- Changed: Shortened folder names to help prevent CS2001 compiler errors if your project is already in deep file path.
- Improved: Updated for compatibility with new prefab system (pending 2018.3 release).
- Improved: DialogueManager.GetInputButtonDown reads from InputDeviceManager.
- Improved: GameSaver now uses SaveSystem if present.
- Improved: Bark UI no longer needs to be child of barker.
- Added: Animator Saver.
- Added: SetPanel() sequencer command.
- Fixed: LuaInterpreter now does short circuit evaluation of Boolean operators (and/or).
- Fixed: OnConversationResponseMenu was called twice when using continue button.
- Fixed: Removed editor warning in EditorNote.cs.
- Fixed: DialogueManager methods no longer report error if scene doesn't have a Dialogue Manager instance.
- Fixed: Zoom2D sequencer command no longer reports null reference if sequencer is destroyed during sequence.
Third Party Support
- Bolt Visual Scripting: Added support.
- I2 Localization: Added Dialogue System Use I2 RTL Fix component.
- PlayMaker: Added Save System Record/Apply Saved Game Data actions.
- RT-Voice: Save Audio Files window no longer prints warning for entries with no text.
- uMMORPG: Fixed client/server synchronization issue. Added party variable & monster "on death" trigger synchronization.
Version 2.0.3
Core
- Changed: To show alert messages without auto-hide, specify negative duration value.
- Added DialogueManager.HideAlert(), Lua HideAlert() function.
- Added: [nosubtitle] tag.
- Improved: If Sequence is None(), doesn't show subtitle.
- Improved: SetActive(tag=X,value) sequencer command can now activate inactive GameObjects by tag.
- Improved: Methods in ProximitySelector are now virtual and can be overridden in subclasses.
- Improved: Dialogue System Trigger inspector has "x" buttons next to most actions to clear them.
- Improved: Standard quest tracker can be outside Dialogue Manager GameObject hierarchy.
- Improved: Can now define optional "Visible" Boolean field in quests & set false to not show in quest log window.
- Improved: Eliminated garbage collection in Sequencer.CheckActiveCommands & ConversationView.CheckCancelInput, pool response buttons for reuse.
- Improved: Typewriter effect has Stop On Conversation End checkbox.
- Improved: UI Panel has option to not reselect previous selection when disabling panel.
- Improved: Input Device Manager has options to keep mouse visible in key/joystick mode, always auto-focus, check/ignore mouse mode.
- Improved: Dialogue editor actor portraits now display vertically to better fit inspector view.
- Fixed: Standard UI Menu Panel correctly loops explicit navigation.
- Fixed: RemoveLuaObserver correctly removes observers added with AddLuaObserver.
- Fixed: DialogueLua.SetVariable() now properly handles uint type.
- Fixed: Pressing delete key in node editor search bar doesn't also ask to delete selected node.
- Fixed: LocalizedTextTable converter to TextTable didn't properly save asset.
- Fixed: Resolved conflict between Display Settings > Language and UILocalizationManager language.
- Fixed: Quest log window quest details panel now updates automatically when quest is updated while window is open.
- Save System: Added Binary Data Serializer.
- Save System: Added saveStarted, saveEnded, loadStarted, loadEnded events; SaveSystemEvents component.
- Save System: Fixed index error in DiskSavedGameDataStorer.
- Added unitypackage containing optional Assembly Definition files.
Third Party Support
- CSV: Fixed: Export in some cases would incorrectly export two canvasRect fields.
- uMMORPG: Fixed: GetPlayerClass() Lua function incorrectly returned player name instead of class.
- ORK Framework: Fixed possible null reference in save component; bridge can now disable MousePlayerController.
- Inventory Engine: Fixed inventory saving to Dialogue System save system.
Version 2.0.2
Core
- Fixed: ConversantIndex now points to correct actor when using DialogueActor component with GameObject name that doesn't match conversation actor or DialogueActor.
- Dialogue Editor: Added global search & replace.
- Dialogue Editor: Added Snap All Nodes To Grid menu item.
- Dialogue Editor: Cross-conversation link dropdown now uses submenus if destination conversation has many entries.
- Dialogue Editor: Clicking on link in Inspector now centers on node in Dialogue Editor canvas.
Third Party Support
- articy:draft: Importer now properly applies nested flow fragment names to flow dialogues.
- CSV: Fixed: Import of Text Tables wasn't marking asset dirty so changes weren't immediately saved.
- i2 Localization Support: Updated for i2 Localization 2.8.7; added support for Text Tables.
- Inventory Pro Support: Updated example scene for DS2; added Get/SetStats Lua functions.
- uMMORPG: Added Lua functions to get/set skill levels; added NPC option to bypass NpcDialogue panel; now saves character to server immediately at end of conversation & quest state changes.
Version 2.0.1
Core
- Fixed: 1x to 2x Updater didn't update ArticyLuaFunctions GUID.
- Fixed: LuaInterpreter updated to properly handle OS language number formats in .NET4.6.
- Fixed: Dialogue Editor's Sort > Reorder IDs > All Conversations only updated current conversation; now updates all.
- Fixed: Standard UI Dialogue panel no longer plays hide animation when alert appears before dialogue panel is used.
- Fixed: Continue buttons on subtitle panels that exist outside the dialogue UI now work.
- Fixed: Bug with SetPortrait(speaker,pic=#) using speaker keyword.
- Fixed: Now shows correct player portrait if using multiple player actors, starting conversation with a different player actor than in database conversation, and showing on panels start.
- Fixed: Player response menu portrait images when changing player actors in cross-conversation links.
- Fixed: LocalizeUI wasn't applying to TextMeshProUGUI.
- Improved: DialogueActor added option to only prepend and color actor name.
- Improved: ActorSubtitleColor added option to only prepend and color actor name.
- Improved: Added Only Show NPC Portraits checkbox to StandardUISubtitlePanel .
- Improved: Standard Bark UI now supports portrait images.
- Improved: InputDeviceManager added option to not detect & switch to mouse control.
- Improved: Sequencer commands now support "tag=" keyword to specify subjects by tag.
- Improved: Added several keyboard shortcuts to the node editor.
- Improved: Added node editor options to turn confirm deletion on/off, trim whitespace when splitting pipes.
- Improved: Added [panel=#] markup tag to specify subtitle panel for dialogue entry.
Third Party Support
- articy:draft:
- Improved: Now converts articy markup to rich text codes (courtesy of Racoon7).
- Improved: Handles Stage Directions As Sequences better if there is also a custom Sequence property.
- Improved: Now converts articy:expresso random() to Lua math.random();
- Fixed: Input & output pins on dialogues (vs. dialogue fragments) are now applied to conversation's input & output entries.
- Fixed: Dialogue database inspector's Reconvert button reloads changes to articy XML before converting.
- Corgi Platformer Engine: Added support for activation limits to ConversationZone; option to follow the actor/conversant when using Standard Dialogue UIs.
- Inventory Engine: Lua functions now use item ID, not item name.
- Motion Controller: Added support (courtesy of Chris Lasting).
- PlayMaker: Added Set DialogueActor Subtitle Panel Number action.
- Realistic FPS Prefab: Added FPSQuestLogWindowHotkey.
- TextMesh Pro: Made the original typewriter effect available again.
- UFPS: Moved "Add All Player Scripts" menu item from Component menu to Tools menu to prevent (harmless) warning message in Unity 2018.
- uMMORPG: Updated for uMMORPG 1.121.
Version 2.0.0
Core
- Added Standard UI.
- Dialogue System Trigger is now primary trigger component.
- Moved to Plugins. Source is now directly included.
Third Party Support
Older Release Notes for 1.x
<< Welcome to the Dialogue System for Unity!