How to make response box appear faster

Announcements, support questions, and discussion for the Dialogue System.
Post Reply
User avatar
gaelgamesdev
Posts: 16
Joined: Wed Jan 19, 2022 11:17 am

How to make response box appear faster

Post by gaelgamesdev »

Hello!

I am trying to make the response box appear faster, as right now it takes like 2-3 seconds to appear and it feels like the game freezes.

Is there any option for that?

I tried using Continue() on the previous node to the player responses, but it just skips the sentence altogether.

Thank you!
User avatar
Tony Li
Posts: 22148
Joined: Thu Jul 18, 2013 1:27 pm

Re: How to make response box appear faster

Post by Tony Li »

Hi,

If you want the response menu to appear as soon as the typewriter finishes, inspect your Dialogue Manager GameObject. Set Display Settings > Subtitle Settings > Subtitle Chars Per Second to 50 and Min Subtitle Seconds to 0.

If your subtitle text GameObject's typewriter effect is set to a different Characters Per Second value, set Subtitle Settings > Subtitle Chars Per Second to the same value.

Explanation:

The Dialogue System shows a subtitle for the duration of its Sequence. When the Sequence is done, it progresses to the next stage of the conversation, which in this case is the response menu.

If a dialogue entry node's Sequence field is blank, it will use the Dialogue Manager's Display Settings > Camera & Cutscene Settings > Default Sequence. The initial value of Default Sequence is:

Code: Select all

Delay({{end}})
This delays for the duration specified by the special keyword {{end}}. The value of {{end}} is based on the text length and Subtitle Chars Per Second. For example, if your text is 150 characters and Subtitle Chars Per Second is 30, then it will wait for 150/30 = 5 seconds.

However, if your typewriter effect (which is on the dialogue UI's Subtitle Text GameObject(s)) is set to 50 Characters Per Second, the typewriter will finish after 150/50 = 3 seconds. This means the subtitle will wait an extra 2 seconds to give the player time to finish reading. If you set Subtitle Settings > Subtitle Chars Per Second to 50, the subtitle will finish as soon as the typewriter finishes.

If you don't want to use a typewriter effect, you can remove it from the Subtitle Text GameObject(s). Feel free to change the Dialogue Manager's Default Sequence, too. You could set it to an absolute value, such as this to delay 1 second:

Code: Select all

Delay(1)
Or even something completely different. For example, DemoScene1's Default Sequence plays audio using the AudioWait() sequencer command.

Also, you can enable continue buttons if you'd like players to be able to advance the conversation at their own pace. On the Dialogue Manager, set Subtitle Settings > Continue Button to Always.
User avatar
gaelgamesdev
Posts: 16
Joined: Wed Jan 19, 2022 11:17 am

Re: How to make response box appear faster

Post by gaelgamesdev »

Thank you! I solve it!

The problem was that my typewriter and dialogue manager had different subtitle "chars per second" values. Setting both to 50 as you pointed out, made the response box appear as soon as the sentence finished typing.

Thank you for the help! :D
User avatar
Tony Li
Posts: 22148
Joined: Thu Jul 18, 2013 1:27 pm

Re: How to make response box appear faster

Post by Tony Li »

Glad to help!
Post Reply