Dialogue System for Unity

The powerful, top-rated dialogue system used in Disco Elysium, 1000xRESIST, Citizen Sleeper, Eternights, Lake, Suzerain, Peglin, Jenny LeClue, and many many more, the Dialogue System for Unity makes it easy to add interactive dialogue and quests to your game. It's a complete, robust solution including a visual node-based editor, dialogue UIs, cutscenes, quest logs, save/load, and more. The core is a lean, efficient conversation system. A large collection of included, optional add-ons make it quick and easy to drop conversations into your project and integrate them with other assets. No scripting required. Complete C# source included.


>> Demo | Docs | Tutorials | Forum

>> Free Extras | Free Trial

>> Addon for OpenAI


Works with Unity 6+ and all versions including 2019, 2020, 2021, 2022 & newer.


✨ Full Featured ✨

  • Dynamic, branching conversation trees
  • Barks
  • Alerts
  • Cutscenes (audio, animation, camera cuts, etc.)
  • Cinemachine & Timeline integration
  • Quick Time Events (QTEs)
  • Quest system
  • NPC status & relationship system
  • Easy language localization
  • Save/load without scripting
  • Optional Lua scripting and variable system
  • Designed for easy integration with existing assets & frameworks
  • Comprehensive documentation and tutorials

✨ Powerful Editor ✨

  • Visual, node-based dialogue editor
  • Importers for articy:draft 1/2/3/X, Arcweave, Celtx, Chat Mapper, Twine, Yarn Spinner, Ink, Neverwinter Nights, JSON, CSV, and other formats
  • Export screenplay format, voiceover asset list, CSV, Chat Mapper, and more
  • Built-in localization support (or use Unity Localization package or i2 Localization)

✨ Flexible Runtime UIs ✨

  • GUI-independent; can work with all GUI systems, with built-in support for Unity UI, UI Toolkit, NGUI, TextMesh Pro, Super Text Mesh, and more
  • Input system-independent; works with Unity Input, Rewired, New Input System, etc.
  • Audio system-independent: works with Unity audio, FMOD, and Wwise
  • Modular interfaces: swap in your own UI or cutscene system
  • Several beautiful, fully-customizable UI prefabs to give your project a head start
  • Detailed sci-fi environment & animated model
  • Works in 2D, 3D, VR, and AR

✨ Easy Integration ✨

Designed for easy integration. Includes drop-in integration into existing frameworks & assets including:

  • Adventure Creator
  • Action-RPG Starter Kit
  • AI Tree
  • articy:draft
  • Behavior Designer
  • Celtx
  • Cinema Director
  • Cinemachine
  • Chat Mapper
  • Core GameKit
  • Corgi Platformer Engine
  • Customizable Sci-fi Holo Interface
  • Devion Item & Inventory System
  • DoozyUI
  • Easy Save
  • Emerald AI
  • EndlessBook
  • FaceFX
  • Feel
  • FMOD
  • Game Kit Controller (integration by GKC dev)
  • HUD Navigation System
  • I2 Localization
  • Ink (by Inkle)
  • Invector Third Person Controller
  • Inventory Engine
  • Inventory Pro
  • Lively Chat Bubbles
  • Localization Package
  • Look Animator
  • Love/Hate
  • Makinom
  • Master Audio
  • Motion Controller
  • New Input System package
  • Now We're Talking
  • Opsive Ultimate Character Controllers
  • Opsive Ultimate Inventory System
  • ORK Framework
  • Page Curler
  • PlayMaker
  • Quest Machine
  • Realistic FPS Prefab
  • RelationsInspector
  • Rewired
  • Rog
  • Rogo LipSync
  • RPG Kit
  • RT-Voice
  • SALSA with RandomEyes
  • SLATE Cinematic Sequencer
  • SoulLink Spawner
  • Speech Recognition System
  • Super Text Mesh
  • Talkit
  • TextMesh Pro
  • Text Animator for Unity
  • Timeline
  • TopDown Engine
  • Twine
  • Top-Down RPG Starter Kit
  • UFPS
  • Ultimate Notification System
  • uMMORPG
  • UniStorm
  • uRPG
  • uSurvival
  • Visual Scripting package
  • Yarn Spinner
  • Wwise
  • and others

✨ Programmer Friendly ✨ (but no scripting required!)

  • Includes complete, thoroughly documented & optimized C# source code

Tested on Windows, Mac, iOS, Android, WebGL, Xbox, PlayStation, Nintendo Switch, Linux.


Bonus packages are available on the Pixel Crushers website.


Release Notes

Version 2.2.53.1


[Core]


- Added: OnConversationLineEarly(Subtitle) special script method.

- Changed: UILocalizationManager no longer updates LocalizeUI components on start if no current language is specified (i.e., if default language is being used).

- Fixed: Conversations starting when editor play mode started would skip first entry if its Sequence was a Delay() command due to inaccurate Time.unscaledDeltaTime in first frame.


[Third Party Support]


- Text Animator: Fixed issue with accumulated text flashing for one frame before continuing typewriter.



Version 2.2.53:


[Core]


- Added: UI Toolkit integration (beta).

- Added: Tweening class.

- Added: Camera easing options in Dialogue Manager's Camera & Cutscene Settings.

