Search Unity

[70% OFF - FLASH DEAL] Dialogue System for Unity - easy conversations, quests, and more!

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

  1. Peter_Wackomeida

    Peter_Wackomeida

    Joined:
    Nov 17, 2016
    Posts:
    15
    I have a puzzle where pulling 4 bolts activates the plate behind it. I'm controlling it with variables in DSU but I'm unsure how to make the trigger activate once the var = 4. Right now I have every bolt run an On use to an event that checks but it seems like there should be a trigger that keeps checking without that call.

    Is there a way to have a DSU trigger know when a Var is met and then run?
     
  2. manscomgamedesign

    manscomgamedesign

    Joined:
    Feb 17, 2021
    Posts:
    38
    hi

    I found the Dialogue System for Unity can do cutscene by reading the description.
    but I not sure if the created cutscene can share to other gameObject

    for example you can check this cutscene video in this link for reference


    In the video I tried use other cutscene asset to create a cutscene in unity but I found out that asset I used can not change the gameObject value reference during runtime so let say I create a zombie bite cutscene and I want to share this cutscene to the other zombie character. is Dialogue System for Unity can do that?

    Thank You!
    MansCom
     
  3. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    The short answer is: Not directly. But there are solutions.

    Here are three ways to handle this: (The third may be closer to what you're looking for.)

    1. Non-code approach: Use a Condition Observer. This is easy to set up, but it uses a polling approach, so it may not be efficient, especially if you configure it to check the variable value every frame. But if you only have one or two running at a time, it may be fine.


    2. Non-code approach: Use Dialogue System Triggers to increment the variable and invoke OnUse on a separate GameObject that checks the variable value:

    upload_2021-11-13_8-39-33.png

    The Dialogue System Trigger above invokes OnUse on another GameObject named Central Object:

    upload_2021-11-13_8-40-49.png

    This works similarly to this forum post that describes how DemoScene2's Shoot 5 Enemies quest is set up.


    2. Like in C#, Lua doesn't have a built-in when a variable value is changed. In C#, you can handle this by defining a property with getter and setter functions, and adding an event to the setter. Example:

    Code (csharp):
    1. // C# code:
    2. public event System.Action BoltCountChangedEvent;
    3.  
    4. private int numBoltsPulled = 0;
    5.  
    6. public int NumBoltsPulled
    7. {
    8.     get { return numBoltsPulled; }
    9.     set { numBoltsPulled = value; BoltCountChangedEvent(); }
    10. }
    In the Dialogue System's Lua setup, you can write some C# getter and setter functions, and register them with Lua. For example, take these functions:

    Code (csharp):
    1. // C# code registered with Lua:
    2. Lua.RegisterFunction("GetNumBoltsPulled", this, SymbolExtensions.GetMethodInfo(() => GetNumBoltsPulled()));
    3. Lua.RegisterFunction("SetNumBoltsPulled", this, SymbolExtensions.GetMethodInfo(() => SetNumBoltsPulled((double)0)));
    4.  
    5. public event System.Action BoltCountChangedEvent;
    6.  
    7. public double GetNumBoltsPulled()
    8. {
    9.     return DialogueLua.GetVariable("NumBoltsPulled").asInt;
    10. }
    11.  
    12. public void SetNumBoltsPulled(double value)
    13. {
    14.     DialogueLua.SetVariable("NumBoltsPulled", value);
    15.     BoltCountChangedEvent();
    16. }
    Then you can use those getters and setters in a Dialogue System Trigger or conversation:

    upload_2021-11-13_8-51-26.png

    You can set up a Custom Lua Function Info asset so you can select these functions from dropdowns instead of having to type them manually.
     
  4. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Hi - Yes. If you use the Timeline() sequencer command to start a timeline, you can "bind" different GameObjects to tracks. Let's say you've assigned a GameObject named "Zombie A" to track 2 of a Timeline named "Zombie Cutscene".

    You can bind a different GameObject named "Zombie B" to track 2 of Zombie Cutscene like this:

    Timeline(play, Zombie Cutscene, 2:Zombie B)

    See the Timeline() sequencer command reference (linked above) for details.
     
    manscomgamedesign likes this.
  5. Peter_Wackomeida

    Peter_Wackomeida

    Joined:
    Nov 17, 2016
    Posts:
    15

    Thanks, option 2 is what I did, so I'll keep it so.
     
    TonyLi likes this.
  6. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Space Chef First Gameplay Stream + Kickstarter

    Check out Kimchica's first gameplay stream of Space Chef, made with the Dialogue System for Unity and Quest Machine. If you want to back Space Chef on Kickstarter, there are 5 days left.

     
  7. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
  8. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Soul Tolerance on Kickstarter

    Check out the trailer and Kickstarter for Soul Tolerance, made with the Dialogue System for Unity by the team behind Encodya and Clunky Hero (also made with the Dialogue System)!



    Reminder: The Dialogue System for Unity is 50% off in the Asset Store's Black Friday Sale!
     
  9. maswa

    maswa

    Joined:
    Jul 19, 2021
    Posts:
    21
    Hello @TonyLi I just bought your asset and it's really great, I have one problem tho, basically I'm using the Letterbox Dialogue UI, that one for the cinematic dialogue, and basically I have this problem:

    This is before triggering the dialogue with the white capsule:

    Screenshot_2.png

    and so far so good, I trigger the dialogue and my hotbar UI goes away as expected:

    Screenshot_3.png

    but when my conversation ends this happens:

    Screenshot_4.png

    you can see that the hotbar is basically above the letterbox cinematic UI, and I don't know what to edit or what to do

    I have a dialogue system events in which I set to false my UI canvas (including hotbar) when my conversation starts, and when it ends I re-activate it back on true. But it's not what I expect, I expect to show my hotbar when the cinematic letterbox thing is fully done, let me know

    Thanks.
     
  10. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Hi @maswa - Thanks for using the Dialogue System! Is the conversation completely done? Maybe it's stuck on the last dialogue entry node. Here are two ways to confirm:

    1. Open the Dialogue Editor window onto the conversation. At runtime, when that conversation is active the Dialogue Editor will color the current dialogue entry node green. Is the last node still green?

    2. Or set the Dialogue Manager's Other Settings > Debug Level to Info. Then play the scene and the conversation. When the conversation starts, you should see a line like this in the Console:

    Dialogue System: Starting conversation 'title' with actor=XXX and conversant=YYY​

    When the conversation ends, you should see:

    Dialogue System: Conversation ending.​

    Make sure you see the "Conversation ending" message.

    If not, check what is keeping the last node from ending. If it's a node with no text, and if you've turned on a continue button mode, inspect the last node's Sequence field. Click "+" > Simulate Continue Button Click.

    If you do see the "Conversation ending" message, then maybe something happened to your dialogue UI so that it's not finishing its Hide animation. Check its Animator. You can also temporarily assign the Basic Standard Dialogue UI to the Dialogue Manager to see if it behaves differently from the Letterbox UI.
     
  11. maswa

    maswa

    Joined:
    Jul 19, 2021
    Posts:
    21
    Hey tony thanks for the response! Basically I followed along your tips and what I found out is that I had 2 nodes with the <END> keyword and some text on it, so what did I do, I added another empty node marked as <END> with no dialogue text and it's way better, check it out:


    I can't say if the UI is showing when the animation is done, I don't know, but that way is indeed better than before

    UPDATE: I created a script inside my UI canvas, in which I have a coroutine and when my conversation ends, coroutine gets triggered and after half a second it enables the UI canvas
     
    Last edited: Nov 19, 2021
  12. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Hi @maswa - What's the purpose of the final [END] node? Can you remove it and just let the conversations end at either of the test nodes?
     
  13. maswa

    maswa

    Joined:
    Jul 19, 2021
    Posts:
    21
    Hello again, here's what happens if I remove the last node <END>:



    As you can see the conversation ends before all the animations end (of the letterbox cinematic), so the ui appears back when animation's not done, so that's why I add another empty node
     
  14. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Hi @maswa - That's by design to provide notification as soon as the conversation has ended, even if the dialogue UI is playing a hide animation. If you don't want to use that coroutine, you can use the Dialogue Panel's OnClosed() UnityEvent.
     
  15. maswa

    maswa

    Joined:
    Jul 19, 2021
    Posts:
    21
    Thanks for replying, where can I find that if u don't mind telling me
     
  16. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    It's here:

    upload_2021-11-19_11-49-38.png

    If you want to hook into it with code, you can do this (for example, on the player GameObject):

    Code (csharp):
    1. void OnConversationStart(Transform other)
    2. {        DialogueManager.standardDialogueUI.conversationUIElements.mainPanel.onClosed.AddListener(OnDialogueUIClosed);
    3.     Debug.Log("Disable player controls and hide HUD here.");
    4. }
    5.  
    6. void OnDialogueUIClosed()
    7. {
    8.     DialogueManager.standardDialogueUI.conversationUIElements.mainPanel.onClosed.RemoveListener(OnDialogueUIClosed);
    9.     Debug.Log("Re-enable player controls and re-enable HUD here.");
    10. }
     
  17. maswa

    maswa

    Joined:
    Jul 19, 2021
    Posts:
    21
    thanks @TonyLi, I've encountered another thing though:


    as you can see, the bars are not closing properly, they completely disappear in a frame, I don't know why that's happening, I was looking at the animations clip and they are fine, I honestly don't know, can u help me out?
     
  18. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Hi @maswa - Check the animation. Try removing the Canvas Group component from your dialogue UI's Dialogue Panel. It may be that the animation is setting the Canvas Group's Alpha to zero. Also make sure the Standard Dialogue UI component's Conversation UI Elements > Wait For Close checkbox is still ticked.
     
  19. maswa

    maswa

    Joined:
    Jul 19, 2021
    Posts:
    21
    hello again, sorry for the late answer, the box was checked and I tried to remove the canvas group, it's still the same thing, at half animation the black bar goes away... I don't know what to do
     
  20. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Something may be causing the dialogue UI to think the animation is done, so it deactivates the panel. Here are some things to check or try:
    • Are you using the latest version of the Dialogue System? (Version is in the Welcome Window and _README.txt)
    • Are there any errors or warnings in the Console?
    • Does the original, unmodified Letterbox prefab work correctly?
    • As a test, try ticking the Standard Dialogue UI component's Don't Deactivate Main Panel checkbox. This will tell us if the problem is related to deactivating the Dialogue Panel or something else.
     
  21. maswa

    maswa

    Joined:
    Jul 19, 2021
    Posts:
    21
    after some investigation I found out that in the animator the hide animation gets completely cut because the template gets deactivated, there's something deactivating the template too early, where can I find that?

    update:

    when I commented out this line the animation worked correctly.. but it's obviously breaking, so I don't know what to do at this point..

    Screenshot_1.png
     
    Last edited: Nov 20, 2021
  22. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Hi @maswa - That means the animator thinks the hide animation is done.

    Does this also occur if you use the unmodified Letterbox UI and an unmodified version of its Dialogue Panel's animator controller asset?

    What version of Unity and the Dialogue System are you using?

    If you just want to move on without modifying the UIPanel.cs script, you can untick the Dialogue Panel's Deactivate On Hidden checkbox.
     
  23. SI_007

    SI_007

    Joined:
    Aug 10, 2015
    Posts:
    84
    Hi Tony,

    I would have a quick question about the dialogue system.

    What is the correct sequence command format in a conversation to change a dialogue system variable. The documentation lead me to use SetVariable([Started, true]), the "check" is green but the boolean does not change upon starting the conversation. In the condition section within the next dialogue box is (Variable["Started"] == true). Is this correct?

    Thanks! :)
     
  24. maswa

    maswa

    Joined:
    Jul 19, 2021
    Posts:
    21
    Hello, de-activating on hidden checkbox made the trick, unity version is 2020.3.20f1 e dialogue system version is Version 2.2.22, and yes this occurs also with the original prefabs, but doing what u told me worked, I've noticed that the dialogue panel just closes itself at half animation, infact now the animation is complete, so I can see the bar fully going away and not cutting itself, and the UI (which I put as command, to activate on close() with the command u told me above) shows at half animation, so there must be going something on during the animation, or something is breaking
     
  25. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Hi! Variable["Started"] is a Lua variable. While it's possible to set Lua variables in sequences (use SetVariable(Started,true) without brackets), I recommend using the Script field, which is designed for Lua instructions. You don't even need to type anything. Click the "..." and use the dropdowns:

    upload_2021-11-20_11-5-48.png
     
    SI_007 likes this.
  26. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Is it possible that the "Letterbox Dialogue Panel Animator Controller" or "Show Dialogue Panel" animation clip are changed from the original in version 2.2.22?

    What is the Dialogue Manager's Other Settings > Dialogue Time Mode set to? When the conversation is playing/ending, what is the value of Time.timeScale? (In other words, have you paused time during conversations?)

    Can you send a reproduction project to tony (at) pixelcrushers.com?
     
  27. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Dialogue System Tutorials & Online Manual Links

    The Dialogue System for Unity is 50% off in the Black Friday Sale.



    If you've just picked it up, you can find the detailed online manual here and video tutorials here.

    The Quick Start Tutorial is just 6 minutes long and shows you how to set up the Dialogue Manager, create a dialogue database, write a conversation, and set up interaction:



    You can also ask questions and find lots of helpful information on the Pixel Crushers forum.
    Tip: Search for "howto" (one word) and a topic to find how-to articles. For example: "howto set up overhead bubbles".

    Get the Dialogue System for Unity 50% off in the Black Friday Sale.
     
  28. maswa

    maswa

    Joined:
    Jul 19, 2021
    Posts:
    21
    Hey @TonyLi sorry for the late answer but in the end I just used a coroutine to match the show UI after the bars were completely done, I was wondering about another thing, I've set the SetContinueMode on the start sequence, and what if I want to use the E button instead of clicking with the mouse?
     
  29. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Here are two different ways:
    • To configure the E key to click UI buttons in general, add the E key to the 'Submit' input definition in Edit > Project Settings > Input (or the equivalent if you're using a different input system such as Rewired or new Input System). Then tick the Dialogue Manager's Input Device Manager > Always Auto Focus.
    • To configure the E key to only click the continue button, add a UI Button Key Trigger component to the continue button, and set the Key Code to E.
     
  30. maswa

    maswa

    Joined:
    Jul 19, 2021
    Posts:
    21
    Hello @TonyLi thanks, that was what I wanted, another thing.. I started working with the quest chain system aswell, I just finished to watch the 3rd video, I was wondering if I could send a message when an entity dies, for example an enemy, so, whenever the health reaches 0 or he plays the death animation I just send a message, so my counter is gonna be updated.. let me know and thanks again :)
     
  31. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Hi - If the entity is deactivated or destroyed when it dies, you can add an Increment On Destroy component like in the enemies in DemoScene2. (DemoScene2 quest setup overview) Otherwise, if it has a death UnityEvent, you can configure the UnityEvent to call the Increment On Destroy component's TryIncrement() method.
     
  32. maswa

    maswa

    Joined:
    Jul 19, 2021
    Posts:
    21
    Hello - whenever my enemy dies I just disable a couple of components and I destroy it later, not instantly, so the increment on destroy would not suit this situation because the counter would increment when it's destroyed, after 1 m dying for example, I want something that increments whenever a condition is triggered, is that possible?

    About the second part maybe that's what I want, whenever my enemy dies I call the QuestControl.SendMessageToSystem passing the message : parameter, but how do I do that?
     
  33. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Does this mean you're using Quest Machine's quest system? If so, then yes, use QuestControl.SendMessageToSystem if your enemy has an on death UnityEvent. If you want to call it in code, you can use MessageSystem.SendMessage().

    If you're using the Dialogue System's quest system, you can still use an Increment On Destroy component. Set its Increment On dropdown to Custom, and call TryIncrement() when the enemy dies.
     
    maswa likes this.
  34. maswa

    maswa

    Joined:
    Jul 19, 2021
    Posts:
    21
    Yes that worked thanks.

    By the way I just imported the Dialogue System Support on Quest Machine and it threw me a lot of warnings:

    Screenshot_5.png

    what should I do?

    EDIT: Just fixed, apparently when I imported that, it was situated on a different folder than the right one, so I moved it inside the folder with all the packages (supports) and it's working
     
    TonyLi likes this.
  35. Jakuri_F

    Jakuri_F

    Joined:
    Mar 9, 2020
    Posts:
    23
    Hi Tony,
    I want my character move to a target while talking, I'm using

    MoveTo(TestMoveTarget,Player(Clone),5)->Message(moved);
    AnimatorBool(forceMove,true,AnimatorObj);
    SetDialoguePanel(false);
    required AnimatorBool(forceMove,false,AnimatorObj)@Message(moved);
    required SetDialoguePanel(true)@Message(moved)

    as my cutscene sequence, but when my character reaches the target, the dialogue panel appears but goes weird.
    I'll post the screenshots below. Can you help me to fix this? Thank you!

    shown1.png shown2.png shown3.png (And the message panel suddenly appears for a while then disappears, BTW even the mouse cursor is hidden)
     
  36. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Hi @Jakuri_F - Are you trying to animate something on the dialogue UI (1)? Or the character in the game world (2)?

    upload_2021-11-22_13-11-16.png

    If you're trying to animate a character in the game world, your approach is correct. We just need to figure out what's going wrong. If you omit the SetDialoguePanel() sequencer commands, does everything else work properly? If so, try using SetEnabled() instead. For example, give the Dialogue Manager's Canvas a unique name such as DialogueCanvas. Then use: SetEnabled(Canvas,false,DialogueCanvas)

    If you're trying to animate something on the dialogue UI, you may need to do it slightly differently. I've attached an example scene that slides portraits on and off the UI. (Choose the Albert conversation.)
     

    Attached Files:

    Jakuri_F likes this.
  37. maswa

    maswa

    Joined:
    Jul 19, 2021
    Posts:
    21
    Hey @TonyLi where should I handle my quest rewards? If I'm not wrong there is no video about it?

    I was reading the manual but I'm not sure how to set the calls in the scripts, for example the xp one: The reward text will be “x XP”. Upon completion, it will send a message “Add XP:x” It assumes that your player has a script that listens for the message “Add XP”
     
    Last edited: Nov 22, 2021
  38. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Are you using Quest Machine's quest system or the Dialogue System's quest system?

    If you're using Quest Machine's quest system, add actions to the quest's Success node. For example, if you're using an inventory system asset such as Ultimate Inventory System, click on "+" in the Success node's True state > Actions section and select an Ultimate Inventory System action to give an item or currency.

    If you're using the Dialogue System's quest system, click on "..." next to a dialogue entry node's Script field. This is typically the node where the NPC congratulates the player on completing the quest. Then select Custom and a Lua function to give a reward (e.g., uisAddItem() to give an item reward).
     
    maswa likes this.
  39. maswa

    maswa

    Joined:
    Jul 19, 2021
    Posts:
    21
    Hello, where should I add my custom functions? In which component/script?

    And yes I'm using dialogue's system, integrating quest system
     
    Last edited: Nov 22, 2021
  40. GameTech

    GameTech

    Joined:
    Dec 26, 2012
    Posts:
    53
    Hi Tony,

    I'm using the basic standard dialogue UI and when using a 4k resolution everything looks so small. How do you adjust the text and UI to keep the same proportions it normally has when the display resolution changes?
     
  41. maswa

    maswa

    Joined:
    Jul 19, 2021
    Posts:
    21
    Just use the canvas scaler on the image, for example:

    Screenshot_7.png
     
    TonyLi likes this.
  42. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    In the next release, I've added a Canvas Scaler set to 960x600 reference resolution to the default Dialogue Manager prefab's Canvas. But you can set it to whatever you want, like maswa described above.
     
    maswa likes this.
  43. maswa

    maswa

    Joined:
    Jul 19, 2021
    Posts:
    21
    Let me know how to add LUA functions, cause I've opened the script for custom lua functions but understood nothing lol
     
  44. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    If you're using an integration, see the integration's instructions. (link: Third Party Integrations)

    If you're writing your own functions for the Dialogue System, see Registering Functions. (video)

    If you're writing your own actions for Quest Machine, see the manual. (Duplicate QuestActionTemplate.cs and fill in the code where indicated.)

    Please see the video:



    Briefly: You write your functions in C#, and then use one line of code (Lua.RegisterFunction) to make it available in dialogue entries' Scripts and Conditions fields.

    Are you writing your quests in the Dialogue System's Dialogue Editor window > Quests/Items section? If so, write Lua functions that you can use in conversations.

    If you're writing your quests in Quest Machine's Quest Editor window, use Quest Machine's actions instead.
     
    mbussidk and maswa like this.
  45. GameTech

    GameTech

    Joined:
    Dec 26, 2012
    Posts:
    53
    Thanks for the information! I did try the canvas scaler and it fixed the dialogue UI, but it causes the Opsive character controller UI to double their icons and texts. I'm having trouble registering to their forums to ask for help, and was wondering if you happen to know how to fix that?
     
  46. maswa

    maswa

    Joined:
    Jul 19, 2021
    Posts:
    21
    Hey @TonyLi , is this the right way to check if the player has collected the reward from the quest?
    Screenshot_1.png
    asking if there is another way than this
     
  47. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Hi @GameTech - Apply the Canvas Scaler and its settings only to the Dialogue Manager's Canvas(es). Opsive's character controller maintains its own Canvas, which you can leave unchanged.

    upload_2021-11-23_8-14-6.png

    Designers usually put the logic in the conversation:

    upload_2021-11-23_8-30-28.png

    When the player talks to the quest giver NPC, the top 3 branches (Accept quest? Is quest done? You did quest already.) will check their Conditions. For example, the "Is quest done?" node can check if the quest is active:

    upload_2021-11-23_8-32-56.png

    If the quest is active, it will follow the "Is quest done?" branch. From there, the player response menu will show either Yes or No depending on whether the player has completed the quest requirements or not.

    If the player is able to choose Yes, then the "Here is a reward" node's Script field can give a reward. You can use your own C# methods here by registering them as Lua functions. Typically these functions don't do any logic checking. They just do what they're told, such as granting XP:

    upload_2021-11-23_8-36-23.png

    When the player talks to the NPC again, the quest will no longer be active, so the conversation will choose the 3rd branch: "You did the quest already.".
     
    maswa likes this.
  48. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    The Way of Wrath - New Trailer

    Congratulations to Animmal Studios! Publisher Hooded Horse just signed Animmal's barbarian fantasy tactical RPG The Way of Wrath, which is made with the Dialogue System for Unity and Quest Machine, and released a great-looking new trailer through IGN:





    Reminder: You can get the Dialogue System for Unity and Quest Machine for 50% off in the Black Friday Sale!
     
  49. Jakuri_F

    Jakuri_F

    Joined:
    Mar 9, 2020
    Posts:
    23
    I'm trying to animate character in the game world, I used SetEnabled() instead then the message window appeared normally, thank you!
    One more question, is there a way to set scaleX of character in the game world to -1 in the sequence? I use scaleX to control character's direction. LookAt() doesn't work for my 2D game.
     
  50. maswa

    maswa

    Joined:
    Jul 19, 2021
    Posts:
    21
    Thanks for the response, it worked like a charm! I have another question sorry ahahah, I'm trying to give the player some items as quest reward, is there a video or references in the manuals so I can see myself? otherwise can you enlighten me about it?

    Screenshot_1.png