Responses lag

Announcements, support questions, and discussion for the Dialogue System.
User avatar
rauljl1
Posts: 55
Joined: Fri Apr 15, 2022 7:40 pm

Responses lag

Post by rauljl1 »

Hi Tony.

My responses buttons take too long to appear.

Basically, I want they to appear after all the text is shown.

Im using textAnimator with dialogue system

So, I want they to appear after this -> textAnimator.allLettersShown;
User avatar
Tony Li
Posts: 22110
Joined: Thu Jul 18, 2013 1:27 pm

Re: Responses lag

Post by Tony Li »

Hi,

Set up the Text Animator integration. (See the Additional Setup section.)

Then set your Sequence to something like:

Code: Select all

WaitForMessage(Typed)
User avatar
rauljl1
Posts: 55
Joined: Fri Apr 15, 2022 7:40 pm

Re: Responses lag

Post by rauljl1 »

What I want is for the "response buttons" to be displayed when the text has been typed. Without a delay or something like that. How do I do that?
User avatar
Tony Li
Posts: 22110
Joined: Thu Jul 18, 2013 1:27 pm

Re: Responses lag

Post by Tony Li »

Exactly as I wrote above. :-)

If you require the player to click a continue button to advance, use this command instead:

Code: Select all

Continue()@Message(Typed)
Both of them rely on the sequencer message "Typed", which the Text Animator integration sends when Text Animator finishes typing.
User avatar
rauljl1
Posts: 55
Joined: Fri Apr 15, 2022 7:40 pm

Re: Responses lag

Post by rauljl1 »

There is no continue button. The NPC Subtitle Panel displays, the text fills and once it fills, there is an offset until the Response Menu Panel displays.

I want to eliminate that offset. I want the Response Menu Panel to be displayed as soon as all the text is filled out.
User avatar
Tony Li
Posts: 22110
Joined: Thu Jul 18, 2013 1:27 pm

Re: Responses lag

Post by Tony Li »

Then you must do what I suggested above. Use WaitForMessage(Typed) for the sequence.

More explanation if you want it: How To: Control the Duration of Subtitle Text
User avatar
rauljl1
Posts: 55
Joined: Fri Apr 15, 2022 7:40 pm

Re: Responses lag

Post by rauljl1 »

What I want is for the buttons below to appear at the same time the timer starts.
The timer starts just when the text has just been written, but the buttons appear maybe 1sec after or some delay after.
problem.gif
problem.gif (184.15 KiB) Viewed 487 times
User avatar
Tony Li
Posts: 22110
Joined: Thu Jul 18, 2013 1:27 pm

Re: Responses lag

Post by Tony Li »

Got it.

Please answer: Are you using the "Typed" message in a sequencer command, such as WaitForMessage(Typed)?

I assume the timer is the StandardUIMenuPanel's Timer slider? If not, let me know.

The menu delay may be because of a "Show" animation on your response menu panel. To remove this, inspect the response menu panel and remove the Animator component and Canvas Group component. Then inspect the StandardUIMenuPanel component and clear the Show Animation Trigger and Hide Animation Trigger fields.
User avatar
rauljl1
Posts: 55
Joined: Fri Apr 15, 2022 7:40 pm

Re: Responses lag

Post by rauljl1 »

I'm not sur if i'm using the "Typed" message in a sequencer command, such as WaitForMessage(Typed)

And also I implement some timer just because I dont' know where the Responses are shown.

What Should I do? I remove show/hide but the problem persist, so I discard changes.
a.png
a.png (83.64 KiB) Viewed 467 times
User avatar
Tony Li
Posts: 22110
Joined: Thu Jul 18, 2013 1:27 pm

Re: Responses lag

Post by Tony Li »

Hi,

On your Dialogue Manager GameObject, what is your Display Settings > Camera & Cutscene Settings > Default Sequence set to?

Have you set the Sequence fields of any dialogue entries in your conversations?

Try setting the Dialogue Manager's Default Sequence to:

Code: Select all

WaitForMessage(Typed)
NOTE: This will NOT work if you haven't switched your subtitle panel to the "Text Animator Subtitle Panel" as explained in the Text Animator integration documentation.

---

Assign the slider to the Standard UI Menu Panel component's Timer Slider field. To specify the timer duration, set the Dialogue Manager's Display Settings > Input Settings > Response Timeout value and/or use the SetTimeout(#) sequencer command.
Post Reply