Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice

[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,686
  2. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,686
  3. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,686
    While The Iron's Hot - Out Now!

    Bontemps Games' blacksmithing RPG While The Iron's Hot, made with the Dialogue System for Unity and Quest Machine, is out now on Switch, Xbox, PlayStation, Steam, and Humble:



    Reminder - The Cyber Week Sale ends soon. Get the Dialogue System for Unity and Quest Machine for 50% off until the sale ends.
     
    Last edited: Dec 5, 2023
  4. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,686
    Vivarium - First Look / While The Iron's Hot - #3 on Steam's New & Trending

    Check out the first trailer of Vivarium, made with the Dialogue System for Unity. The trailer just debuted at Wholesome Snack 2023:



    ---

    Congratulations to Bontemps Games' While The Iron's Hot, made with the Dialogue System for Unity and Quest Machine. It's #3 on Steam's New & Trending list.

     
  5. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,686
    Chaosmonger Releases Soul Tolerance

    Congratulations to Chaosmonger Studio on today's release of the highly-anticipated cyberpunk voxel art adventure Soul Tolerance, made with the Dialogue System for Unity! Chaosmonger is also the studio behind Three Minutes To Eight and Clunky Hero, both also made with the Dialogue System.

     
  6. arimintzu

    arimintzu

    Joined:
    Jan 7, 2019
    Posts:
    7
    Markup tag [pic=#] etc not working when using I2Localization support plugin.
     
  7. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,686
    Hi! I just confirmed that the [pic=#] tag works when importing i2 translations into the dialogue database (DS To i2 window's From I2 button) and when using translations at runtime (Dialogue System Use I2 Language component's Use I2 Language At Runtime checkbox).

    Does your translated text still have the [pic=#] tag? Your translators should not remove this tag from the text.

    If that's not the issue, please tell me how I can reproduce the issue you're seeing.
     
  8. halley

    halley

    Joined:
    Aug 26, 2013
    Posts:
    2,410
    Hey, @TonyLi still loving your Dialogue System.

    I recently started to split my monolithic scene into an "always present" portion and an additive "current level" portion, and ran into a situation where the Dialogue System was deciding to create an EventSystem for everyone to use before my preferred one finished loading. This of course leads to the dreaded "There are 2 event systems in the scene. Please ensure there is always exactly one event system in the scene" warning message spamming the console. Auto-creating an EventSystem is problematic when using the new Input System, since it probably won't point to the right input asset.

    Since you don't really need an EventSystem until the user can possibly interact, I found it useful and sufficient in my case to edit StandardUIQuestLogWindow.cs and move one line out of Awake() and into an Open() override:

    Code (CSharp):
    1. public override void Open()
    2. {
    3.      if (addEventSystemIfNeeded) UITools.RequireEventSystem();
    4.      base.Open();
    5. }
    There seem to be some other similar patterns in the codebase, but haven't seen if the change is still that simple or even necessary. It might be useful to you as well.
     
  9. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,686
    Hi! There are two places that use addEventSystemIfNeeded: StandardUIQuestLogWindow and StandardDialogueUI. I'll move both of them from Awake() to Open(). That won't hurt anything.

    Alternatively, if someone wants to prevent these scripts from checking for an EventSystem, you can untick the Add Event System If Needed checkbox.
     
  10. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,686
    Eternights - Nominated for PlayStation.Blog Indie Game of the Year

    If you're a fan of Eternights, made with the Dialogue System for Unity, give it a vote for Indie Game of the Year on Sony's PlayStation.Blog site.

     
  11. halley

    halley

    Joined:
    Aug 26, 2013
    Posts:
    2,410
    Yeah, I almost left the code alone and agree individual users could/should control things their way with the flag. I just suggested the code change so that the automatic approach would be safer in more circumstances.
     
  12. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,686
    Agreed! I'll make the change in the next release.
     
  13. WittyKyrie

    WittyKyrie

    Joined:
    Aug 21, 2021
    Posts:
    4
    I would like to know if there is a way for me to control whether the character names are displayed for each subtitle.
     
  14. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,686
    Hi! The easiest way is to create two subtitle panels -- one with a Portrait Name and one without. If you want, you can assign the same UI elements to both subtitle panels and just not assign Portrait Name to one of them. (Remember to assign both subtitle panels to the dialogue UI's Standard Dialogue UI component > Conversation UI Elements > Subtitle Panels list.) Then use the [panel=#] markup tag in your text when you want to use the non-default subtitle panel, or use the SetPanel() sequencer command if you want to make the change permanent. If you always want a specific character to use a specific panel, add a Dialogue Actor component to its GameObject and set Dialogue UI Settings > Subtitle Panel Number.
     
  15. halley

    halley

    Joined:
    Aug 26, 2013
    Posts:
    2,410
    TonyLi, this quote is a post from 2018, I am sure you're tired of this FAQ but searching the forums isn't as clear as we would like.

    If I am not using any of the Save System components, but I want a save of the Dialogue System database, is this post still pretty much all I need to do, in the latest versions?

    It looks like PersistentDataManager.Reset() is the right call for "New Game", returning everything back to the stock as-shipped original database state, correct?

    And just out of curiosity for benchmarking, do you have any figures for how big this LUA dump string will be for the average dialogue-rich game? Are we talking 10 megabytes in a single string? Is it a delta from the stock original database, or is it a full copy of the database including things the player's never touched?
     
  16. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,686
    Hi @halley! Yes, PersistentDataManager.GetSaveData() and ApplySaveData() are correct to save just the runtime dialogue database info. Use DialogueManager.ResetDatabase() to reset. (See Dialogue Database-Only Save.)

    It won't be 10 MB. It's mostly a delta, although if you're using SimStatus it will be larger.
     
    halley likes this.
  17. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,686
    Dialogue System for Unity - 50% Off

    upload_2023-12-18_14-53-21.jpeg


    Happy Holidays!

    The Dialogue System for Unity is 50% off in the Asset Store's New Year Sale! If your New Year's resolution is to make your dream game, the Dialogue System can give you a head start on dialogue and quests.

    Here are just a few of the many games released in 2023 that use the Dialogue System:

    upload_2023-12-18_14-50-53.png


    The Dialogue System Addon for OpenAI (and ElevenLabs and Dialogue Smith), Quest Machine, and Love/Hate are also 50% off!
     
    kdgalla likes this.
  18. alexgemini002

    alexgemini002

    Joined:
    Jan 15, 2020
    Posts:
    24
    dear developer,is it possible to have a official "survival engine" and quest machine integration package,I know this is dialogue forums,but since quest machine didn't have a forums,I post it here.
     
  19. TonyLi likes this.
  20. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,686
  21. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,686
    Chaosmonger's Three Minutes To Eight Now on Consoles & Mobile

    Congratulations to Chaosmonger on the release of the Very Positive-rated Three Minutes To Eight, made with the Dialogue System for Unity, on PlayStation, Xbox, Nintendo Switch, and iOS! You can also play it on Steam and GOG.






    Reminder - The Dialogue System for Unity is 50% off in the New Year Sale. If you want a AAA-quality dialogue system that works across all platforms for your game, you can get it at a steal right now.
     
  22. alexgemini002

    alexgemini002

    Joined:
    Jan 15, 2020
    Posts:
    24
    TonyLi likes this.
  23. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,686
    Dialogue System 2.2.42 Released!

    Version 2.2.42 is now available on the Asset Store! It's also 50% off in the New Year Sale.


    Release Notes:
    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.
     
  24. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,686
    Dialogue System Addon for OpenAI - Version 1.0.9 Released w/Overtone Integration

    Version 1.0.9 of the Dialogue System Addon for OpenAI is now live on the Asset Store with new integration for Overtone offline speech synthesis.



    The Dialogue System and the Addon for OpenAI are both 50% off in the New Year Sale! Quest Machine and Love/Hate are 50% off, too.
     
  25. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,686
    Updated Ink Integration Available

    upload_2024-1-2_9-11-38.png
    The Dialogue System Extras page has an updated Ink integration that adds a Bark Ink On Idle component. You can now write idle barks using Ink!

    If you prefer to keep your workflow in Unity, you can of course use the Dialogue System's powerful built-in editor, or use other external editors such as articy:draft, Arcweave, Celtx, Chat Mapper, Twine, Yarn, and more. (Or use the Addon for OpenAI to write the dialogue for you!)

    The Dialogue System for Unity is 50% off in the New Year Sale. The Addon for OpenAI, Quest Machine, and Love/Hate are also 50% off.

     
  26. EpicMcDude

    EpicMcDude

    Joined:
    Apr 15, 2013
    Posts:
    117
    Hello,

    Need some help with an issue that started happening and I'm not sure why!

    I have the Save System component in my Dialogue Manager game object prefab, that is ticked to 'Don't Destroy On Load'. I have a Scene that if I double-click on it and click Play in the Editor, the Dialogue Manager works fine, no errors.
    upload_2024-1-6_18-25-14.png
    But if I load this scene from another scene, then the Dialogue Manager object deletes itself and the Save System object gets instantiated along with this error:

    The prior scene does not have any Save System or Dialogue Manager since it's just an intro cutscene, there's nothing in there that persists to the following scene.

    I pause the editor before loading the scene and this is the frame after loading the scene
    upload_2024-1-6_18-30-47.png
    And the frame after, the Dialogue Manager deletes itself
    upload_2024-1-6_18-32-10.png

    The Editor also pauses itself after giving the error above. Would you have any idea how to fix this?
    Thanks!
     

    Attached Files:

    Last edited: Jan 6, 2024
  27. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,686
    Hi @EpicMcDude - Three Dialogue System components will destroy their GameObjects if they Awake to find an existing instance of itself: DialogueSystemController, InputDeviceManager, and SaveSystem.

    The error message suggests that you're using a pretty old version of the Dialogue System. That message shouldn't appear in more recent versions. In really old versions, calls to any SaveSystem methods would instantiate a default Save System GameObject, which may be what's happening here. Can you back up your project and update to the current version? If not, then put a copy of your Dialogue Manager in the first scene. This will prevent the save system from needing to create a default Save System GameObject.
     
    EpicMcDude likes this.
  28. EpicMcDude

    EpicMcDude

    Joined:
    Apr 15, 2013
    Posts:
    117
    Thanks, Tony. I was running the version from August and while updating the asset didn't fix the issue, putting my Dialogue Manager on the scene did! But it's weird since I never had it in that scene and all of the sudden it started giving me this error. None of those components exist in my intro cutscene Scene, so I don't know why it started deleting itself when loading the next Scene.
    Clicking on the symbol next to the name of the object in Hierarchy would lead me to this block of code:

    Code (CSharp):
    1. public static DataSerializer serializer
    2. {
    3.     get
    4.     {
    5.         if (m_serializer == null)
    6.         {
    7.             m_serializer = instance.GetComponent<DataSerializer>();
    8.             if (m_serializer == null && !m_isQuitting)
    9.             {
    10.                 Debug.Log("Save System: No DataSerializer found on " + instance.name + ". Adding JsonDataSerializer.", instance);
    11.                 m_serializer = instance.gameObject.AddComponent<JsonDataSerializer>();
    12.             }
    13.         }
    14.         return m_serializer;
    15.     }
    I don't know, I just found it weird that even when the Save System component was in the game object itself along with the Dialogue System Controller and Json Data Serializer component, it would still delete and instantiate a new one
     
  29. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,686
    Hi @EpicMcDude - Same reason. Something (presumably something newly added to the scene) was calling a Save System method, which was causing the Save System to instantiate a GameObject for itself because there wasn't already one in the scene. Putting the Dialogue Manager in the scene ensured that there's a Save System. Anyway, glad you got it working again!
     
    EpicMcDude likes this.
  30. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,686
    Dialogue System for Unity 50% Off - Final 24 Hours

    upload_2024-1-9_10-53-18.png

    The New Year's Sale ends in just 24 hours. The Dialogue System for Unity, Addon for OpenAI, Quest Machine, and Love/Hate are all 50% off until then. Use code NYS10 for an extra 10% off if your cart is $100+.



    If your New Year's resolution is to turn the story in your head into your dream game, the Dialogue System, Quest Machine, and Love/Hate can help!
     
  31. bibbisaurus

    bibbisaurus

    Joined:
    Nov 11, 2021
    Posts:
    7
    TonyLi What is the difference and relationship between articy:draft X and the Dialogue System for Unity? If I subscribe to articy:draft X and use the articy:draft X Importer package from the asset store, does it give me everything that Dialogue System for Unity does?

    It's really confusing how the articy products work together. Maybe a product feature matrix or explanation on the asset store page would help. Thanks!
     
  32. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,686
    articy:draft is just an editor -- a very good editor, but just an editor. It also has a Unity plugin that lets you access your articy project's data in Unity.

    The Dialogue System for Unity, on the other hand, is a complete dialogue system. It has an editor, but it also has these features that articy doesn't have:
    • a quest system
    • an interaction and triggering system to start conversations, barks, quests, etc.
    • a UI system for displaying conversations, barks, quest HUDs and journal windows, etc.
    • a cutscene sequencing system for camerawork, animation, audio, etc., during conversations and barks
    • a save system for saving the states of your dialogue variables, quest states, etc.
    • integrations with all of the popular frameworks such as Adventure Creator, Corgi, RPG Builder, etc.
    • and quite a bit more.
    The Dialogue System can also import articy:draft 1.x, 2.x, and 3.x projects into the Dialogue System's own database format. It's what games like Disco Elysium uses to bring their articy:draft 3.x project data into Unity and run it. Articy:draft X was just recently released; I'm still updating the importer to handle it.

    While articy:draft certainly isn't required to use the Dialogue System, they make a powerful combination. Articy has some features that the Dialogue System doesn't have, such as the option for a server-based multiuser editing environment and the fact that it's not in Unity, so your writers don't also have to learn how to use Unity in addition to learning an editor.
     
  33. bibbisaurus

    bibbisaurus

    Joined:
    Nov 11, 2021
    Posts:
    7
    Thanks Tony, this is very useful.

    Will roundtripping be supported? Can I use articy:draft to write the original dialog, then import to Unity and make changes, export back out and continue editing in articy:draft?
     
  34. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,686
    No. Articy:draft doesn't support reimport. If you decide to use articy:draft, you should treat it as the authoritative source. This is also just a safer practice for versioning anyway so you don't end up with some dialogue changes in articy and other conflicting changes in Unity.

    Reminder: Version 2.2.42 doesn't yet support articy:draft X. It's in the works. Currently articy:draft 1, 2, and 3 are supported.
     
  35. bibbisaurus

    bibbisaurus

    Joined:
    Nov 11, 2021
    Posts:
    7
    Ok. If it's one way with X being the authoritative source, can I keep reimporting (when importer available) into Unity and it will update? Or all the other Unity systems need to be reconfigured each time I import?

    Any timeline on the X importer?
     
  36. bibbisaurus

    bibbisaurus

    Joined:
    Nov 11, 2021
    Posts:
    7
    Will some/all of X's localization features eventually be implemented in Dialog System for Unity and/or Dialogue System Addon for OpenAI? We need to generate text and VO for other languages and X looks like a good solution, but we are all on macOS using Unity so the Unity setup works out of the box for us.
     
  37. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,686
    It will update. No need to reconfigure other Unity systems.

    As soon as possible. It's the main focus of development right now.

    The articy:draft 3 importer supports articy:draft 3's localization and voiceover plugins, and I plan to do the same for articy X.

    I'm not sure exactly what you mean regarding macOS. To my knowledge, articy X doesn't run on Mac yet. If you mean your writers will use articy X on Windows and then you'll add VO and localization in Unity, that's possible.
     
  38. bibbisaurus

    bibbisaurus

    Joined:
    Nov 11, 2021
    Posts:
    7
    Perfect

    It means the advantage of the Dialog System for Unity is that it works on Mac whereas X does not so it's easier to adopt.

    But I think we will use both since we will be able to reimport once the importer is updated. Thanks for taking the time to answer all the questions. We have the Dialog System add-on, bought the OpenAI add-on and will also buy X.
     
    TonyLi likes this.
  39. AntLewis

    AntLewis

    Joined:
    Feb 2, 2010
    Posts:
    254
    Hi there, just purchased Dialogue System - quick question I can't seem to find an answer to - is there an easy way to change the delay between showing lines of dialogue? Cheers
     
  40. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,686
    Sounds good. Thanks!

    Hi!

    Short answer: On the Dialogue Manager GameObject, increase Display Settings > Subtitle Settings > Subtitle Chars Per Second and decrease Min Subtitle Seconds.

    Longer answer: Each line (subtitle) stays onscreen for the duration of its Sequence. (More info: Cutscene Sequences) If the dialogue entry's Sequence field is blank, it uses the Dialogue Manager GameObject's Camera & Cutscene Settings > Default Sequence. The initial value of Default Sequence is: Delay({{end}}). This delays for the duration specified by the special keyword {{end}}, which is based on the text length, Subtitle Chars Per Second, and Min Subtitle Seconds. You can change an individual dialogue entry's Sequence or the Dialogue Manager's Default Sequence (or even the Default Sequence in an individual conversation using Menu > Conversation Properties in the Dialogue Editor). For example, to always delay for 2 seconds, set Default Sequence to: Delay(2).
     
  41. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,686
  42. halley

    halley

    Joined:
    Aug 26, 2013
    Posts:
    2,410
    Tony, I am currently using the "accumulate text" option but am wanting to get away from having any mouse/scrolling issues when the conversation runs a little longer.

    I'd like to reduce the layout to include just these items:

    * player's previous response text (if any) in a separate text style or container
    * npc's next text
    * player's next response choice(s) as buttons

    Hopefully that lets the player have some continuity in remembering what choice they made, without building any issues with scrollback of five or six cycles of npc/pc text.

    Without the "accumulate text" option, the player's previous response text appears in the same style as the NPC's next text, and then disappears, so it's visually not very distinct.

    What's my likely route to achieve this? Hack up / extend the Subtitle Panel controller class? A tricky bit of Lua?
     
    Last edited: Jan 25, 2024
  43. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,686
    Hi @halley - What if you were to set the subtitle panel's Max Lines to 3? That's the simplest approach. It approximates what you're looking for, but it's not exactly what you described.

    Alternatively, make a subclass of StandardUISubtitlePanel and override the SetContent() method. You can replace the StandardUISubtitlePanel component with your extended subclass in-place. See this post. Note: StandardUISubtitlePanel has a custom inspector. If you add variables that should be visible in your subclass's inspector, also extend StandardUISubtitlePanelEditor.
     
    halley likes this.
  44. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,686
  45. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,686
    Storyteller's Festival on Steam - Lots of Dialogue System-Powered Games

    The Storyteller's Festival is on Steam through February 4. Lots of Dialogue System-powered games are in the festival, including among many others:

    upload_2024-1-30_14-2-9.png

    Check them out and pick them up while they're on sale.

    If you have a story that you can't wait to get out of your head and into a game, the Dialogue System, Quest Machine, and all Pixel Crushers assets are still 50% off until tomorrow at 8 AM PST.
     
  46. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,686
    Dialogue System-Powered Games in Steam Next Fest

    Lots of games using the Dialogue System are in Steam's Next Fest right now! Here are just two really interesting ones:

    BIOMORPH


    Diets & Deities
     
  47. GrassWhooper

    GrassWhooper

    Joined:
    Mar 25, 2016
    Posts:
    108
    Hey Small question

    Code (CSharp):
    1.     public void Awake()
    2.     {
    3.         Debug.Log(GetParameter(0) + " :: " + DateTime.Now.ToString(), gameObject);
    4.         Stop();
    5.     }
    i have this custom sequencer command C# script

    and i have this sequencer code in my first dialogue entry (node).

    JGDebug(startbelow);
    JGDebug(byEnd)@{{end}};
    JGDebug(byTyped)@Message(Typed);

    In the console i get this

    upload_2024-2-11_16-26-27.png

    I noticed that the byTyped is Almost one second earlier than the byEnd

    and this makes almost no sense to me.

    i mean, the sequence does not have any extra delays or whatever, so i am not sure why the "End" is longer than the "Typed" by almost one second.
    it is a small issue that is driving me a bit crazy, i am unsure which one to use tbh, like what is the difference between both?
    "{{end}}" and "@Message(Typed)"
    i expected them both to have same or equal time, when the sequence does not have any delays.
     
  48. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,686
    Hi! Please see: How To: Control the Duration of Subtitle Text. It explains it all in detail.

    Briefly: {{end}} is based on the Dialogue Manager's Subtitle Settings > Subtitle Chars Per Second, which is independent of the typewriter effect's Characters Per Second. If you want them to be the same (in all but special cases such as using RPG Maker-style typewriter control codes in text), set both to the same value.
     
    GrassWhooper likes this.
  49. GrassWhooper

    GrassWhooper

    Joined:
    Mar 25, 2016
    Posts:
    108
    Thank you, that cleared it up
     
  50. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,686
    Glad to help!