Search Unity

[RELEASED] Dialogue System for Unity - easy conversations, quests, and more!

Discussion in 'Assets and Asset Store' started by TonyLi, Oct 12, 2013.

  1. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
    Hi @avazquez_pe - Thanks for looking at the Dialogue System! There are many good uses for conversants. Say an actor Adam has two nodes: In the first, he says "Hi, Bob." In the second, he says "Hi, Carla." By setting the first node's conversant to Bob and the second to Carla, the system knows which character Adam is addressing. This is useful when tying in other activity such as sequences. For example, this would let Adam know which character GameObject to face and wave to.
     
  2. MrGreenish

    MrGreenish

    Joined:
    Oct 20, 2019
    Posts:
    34
    Hey, I don't know how to open the Quest Log Window from a script. I'm using the "Basic Standard UI Quest Log Window" prefab. I've added the "QuestLogWindowHotkey" to test if the setup is working, and it's working perfectly. But how do I open the Quest Log Window from a C# script? What namespace do I need and what line do I need to run? The only thing the documentation says is "To open the quest log window, call the Open() method".
     
  3. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
    Hi @MrGreenish - Get a reference to your quest log window, and call its Open() method. To get a reference, you can use FindObjectOfType<QuestLogWindow>() or declare a public variable and assign it in the inspector. (FindObjectOfType is perfectly fine to use occasionally; just don't use it every frame.) Example:

    Code (csharp):
    1. // Get a reference to the quest log window:
    2. var questLogWindow = FindObjectOfType<QuestLogWindow>();
    3. // Always a good idea to do a null check when getting anything:
    4. if (questLogWindow != null)
    5. {
    6.     questLogWindow.Open();
    7. }
    8. else
    9. {
    10.     Debug.LogWarning("No quest log window found in scene.");
    11. }
     
    MrGreenish likes this.
  4. MrGreenish

    MrGreenish

    Joined:
    Oct 20, 2019
    Posts:
    34
    I have an issue where the Dialogue UI doesn't work properly. If I start a conversation soon after finishing another one, strange things will happen. The dialogue appears to be running. If I view the dialogue tab the correct node is green. There are no error messages in the log. But the UI is not visible. Sometimes the subtitles are filled in and the UI shows for half a second when the conversation starts, then it disappears. Sometimes it doesn't fill in the subtitles in the UI and the Conversation UI doesn't appear at all.

    It seems like the display of the conversations break when a conversation is starting too soon after finishing another one. This is a huge issue that breaks the game. Once the bug happens the display of conversations won't work unless I restart the game.

    I either need a way to clear all methods that are running from the previous conversation before starting a new one (!DialogueManager.isConversationActive isn't sufficient). Or I need a way to check if the DialogueManager is fully ready to start a new conversation.

    EDIT* I added a delay to prevent a new conversation to start earlier than X seconds after the last conversation was closed. This is in the update function:
    Code (CSharp):
    1. if (!DialogueManager.isConversationActive) timeSinceConvoClosed += Time.deltaTime;
    2.         else timeSinceConvoClosed = 0;
    And when I try to trigger a conversation in a method:
    Code (CSharp):
    1. if(TheScriptWithTheUpdateAbove.timeSinceConvoClosed > X) // Open conversation
    On my laptop the game won't break if I allow X=.65 seconds to pass, but if only X=.6 seconds pass the game breaks. But I have no idea why or if the "break-time" will be different in the build or on another computer.
     
    Last edited: Feb 16, 2021
  5. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
    Hi @MrGreenish - Sounds like your dialogue UI may have animation issues. If your dialogue UI has animations that, for example, fade panels in and out, tick the Standard Dialogue UI component's Wait For Close method. This waits for the animations to finish.

    And/or check if the dialogue UI is still open. Example:
    Code (csharp):
    1. if ((DialogueManager.dialogueUI as StandardDialogueUI).isOpen)
    2. {
    3.     Debug.Log("Dialogue UI is still open.");
    4. }
     
    MrGreenish likes this.
  6. MrGreenish

    MrGreenish

    Joined:
    Oct 20, 2019
    Posts:
    34
    Thanks Tony! Lifesaver. Your response time is awesome!
     
    TonyLi likes this.
  7. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
    Updated Integration for Opsive Controllers version 2.3

    If you're using any Opsive character controllers (Ultimate Character Controller, UFPS, TPC, etc.), the integration API changed. You can download updated integrations for the Dialogue System for Unity, Quest Machine and Love/Hate on opsive.com.


    Kickstarter Reminders - Ova Magica and The Way of Wrath

    A few Dialogue System-powered games are running Kickstarter campaigns right now, including Ova Magica and The Way of Wrath. If you like these kinds of games, you can become a backer and sign up for backer rewards.

    Ova Magica Kickstarter (fully funded in the first 3 hours, and hitting all kinds of great stretch goals)

    The Way of Wrath Kickstarter (a Kickstarter staff "Projects We Love" pick)








    In other news, Disco Elysium - The Final Cut releases in March. You can get Disco Elysium, made with the Dialogue System for Unity, for 45% off right now on Steam. 2019's Game of the Year and called the greatest RPG of all time by many gaming news outlets (supplanting Planescape Torment's long reign), it's one to enjoy and study if you're writing dialogue-based games.
     
  8. MaxKMadiath

    MaxKMadiath

    Joined:
    Dec 10, 2016
    Posts:
    69
    Hi I can use a dialogue system for mobile devices? It will affect performance?
     
  9. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
    Hi! Yes, you can use it on mobile devices. The Dialogue System is used in many, many mobile games such as Jenny LeClue - Detectivu, Storyhaven, Silent Streets, and more.
     
  10. carmofin

    carmofin

    Joined:
    May 13, 2017
    Posts:
    116
    Hi...
    I accidently deleted the Portrait from my UI...
    When I add it back in, it stays grey and it seems the dialogue manager cant find it.
    Im unable to find any setting that refers to the portrait, what can I do to fix this?
     
  11. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
    Hi! Inspect your subtitle panel(s). Assign the portrait image to the Standard UI Subtitle Panel component(s)' Portrait Image field.
     
  12. FrostedBrain

    FrostedBrain

    Joined:
    Sep 26, 2019
    Posts:
    31
    How can I prevent the sequencer cam from creating itself during when an NPC starts barking?

    I am getting my camera view switched to a sequencer cam that spawns on play
     
  13. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
    Hi @FrostedBrain - Make sure your scene has a camera tagged MainCamera.
     
  14. Venominus

    Venominus

    Joined:
    Sep 5, 2015
    Posts:
    25
    While talking wtih npc console gives errors: Missing Method Exception the best match for method OnConversationLine has some invalid parameter.
     
  15. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
    Hi @Venominus - Is there a script on the Dialogue Manager, player, or NPC that contains an OnConversationLine method? If so, make sure its signature looks like this:
    Code (csharp):
    1. void OnConversationLine(Subtitle subtitle)
    What version of the Dialogue System are you using? (Check Plugins / Pixel Crushers / Dialogue System / _README.txt.)
     
  16. SOSolacex

    SOSolacex

    Joined:
    Jan 10, 2018
    Posts:
    121
    Hey Tony, been a little while!
    I've been running into a slight issue, although I may just have to think of a different approach. Either way, I hope you can give me some help.

    Basically, through multiple conversations, I'd like to change a variable (int), then through a conversation, I'd like to give the player a certain amount of an item that was set by the previous conversations.
    For example, let's say you're working at an inn, you ask multiple people what they want.
    3 people say they'd like a beer, 2 people say they'd like chicken. (for each NPC, add variable of beerAmount & chickenAmount by 1 if necessary)

    Then, using the ultimate inventory system, I'd like the player to go to the bar and pick items up through another "conversation" with the item, thus using the ultimateinventory script.
    However, the issue I am running into is that I cannot enter a variable name where the amount should be, thus I've been trying to do it through a send message script.
    However, I do not know what scripting methods I should use as I couldn't find anything in regards to available scripting methods for the integration on the site.

    Hope you understand what I mean, haha.
    Thanks in advance.
     
  17. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
    Hi @SOSolacex - Are you talking about the UIS Lua functions?

    Let's say you have a Dialogue System variable "numBeers". As you talk to patrons, their conversations increment numBeers:
    • Script: Variable["numBeers"] = Variable["numBeers"] + 1
    (Use the "..." dropdown; it's easier than typing the Script manually.)

    When you talk to the bar, the player can say how many beers to get, and then use the uisAddItem Lua function:
    • Dialogue Text: "Give me [var=numBeers] beers."
    • Script: uisAddItem("Beer", Variable["numBeers"], "", "")
    While you can use the "..." dropdown to get the uisAddItem() function, you'll need to type in Variable["numBeers"] manually into the second parameter field.
     
    SOSolacex likes this.
  18. SOSolacex

    SOSolacex

    Joined:
    Jan 10, 2018
    Posts:
    121
    Ohhhh so it does work!
    I tried typing in the amount field when it shows up after you click custom -> uisadditem, but it would keep resetting to 0 so I figured it wouldn't work.. didn't think of adding it after pressing apply. :oops:
    That definitely saves me a lot of time, haha. Thanks!
     
  19. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
    Hmm, you should be able to type it into the field before pressing Apply, but adding it after certainly works, too!
     
    SOSolacex likes this.
  20. SOSolacex

    SOSolacex

    Joined:
    Jan 10, 2018
    Posts:
    121
    Weird, it kept resetting to 0 and it wouldn't allow me to type the letter "d" in that field.
     
  21. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
    Oh, I forgot that it's a number field. It's "helping" by enforcing a number. Adding the variable afterward will have to do it.
     
  22. weto4ka

    weto4ka

    Joined:
    Feb 8, 2019
    Posts:
    48
    Hi, Tony! I have few questions:)
    1. If I add databases at Unique id tool. And then press "process". And then add one more database to it & process it again. will the old databases & entries have the same id as it was before adding new database?
    2.And are there any limitations for the database? how many entities and conversations can it contain?
    upload_2021-2-25_19-44-4.png
     
  23. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
    Hi @IspirationHappynes - The old databases' Actor IDs, Item/Quest IDs, Location IDs, and Variable IDs might change. The dialogue entry IDs inside each conversation will not change.
    No hard limit. As you add more content, the dialogue database will require more memory, and the editor might become somewhat slower when it saves changes to disk.
     
  24. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
    Tortured Hearts Released On Steam

    Tortured Hearts, made with the Dialogue System for Unity, is now available on Steam! This massive, comedic RPG features over 500,000 words of dialogue and quests, made by the developer of the classic C64 RPG Newcomer.

     
    YevgenG likes this.
  25. YevgenG

    YevgenG

    Joined:
    Oct 17, 2018
    Posts:
    22
    Hello, TonyLi!

    First of all, thanks a lot for the amazing asset! Really cool and easy to use!

    I'm sorry for a stupid question, I'm really new to Unity and coding, so couldn't find this by myself. I'm using Runic prefab in my scene for the basic intro in levels. It works great, though I have 2 questions...

    1. How make it possible to keep the player answers? Not only the NPC ones.
    2. How make it possible to close the dialogue window by clicking on "close" or "continue" button, not automatically?

    Below you may see the scene behaviour in my game.

    https://drive.google.com/file/d/1NIY2qQoOVpLeGoWB-K0jH5utEe2MZuk8/view?usp=sharing
     
  26. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
    Hi @YevgenG - Thanks for using the Dialogue System! Inspect the Dialogue Manager GameObject. Tick Display Settings > Subtitle Settings > Show PC Subtitles During Line, and UNtick Skip PC Subtitle After Menu.

    To require the player to click the continue button, change the Subtitle Settings > Continue Button dropdown. There are several options to choose from. In the screenshot below, I chose the option that will only require the continue button for NPC lines:

    upload_2021-3-2_13-49-46.png
     
    YevgenG likes this.
  27. YevgenG

    YevgenG

    Joined:
    Oct 17, 2018
    Posts:
    22
    Thank you, TonyLi! Works perfectly!
     
    TonyLi likes this.
  28. Niroan

    Niroan

    Joined:
    Jun 16, 2019
    Posts:
    115
    Hello

    Im using your asset but when i try to located Third party support i cant find it. as mention on this page https://www.pixelcrushers.com/dialogue_system/manual2x/html/i2_localization.html#i2LocalizationSetup
    Im currently using i2 localization to translate my entire application. The only thing missing right now is the dialogue system.

    Can you please help me get this working? I tried to use the languageString inside the code but that broke it.
    Im using Dialogue System version 2.2.13 and its missing.

    please help me complete the last step in my game.
     
  29. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
    Hi @Niroan - You should be able to find the i2 Localization support package in your project here:

    upload_2021-3-4_10-10-13.png
     
  30. Niroan

    Niroan

    Joined:
    Jun 16, 2019
    Posts:
    115
    Very nice sir!

    I have a secondary attribute on the localizer field that sets it to change the font depending on language.
    How would i attach this to function with dialogue system?
     
  31. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
    Hi @Niroan - You can add a script to the dialogue UI or the panels that sets the font of the text elements. This would work independently of the dialogue database. For example, add a script with a method similar to this to the subtitle panels:
    Code (csharp):
    1. void OnEnable() // Called when the conversation opens this subtitle panel.
    2. {
    3.     var font = // (Get font for current language -- e.g., I2.Loc.LocalizationManager.CurrentLanguage)
    4.     var subtitlePanel = GetComponent<StandardUISubtitlePanel>();
    5.     subtitlePanel.subtitleText.uiText.font = font;
    6.     subtitlePanel.portraitName.uiText.font = font;
    7. }
    (I'm showing the method in a way independent from any specific localization system so other readers in the future can refer to it for their own uses.)
     
    Niroan likes this.
  32. Niroan

    Niroan

    Joined:
    Jun 16, 2019
    Posts:
    115
    Wow, your are truely dedicated to your product sir! I have given you a 5 star rating AMAZING support.
     
    TonyLi likes this.
  33. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
    Thank you! And happy to help!
     
  34. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
  35. Stickeyd

    Stickeyd

    Joined:
    Mar 26, 2017
    Posts:
    174
    Hello. For some reason when I press ESC(which is used for pause in my game) dialogue registers it as pressing continue button and continues the dialogue. Any way to disable this?
     
  36. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
    Hi! On the Dialogue Manager GameObject, inspect Display Settings > Input Settings > Cancel Subtitle Input and Cancel Conversation Input. Set the Key to None, and make sure the Button Name is blank.

    These cancel inputs are an optional, additional way to cancel subtitles and conversations. Setting them to None/blank will disable them, leaving your regular continue button as the way to continue conversations.
     
  37. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
  38. weto4ka

    weto4ka

    Joined:
    Feb 8, 2019
    Posts:
    48
    Tony, hi!
    Is there some func to clear response menu? (buttons)
    And is there a func to show only responses? If I want to show only list of custom responses
     
  39. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
    Hi @IspirationHappynes - If you have changed the conditions on the response nodes and want to update the menu, call DialogueManager.UpdateResponses(). You can do this, for example, if some variables have changed that would cause some responses to change whether they are shown or not. If you want to close the response menu entirely, call its StandardUIMenuPanel.Close() method.

    If you want to hide the subtitle panel when the response menu appears, change the subtitle panel's Visibility dropdown to Only During Content.
     
    weto4ka likes this.
  40. SOSolacex

    SOSolacex

    Joined:
    Jan 10, 2018
    Posts:
    121
    Hey Tony!
    I am having a slight issue with the opsive ultimate inventory integration.
    For example, I have a quest where the character works at a bar and has to gather info on what everyone in said bar wants. This can for example be drinkAmount or dinnerAmount. Through conversations, the amount of either of the variables can go up, depending on the conversations.

    So for example; after you've spoken to all NPC's, you can have a dinnerAmount of 4 and a drink amount of 3.
    Then at a different spot, I've got a trigger convo where you can get all the items through a script:

    uisAddItem("Beer(Work)", Variable["drinkAmount"], "", "");
    uisAddItem("Chicken(Work)", Variable["dinnerAmount"], "", "");

    However, an issue I am encountering is that for some reason it only ever takes max 1 item. So for example, only 1 Beer(Work) even though both dinner and drink would be at 4.
    And also, in the "conversation" where you take the food where it says "You've taken x drink(s)"
    You've taken "x" dinners, it only ever shows one of those "x" variables and it makes the other invisible.
    It also seems to be quite random in what it picks, it can randomly pick only the dinner or only the 1 drink.

    Do you know what could cause this?
    Thanks in advance.
     
  41. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
    Hi @SOSolacex - I may need some more details.

    Verify that the values of Variable["drinkAmount"] and Variable["dinnerAmount"] are correct. For example, add a Lua Console to your Dialogue Manager. During play, press ~+L to open it. Then enter:

    return Variable

    to list the values of all variables.

    You can also enter:

    uisAddItem("Beer(Work)", 4, "", "")

    to make sure that you can add 4 beers to the player's inventory. Maybe you've set a limit in UIS so that the inventory can only hold a maximum of one of each item.

    Can you post a screenshot of the conversation that only shows one of "You've taken x drinks" or "You've taken x dinners"?
     
  42. SOSolacex

    SOSolacex

    Joined:
    Jan 10, 2018
    Posts:
    121
    Hey Tony, my apologies. Seemed to be that the issue was completely a thing on my end!
    I messed a couple of things up, it's working great after the fixes.
    Cheers.
     
  43. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
    I'm glad to hear it's working now!
     
  44. Revolter

    Revolter

    Joined:
    Mar 15, 2014
    Posts:
    216
    Hey Tony,

    Just started using your plugin and I have some questions:
    • Why is it important to set actor and conversant in conversation properties? What if my conversation has more than 2 actors?
    • Why does the StandardDialogueUI show the PC sprite even when both actor and conversant are not the PC? (the PC sprite is darkened though). I would like to understand the logic behind the default behaviour. Do you have a tutorial where you go into more details about the properties in a conversation and the way to achieve specific behaviours from the dialogue system ui?
    • It seems that PC lines are always shown as choices, even when is just one choice. How can I show a PC line just as text instead?
    • Can you recommend a more advanced example of using the Dialogue System (more into visual novel direction)?
    • How customizable are the standard* (dialogue UI and so on) scripts, would you recommend writing my own scripts instead?

    I've noticed that the undo functionality is a bit wonky. For example, if I undo after creating a node, it will also undo a change I did before that.
     
  45. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
    Hi @Revolter - Thanks for using the Dialogue System!
    It's perfectly fine for your conversation to involve more than 2 actors. Setting the primary actor and conversant in conversation properties serves two purposes:
    1. In the Dialogue Editor, it specifies which two actors to alternate by default when adding new nodes.
    2. At runtime, these two actors can be substituted for other actors. A classic example is a generic shopkeeper conversation that's used for a different shopkeeper in each village of your game. You'd assign your generic shopkeeper actor to the conversation properties' conversant, but assign the village's shopkeeper as the Dialogue System Trigger's Conversation Conversant in each village scene. More info: Character GameObject Assignments
    The Tutorials section has a dialogue UI tutorial. It may be a little more general-purpose than you're looking for. Depending on the dialogue UI setup that you're using, there may be a subtitle panel set up for the player. If this subtitle panel's Visibility dropdown is set to Always From Start, the dialogue UI may be making it visible when the conversation starts.

    Inspect the Dialogue Manager GameObject's Display Settings > Input Settings. UNtick Always Force Response Menu. Alternatively, you can force an individual node to be shown as a menu or as subtitle text using [f] and [auto] markup tags.

    Try out the VN Template Standard Dialogue UI prefab. It's designed to be a drop-in UI for visual novel style games.

    As mentioned above, they're very customizable, but that flexibility comes with a bit of a learning curve. Their methods are virtual, too, so instead of writing your own scripts you may prefer to simply make subclasses to add or change whatever extra behavior you want. The Dialogue System Extras page has a lot of example scenes that include subclasses of StandardUISubtitlePanel and StandardUIMenuPanel to add new functionality. However, if you want to write your own scripts instead, that's completely supported. Just implement the C# IDialogueUI interface. The Templates/Scripts folder has a starter template.

    This is the biggest known issue with the Dialogue Editor. I'm working on some optimizations for editing huge databases, and I'll be taking a look at undo while I'm doing that.
     
    Revolter likes this.
  46. Revolter

    Revolter

    Joined:
    Mar 15, 2014
    Posts:
    216
    Thanks for the answers @TonyLi,

    I decided to create my own implementation of IDialogueUI, but I'm still struggling to achieve a specific behaviour:
    • Whenever a node is followed by multiple nodes, I want it to be shown as a subtitle dialogue with choices.
    • This should work independent of who the actors are
    • I don't want the subtitle to be shown before the responses (ShowSubtitle callback should not be called)
    • I don't want the response to be shown after I choose it
    upload_2021-3-16_22-14-14.png

    Could you please let me know if this is possible to achieve without modifying the DialogueManager/Controller?

    This is the basic flow for most of visual novels on mobile.
     
  47. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
    Hi @Revolter - The behavior you describe is the precise default behavior of the Dialogue System. To see it in action, temporarily assign the VN Template Standard Dialogue UI prefab to the Dialogue Manager's Dialogue UI field.

    I understand your screenshot may just be a quick mockup, but just in case: Unless you've changed the node colors, player nodes will be blue:

    upload_2021-3-16_18-10-17.png

    The Dialogue System will only show a response menu if the only available nodes are player nodes:

    upload_2021-3-16_18-11-10.png

    (That second screenshot is during play. The current node is shown in green, and valid links are also shown in green.)

    If the node's aren't automatically alternating between gray and blue when you add new nodes, select Menu > Conversation Properties:

    upload_2021-3-16_18-14-6.png

    Make sure the Actor dropdown is set to a player actor -- that is, an actor whose Is Player checkbox is ticked:
     
  48. Revolter

    Revolter

    Joined:
    Mar 15, 2014
    Posts:
    216
    That works when subtitle is NPC, but when subtitle is Player, that doesn't work as expected. I can achieve one of these
    1) Either a duplicate subtitle will be shown before showing response
    2) Or the player subtitle will not be shown.

    I think my main issue is that I cannot force a player node to work as an NPC subtitle, sometimes I want the player to also say something without showing them as response, or skipping the lines.
     
  49. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
    Here are some settings you can adjust to achieve the effects you want:

    On the Dialogue Manager GameObject, tick Display Settings > Subtitle Settings > Show PC Subtitles During Line. Leave Skip PC Subtitle After Response Menu ticked.

    If you want to show a PC line as a subtitle by default if there's only one response, UNtick Input Settings > Always Force Response Menu.

    Use the [auto] and [f] markup tags in your dialogue text to override this behavior. If there's only one response but you want to force it to appear as a menu, use [f]. To automatically show a node as a subtitle, even if multiple nodes are available, use [auto].
     
  50. VariantPolygon

    VariantPolygon

    Joined:
    Nov 24, 2012
    Posts:
    6
    I was wondering if there is a way to trigger a unity event (like enabling a game object) when a quest is accepted, or completed? I want to check the quest conditions (active or success) and then enable or disable a UI element such as a minimap indicator. I tried using the Dialogue System Trigger, but the trigger only works once (such as 'on start', etc). I want to constantly check the quest condition instead, or is there a simpler way to achieve this? I also used the events in a conversation node to trigger a unity event, but I would rather check if the quest is active or complete independently.