Localization Services
The Dialogue System has built-in language localization support. While you can manage localization yourself in the Dialogue Editor, or by exporting to CSV, or using i2 Localization integration (see Localization), we have also partnered with localization companies to offer you professional localization services that work seamlessly with the Dialogue System. Our first partner is Altagram (Alocai). To access services, click the Dialogue Editor window’s Send Localization Request button.
Updated Integration Packages/Patches
Fixes a visual issue with [LuaScriptWizard] and [LuaConditionWizard] attributes in custom scripts.
Extras
Frameworks, Demos, and Example Scenes
HDRP materials for Dialogue System demo scenes. To play the demo scenes in an HDRP project, import this package.
URP materials for Dialogue System demo scenes. To play the demo scenes in an URP project, import this package.
Assets for the Dialogue System tutorials.
This package adds an importer for linear conversations written in Excel. Requires Unity-QuickSheet (see instructions included in package).
This package adds support for articy:draft 3+’s localization spreadsheets to the Dialogue System’s articy:draft Converter. Requires Unity-QuickSheet: download, unzip, put “Quick Sheet” folder and “Quick Sheet.meta” file somewhere in your project’s Assets folder, such as in Assets / Dialogue System Extras / Articy Localization Importer.
This package contains example scenes from the Dialogue System’s Yarn Importer tutorial.
This is a complete menu framework for the Dialogue System 2.x. See also: Documentation, Custom Save Slot Details Example.
The Textline project template is a mobile-style game that plays out like a series of text messages (similar to Three Minute Games’ Lifeline series). It’s built on the Menu Framework, so please also import the Menu Framework (above). Includes option to use Enhanced Scroller. NOTE: 2022-05-08 version REQUIRES SMS Dialogue UI patch available above when using DS 2.2.27 or older.
See also: Documentation. Demo. If you don’t want to use Textline, check out the Multi-Character SMS Example scene.
This Visual Novel framework is a free add-on for the Dialogue System. See also: Documentation.
This Choose-Your-Own-Adventure framework is a free add-on for the Dialogue System. Demo.
This is a set of preconfigured Save System prefabs with an animated loading scene.
This package adds an “Asset” field type that allows you to assign assets (sprites, audio clips, custom ScriptableObject assets, etc.) to fields in your dialogue database.
Integration package for Text Animator 1.x for Unity.
This package contains the deprecated, legacy Unity GUI and Unity UI dialogue UI prefabs that were removed from version 2.2.12+.
This scene demonstrates how to run conversations in VR using Unity’s XR Interaction Toolkit. Package Manager requirements are detailed in the _README.txt file in this package.
This scene demonstrates how to run conversations in VR using SteamVR. (Requires Unity 2018.3.0+ and Valve’s SteamVR for Unity plugin.)
This scene demonstrates how to run conversations in VR using the Oculus integration’s laser pointer.
(Requires Unity 2019.3+ and Oculus integration plugin.)
This package demonstrates how to use Windows Speech Recognition to select response menu options using voice input.
This package demonstrates how to use the Wit.ai speech recognition service to select response menu options using voice input.
This package contains a script and example scene that adjusts the NPC’s subtitle text typewriter speed to match the audio clip length.
This package contains an example of animated portraits.
This package contains an example of animated portraits with child elements for eyes and mouth.
This package contains an example of using animated portraits to cross-fade poses.
This package contains a script to make a screen space UI follow a GameObject with smooth damping. In the example scene, an overhead subtitle panel follows an NPC.
This package contains an example of how to use Timeline Continue Conversation clips to advance a conversation and pause the timeline while each subtitle is displayed.
Another set of examples demonstrating Timeline conversations. One scene shows how to automatically continue conversation in timeline without player interaction. The other demonstrates how to pause timeline while waiting for player to click continue button.
This package contains an example scene that demonstrates how to set up simultaneous conversations.
This package contains an example scene and scripts that show quest entries in the order in which they were activated.
This package contains a simple level select example.
This is an example scene that demonstrates how to set up Unity’s Starter Assets Third Person Controller with the Dialogue System.
This is a basic 2D example scene that demonstrates using Dialogue System Trigger with OnUse (using Selector and mouse click) and a UI Button.
This demonstrates how to extend Proximity Selector to only interact with Usables under the mouse cursor.
This example scene demonstrates how to toggle quest indicators when toggling quest tracking.
This example scene requires Behavior Designer. It demonstrates how to integrate dialogue into a wandering NPC.
Addon for OpenAI Extras and Examples
This example scene requires the Dialogue System, Addon for OpenAI, and Love/Hate. It demonstrates how to use Love/Hate affinities in prompts for runtime conversations. Remember to import Love/Hate’s Third Party Support / Dialogue System Support.unitypackage.
Bonus Sequencer Commands
This package contains a new sequencer command: YesNo(prompt, variable) that shows a Yes/No prompt. Includes example scene.
UIs
Clean TextMesh Pro subtitle panel, menu panel, and bark UIs in the style shown in the Feel + Text Animator + Dialogue System Bundle Demo Scene.
This example demonstrates how to show animated 3D models as portraits using render textures.
This example dialogue UI can be selected with the four standard buttons on a gamepad (A/B/X/Y), a common selection scheme used in console games.
This is an integration and example for a book style dialogue UI using Page Curler. The user can flip pages forward and back to navigate a conversation.
This is an integration and example for a book style dialogue UI using EndlessBook. The user can flip pages forward and back to navigate a conversation.
This example dialogue UI works similarly to Firewatch; left shift opens response menu, mouse wheel selects responses. Note: Set the Input Manager’s Mouse ScrollWheel sensitivity to 1. (DS 2.x)
This example dialogue UI works similarly to the smooth-scrolling UI in Subsurface Circular. Updated 2020-04-26. (Deprecated version 2018-07-11.)
This example dialogue UI shows an arrow next to the current response menu selection.
This example dialogue UI uses overhead speech bubbles. It’s in 2D but the same setup works for 3D. This example disables mouse input; to re-enable it, untick the Dialogue Manager’s Input Device Manager > Detect Mouse Control. [TextMeshPro version] [TextMeshPro+TextAnimator version]
This example uses a screen space bubble UI instead of world space.
This scene contains an example scene and a script that lets you use a default UI or overhead bubbles for the same participants based on each conversation.
This scene demonstrates one way to change a character’s bubble outline.
This scene demonstrates how to show 3D models in dialogue UIs using cameras and render textures.
This scene demonstrates how to switch between different conversations with message history using an SMS-like UI.
This is a very simple example dialogue UI set up with DoozyUI.
Demonstrates Visual Novel style dialogue UI with focus animations that darken non-speakers and allows speakers to switch panels using SetPanel() and [panel=#].
This example shows how to set up a quest log window with different tabs for different groups (e.g., main quests, side quests, etc.).
This package contains an example that demonstrates how to use Override Dialogue UI Controls to use different subtitle panels for each actor.
This package contains an example cartoon bubble dialogue UI in 2D. If you prefer a screen-space version that runs on the player rather than the conversant (NPC or interactable GameObject), also import this example: BubbleUIScreenSpace_2017-05-11.unitypackage
This example demonstrates how to integrate the Wit.ai speech recognition web service to make dialogue choices by voice. More info here.
This package requires the Dialogue System, the free Menu Framework (link above), and Invector Third Person Shooter. It demonstrates how to set up Invector with the Menu Framework.
Misc
This tool reports orphan nodes (nodes that aren’t linked from any other nodes).
This example scene demonstrates how to implement a tutorial conversation that waits for the player to complete gameplay actions.
Download “GoT Style Example Scene” GoT_Style_2018-09-02.unitypackage – Downloaded 4325 times –
This package contains an example scene that demonstrates a conversation in the style of Telltale games, with monologues, subtitles that play over the response menu, and timeouts. The dialogue is copyright Telltale Games and is used only for illustration purposes. (Example for version 1.x)
This package contains an example scene that demonstrates how to implement skill checks in conversations. A detailed description is available in this forum post.
This package contains an example scene and script that lets the player “discover” NPC names during conversations. The script adds a Lua function that reveals the NPC’s name so it updates in the dialogue UI’s portrait name. Note: From version 2.2.29+, the ChangeActorName() Lua function is now built into the Dialogue System.
This package contains an example scene that demonstrates how to show a tooltip and activate a GameObject when hovering over response buttons.
This package contains an example scene that demonstrates a conversation that shows topics you can research and shows tooltips when you hover over keywords in the subtitle text.
This script and example scene demonstrate how to add a backtrack button to your conversations.
This script and example scene demonstrate how to add a conversation history (with optional audio playback) to your conversations.
User Contributions
Mografi has shared this dialogue converter that they use for the game Jenny LeClue – Detectivu.
Contributor: Mografi
Older Support Packages
These examples work with version 1.x of the Dialogue System. They are not for version 2.x. Much of the functionality of these packages are already incorporated into version 2.x itself.
This package contains the source files for the Dialogue System 2D Platformer Demo. Import them into a project that already contains the Dialogue System and Unity’s 2D Platformer Demo project. You can download a simpler demo here: ProximitySelector2DExample_2016-05-22.unitypackage for Unity 5.3.4+; it assumes you’ve already imported Unity’s Standard Assets > 2D package.
This package adds an Auto Save Load component that automatically saves the game when quitting and reloads it when resuming play. (Note: Now included in version 2.x.)
This example scene demonstrates how to integrate Third Person Controller v1, Behavior Designer, and the Dialogue System in combat roles (combat barks, saving stats, and saving enemy kills).
This example scene demonstrates how to open an S-Inventory vendor during a conversation and wait until the player buys something before continuing the conversation.
This package contains a basic integration with Inventory Master.
This package contains a script to save and load UMA Dynamic Character Avatars’ wardrobes (i.e., current outfits) in saved games and across scene changes.
This package contains a fix to the example scene included in Inventory Pro’s integration.
This package contains an example integration with InControl.
This package contains a new sequencer command: GotoEntry(entryID) or GotoEntry(conversationID, entryID). The example scene explains its use. You can use this command to allow NPCs to interrupt the response menu if the player fails to make a selection in a certain amount of time.
This package contains a new sequencer command: LiveLookAt(target, [subject], [duration], [allAxes]). Unlike the built-in LookAt() sequencer command, it immediately snaps to look at the target and then tracks the target for the specified duration.
This package contains a new sequencer command: SwitchUI(name) that allows you to switch dialogue UIs mid-conversation.
This package adds a Replace Display Settings component that lets you use different display settings for a scene.
This Unity UI Bark Dialogue UI plays subtitles through the actors’ bark UIs instead of the dialogue UI’s subtitle text elements.
This package contains an example scene and short scripts to add support for dropdown choices in response menus.
Note: This package is for Dialogue System version 1.x. Log functionality is built into version 2.x. This package contains a script, prefab, and example scene that demonstrates how to set up a Unity UI dialogue UI that logs the entire conversation so the player can scroll back through it during the conversation. For a variation that works more like a text messaging app: TextingLogUI_2016-09-21.unitypackage
This package adds a script (add it to your Response Menu) that navigates up and down buttons using the mouse scroll wheel.
This package contains an example script that demonstrates how to set up a dialogue UI that keeps both participants’ portraits onscreen and plays a half-fade animation on the listener’s portrait. Built in Unity 5.3.4 using Unity UI.
This package contains an example script that demonstrates how to switch to different UI panels mid-conversation. Built in Unity 5.3.4 using Unity UI.
Add this component to actors to show their subtitle lines in a specific color with Unity UI.
This package contains two example conversations. The first demonstrates how to map the continue button and response buttons to keys and/or gamepad buttons. The second demonstrates how to set up navigation with auto focus.
This package contains an example two-panel quest log window. The left panel shows selectable quest titles. The right panel shows the details of the selected quest. Made in Unity 2017.1.
This legacy Unity GUI dialogue UI script allows you to use unique fonts (or GUI Styles) for specific NPCs in conversations.
This Unity GUI dialogue UI script supports multiple NPCs with their own subtitle panels.
This package contains a script to localize Unity’s TextMesh component, similar to Localize UI Text for Unity UI. (This script is now built into the Dialogue System v1.6.8+.)
S-Inventory (and S-Inventory for RFPSP) package for Dialogue System version 1.x. (Run through 1x to 2x Updater to use with version 2.x.)
Download “2D Bark Example” 2DBarkExample_2018-05-06.unitypackage – Downloaded 2515 times – 7.60 KB
This simple example shows how to trigger barks (which could just as easily be conversations) with a mouse click, on trigger enter, or using Proximity Selector.
This package contains an example scene that demonstrates voiceover narration. Bark Triggers (gray cubes) around the scene play barks through a Narrator GameObject.
This package for Dialogue System 1.x contains an example scene that demonstrates one way to implement skill checks in conversations. It registers a Lua function that allows conversations to call a C# method in an example PlayerSkills class. To play it in version 2.x, use the “Run 1x to 2x Updater” menu item.
This package contains another example scene that demonstrates how to set up simultaneous conversations. When the scene starts, an interactive conversation starts between the player and NPC1. Simultaneously, a bark conversation plays between NPC2 and NPC3.
This package contains an example scene based on the Quick Start Tutorial that replaces the player’s soldier model with the Standard Assets FirstPersonController.
This package contains an example scene with a quest (“kill 3 monsters”) that can succeed or fail (if you kill any of the farmer’s animals). To keep the package small, everything uses the Recon Troop model, but some are labeled “Monster” and some “Animal”. A Farmer gives out the quest, which is defined in one quest and one conversation. There are also two variables: MonsterKills and AnimalKills. IncrementOnDestroy components update these variables. The farmer’s conversation checks the values of both variables and updates the quest accordingly.
This package contains an example scene that demonstrates how to use the GameSaver component. The GameSaver is on the GameObject Canvas > GameSaver Panel. Buttons on the panel call the GameSaver’s save and load methods. The Dialogue Manager also has a script named RememberCurrentDialogueEntry that saves the player’s place in the current conversation and resumes the conversation at that point when loading games.
This package contains another example scene that demonstrates how to use the GameSaver component, and it also includes RememberCurrentDialogueEntry. It saves the current conversation when the player quits the application, and resumes the conversation from that point when the player starts the application again.
This example scene demonstrates how to use Easy Save 2 in a PlayMaker FSM to save and load games. Requires Easy Save 2 and PlayMaker.
This script and example scene demonstrate how to set up interjectable conversations in which the NPC keeps talking and the player can opt to choose responses that appear and disappear during the NPC’s speech.
This script returns the actor IDs involved in a conversation.
This package lets you get and set the time of day in Lua and cutscene sequences with Galawana Studios’ Day Night Controller. Updated 2015-04-03 to also update sun position.
This package contains an example scene and scripts that allow a conversation to open an Inventory Pro window and wait for the player to select an item. The conversation then branches based on the selected item.
This package contains an example for Action-RPG Kit. When the boss NPC gets below 20% health, it starts a surrender conversation.
This package contains an example scene for Realistic FPS Prefab. You must find a note with a code to get past a coded door the next level. This scene demonstrates note pickups updating quests and text input in conversations.
Download “RFPS Book Example” RFPS_Book_Example_2016-05-02.unitypackage – Downloaded 2711 times –
This package contains an example scene for Realistic FPS Prefab. It adds a readable book that’s configured using RFPS’s pickup interaction system. It runs a conversation through a custom dialogue UI. This version was updated 2016-05-02 for RFPS 1.23.
Download “Grenades for RFPS” RFPS_Grenade_2015-03-13.unitypackage – Downloaded 2976 times –
This adds proof-of-concept grenades to Realistic FPS Prefab. Not specifically Dialogue System-related, but many Dialogue System users also use RFPS.
This package adds a command Zoom2DWithReturn() that works like the Zoom2D() sequencer command except it returns to the original position afterward.
Contributor: Bruce Kimpel
This package adds iTween GUI effects to Unity GUI dialogue UIs.
Contributor: Magicolo