- Added: DialogueManager.instance.conversationLinePrepared(Subtitle) C# event.

- Improved: Dialogue Editor > Stats now reports stats per actor.

- Improved: Camera() command now recognizes angles registered in SequencerShortcuts.

- Improved: QuestStateDispatcher.UpdateListeners() is now public.

- Fixed: SMSDialogueUI now observes [panel=#] tags.

- Fixed: SetPanel() immediate keyword now works.

- Fixed: Removed variable name reporting in Console window when opening dialogue database.


[Third Party Support]


- Behavior Designer Pro: Start Conversation task now properly reports when the conversation ends.



Version 2.2.52:


[Core]


- Fixed: DialogueManager.Bark() can now find barker's bark UI even if it's not in barker's hierarchy.

- Fixed: Unique ID Tool no longer forces each database's content to use the database's minimum Base ID value.

- Fixed: Custom subtitle panels (e.g., overhead bubble) now close when Visibility is set to Until Superceded Or Actor Change Or Menu.

- Fixed: SMS Dialogue UI now properly hides continue button after clicking it.

- Fixed: Using SetPortrait() with addressables works again.

- Fixed: When starting a second conversation that uses the default UI at the end of a conversation that uses an override UI, correct UI is now used.

- Fixed: In complex chained Delay() sequencer commands, sequencer now correctly sends last message to OnSequencerMessage().

- Fixed: Lua os.clock() function to correct iOS accuracy.

- Fixed: Issue where creating a StringAsset in a StringField could log a harmless error message in the editor.

- Improved: Dialogue Editor automatically removes variables with blank names when opening database.

- Improved: CharacterInfo.RegisterActorTransform reports if no Dialogue Manager is present.

- Improved: Changes/optimizations to Use Linear Group Mode option.

- Save System: Handles savers that destroy themselves in BeforeSceneChange().


[Third Party Support]


- Adventure Creator: Added acGetObjectiveStateByTitle(), acGetSubObjectiveState[ByTitle](), acGetSubObjectiveStateByTitle(), Lua functions; updated Unity API calls.

- articy:draft: Now handles articy X [i]..[/i] formatting codes; importer window respects Convert Markup To Rich Text checkbox.

- Localization Package: Dialogue System To String Table now correctly marks databases for saving; added Export Localized Fields checkbox.



Version 2.2.51:


[Core]


- Changed: Blank <START> node is no longer logged as "Actor says: ''", and OnConversationLine(Subtitle) is not invoked.

- Changed: Duplicating conversations no longer duplicates dialogue entry references to scene events.

- Improved: QuestLogWindowHotkey now has ToggleQuestLogWindow() method that you can call from a UI Button's OnClick event.

- Improved: Changing languages (e.g., DialogueManager.SetLanguage()) now also updates quest UIs.

- Improved: StandardUIContinueButtonFastForward now sets selected UI object to null if Hide Continue Button On Click is ticked.

- Improved: When using Input System package, InputDeviceManager no longer allocates any memory each frame.

- Improved: Unique ID Tool ensures unique Base IDs among databases and keeps each database's assets within Base ID range.

- Improved: Added InputDeviceRegistry component for easier Input System support.

- Improved: Player can no longer navigate to StandardUIQuestLogWindow's "No active/completed quests" text using keyboard or joystick.

- Improved: KeepRectTransformOnscreen does a better job of keeping entire RectTransform onscreen.

- Fixed: If all player responses are disabled (Conditions are false but Include Invalid is ticked), conversation ends.

- Fixed: If using Input System package, UIButtonKeyTrigger component doesn't disable input action by default.

- Fixed: Quick text entry on dialogue entry nodes (double-click) now supports IME keyboard input.

- Fixed: Dialogue System Trigger inspector wasn't marking quest name changes dirty on prefabs.

- Fixed: [LuaScriptWizard] and [LuaConditionWizard] attribute drawing issue.

- Fixed: ConversationStateSaver should no longer show wrong portrait images when multiple actors share panels.

- Fixed: Saving data when switching text tables.

- Fixed: DialogueActors in scenes without a Dialogue Manager no longer report an error when disabled.

- Fixed: Added missing built-in sequencer commands to "+" dropdown.


[Third Party Support]


- Adventure Creator: Added "Is Player Actor?" checkbox to Bark action.

- Feel: Updated for Feel 5.4.

- Localization Package: Added option to prepend name to key; no longer duplicates synchronized actors or quests; doesn't add string table entries for blank dialogue text.

- Playmaker: Added option to specify Set Quest State / Set Quest Entry State using dropdown menu instead of string.

- RPG Builder: Added rpgModifyStat() function.

- Twine: Fixed (if:) logic conditions, now allows white space between (if:) and [link], supports '->' links.

- Visual Scripting: Added Lua functions to get values of Application Variables.

- Yarn 1: Fixed import of custom commands with arguments containing forward slashes. (Put argument in quotes.)

- Yarn 2: Added import of portrait images.



Older Release Notes

Basic Information
Latest Version
2.2.53.1 (13 May 2025)
Publisher
Pixel Crushers
Category
Scripting/AI
Size
32.4 MB
Price
€87.4
Asset Rating
(822)
Extended Information
Unity Versions
2020.3.0
Render Pipelines
BIRP URP HDRP
State
published