Hello,
I'm trying to customize how the Continue Button works in my project. After going through the documentation and poking around myself while almost breaking my scene irrevocably (thank god for version control), I decided to ask if there might be a solution to my issue.
Essentially, I want the subtitle text and the Continue Button to work differently based on the context:
Case 1: Default
- Goal behavior: On a single Dialogue Entry, pressing the Continue Button before the line has finished its Typewriter effect should skip to the end of the line, and only advance to the next Entry once the Continue Button is pressed the second time.
- Issue: If Continue Button is pressed, the system reads "Delay(1)@Message(Typed)" from my Dialogue Manager's Default Sequence. This means that if you press Continue, the line skips to the end and keeps it there only for 1 second before advancing to the next one.
Case 2: Before Response Menu
- Goal Behavior: On NPC Dialogue Entries that come before the PC Response panel is revealed (and stay on screen as long as the Response Panel is on), pressing the Continue Button once should immediately reveal both the whole NPC line and the PC Response Menu
- Issue: How to set this on this specific context?
Thank you for your time in advance.
How to make Continue Button function context-specific and ignore Default Sequence
-
- Posts: 3
- Joined: Tue Mar 18, 2025 10:02 am
Re: How to make Continue Button function context-specific and ignore Default Sequence
Hi,
No scripting necessary for this.
Set the Dialogue Manager's Display Settings > Subtitle Settings > Continue Button mode to Optional Before PC Response.
Then configure a StandardUIContinueButtonFastForward component on the continue button: How To: Set Up Continue Button Typewriter Fast Forward
If you need more specific behavior, you can use a custom subclass of StandardUIContinueButtonFastForward that overrides OnFastForward to change the behavior. You can check DialogueManager.currentConversationState.hasPCResponses to know if a player response menu is next. If you skip menus when the player only has one line, check hasPCAutoResponse, too.
No scripting necessary for this.
Set the Dialogue Manager's Display Settings > Subtitle Settings > Continue Button mode to Optional Before PC Response.
Then configure a StandardUIContinueButtonFastForward component on the continue button: How To: Set Up Continue Button Typewriter Fast Forward
If you need more specific behavior, you can use a custom subclass of StandardUIContinueButtonFastForward that overrides OnFastForward to change the behavior. You can check DialogueManager.currentConversationState.hasPCResponses to know if a player response menu is next. If you skip menus when the player only has one line, check hasPCAutoResponse, too.
-
- Posts: 3
- Joined: Tue Mar 18, 2025 10:02 am
Re: How to make Continue Button function context-specific and ignore Default Sequence
Hello Tony,
Thank you for the swift and concise response. Sorry for my late follow-up, I had to step away from this feature for a while.
Having successfully tested your suggestion, another question arose. What I would like to now do is to switch between the dialogue lines flowing from one to the next without player input, and only continuing to the next when the Continue Button is pressed.
Off the top of my head, I would do this by manually switching the Dialogue Manager > Display Settings > Subtitle Settings > Continue Button between "Optional Before Response Menu" & "Never".
I created a standard MonoBehaviour script that I attached to the Dialogue Manager itself. This does the job somewhat, but if I make the switch while a line is still being "typed", it isn't registered until after the next line gets launched. So if I switch from "Optional Before Response Menu" to "Never", the system still wants me to press Continue after the current line's been typed before it truly makes the switch.
Before I start digging deeper, I wanted to ask if there is some obvious way to address this, or perhaps I'm scoping too far?
Thank you for the swift and concise response. Sorry for my late follow-up, I had to step away from this feature for a while.
Having successfully tested your suggestion, another question arose. What I would like to now do is to switch between the dialogue lines flowing from one to the next without player input, and only continuing to the next when the Continue Button is pressed.
Off the top of my head, I would do this by manually switching the Dialogue Manager > Display Settings > Subtitle Settings > Continue Button between "Optional Before Response Menu" & "Never".
I created a standard MonoBehaviour script that I attached to the Dialogue Manager itself. This does the job somewhat, but if I make the switch while a line is still being "typed", it isn't registered until after the next line gets launched. So if I switch from "Optional Before Response Menu" to "Never", the system still wants me to press Continue after the current line's been typed before it truly makes the switch.
Before I start digging deeper, I wanted to ask if there is some obvious way to address this, or perhaps I'm scoping too far?
Re: How to make Continue Button function context-specific and ignore Default Sequence
Hi,
Try using DialogueManager.SetContinueMode() instead. There's also an equivalent SetContinueMode() sequencer command that you can use in dialogue entries' Sequence fields. And there's a Conversation Control component with similar methods that you can call to change behavior.
Try using DialogueManager.SetContinueMode() instead. There's also an equivalent SetContinueMode() sequencer command that you can use in dialogue entries' Sequence fields. And there's a Conversation Control component with similar methods that you can call to change behavior.
-
- Posts: 3
- Joined: Tue Mar 18, 2025 10:02 am
Re: How to make Continue Button function context-specific and ignore Default Sequence
Thank you again for your response Tony. Using DialogueManager.SetContinueMode together with a key binding and within a switch statement worked just perfectly. I appreciate you saving me a good chunk of time here.
Re: How to make Continue Button function context-specific and ignore Default Sequence
Glad to help! Any time a quick search of the manual or here on the forum doesn't turn up an answer, feel free to ask. I'm here to help, and it can sometimes save some time.
Tip: Search "HOWTO" (one word) plus a question for helpful articles here on the forum.
Tip: Search "HOWTO" (one word) plus a question for helpful articles here on the forum.