Cancel Subtitle Input Makes Text Input Fields Unusable
Cancel Subtitle Input Makes Text Input Fields Unusable
Hi!
I am using cancel subtitle input to skip typewriter, however i realised it also skips my text input field when I select it, making it unusable. Is there a way to make it not respond to cancel subtitle input?
Love the tool so far and thanks in advance!
I am using cancel subtitle input to skip typewriter, however i realised it also skips my text input field when I select it, making it unusable. Is there a way to make it not respond to cancel subtitle input?
Love the tool so far and thanks in advance!
Re: Cancel Subtitle Input Makes Text Input Fields Unusable
Hi,
Thanks for using the Dialogue System!
I recommend setting the Dialogue Manager's Input Settings > Cancel Subtitle Input and Cancel Conversation Input to None. Instead, use a continue button:
To disable the continue button during TextInput(), you can set the SetContinueMode() sequencer command.
Also maybe helpful: How To: Read Input From Player During Conversations.
Thanks for using the Dialogue System!
I recommend setting the Dialogue Manager's Input Settings > Cancel Subtitle Input and Cancel Conversation Input to None. Instead, use a continue button:
To disable the continue button during TextInput(), you can set the SetContinueMode() sequencer command.
Also maybe helpful: How To: Read Input From Player During Conversations.
Re: Cancel Subtitle Input Makes Text Input Fields Unusable
Thanks for useful links. The ContinueFastForward script method could be easily adjusted to suit my needs. I just made it fast the typewriter forward and never progress dialogue. Works like a charm 

Re: Cancel Subtitle Input Makes Text Input Fields Unusable
Scratch that. Now i've noticed that this approach won't show my responses sooner...
So here's what I am trying to do in more detail.
I have a branching narrative with different responses after each Dialogue Entry. I do not use continue buttons. I have a typewriter effect which does its job however I want the player to be able to fastforward that - get all text visible + be able to choose from responses sooner. And it can be achieved by multiple approaches: cancel subtitle input (that you dont recommend) being one, the ContinueFastForward being the other (there are a few more I think). However those methods skip the text input field with what is already in there without the option to change it.
I thought i could work around that with ContinueFastForward that only skips typewriter (input works then), but of course then I have to wait regular amount of time (long) for response panel to pop out.
I am scratching my head unsure how to proceed. How do I speed up the response choice + typewriter without skipping the input field?
So here's what I am trying to do in more detail.
I have a branching narrative with different responses after each Dialogue Entry. I do not use continue buttons. I have a typewriter effect which does its job however I want the player to be able to fastforward that - get all text visible + be able to choose from responses sooner. And it can be achieved by multiple approaches: cancel subtitle input (that you dont recommend) being one, the ContinueFastForward being the other (there are a few more I think). However those methods skip the text input field with what is already in there without the option to change it.
I thought i could work around that with ContinueFastForward that only skips typewriter (input works then), but of course then I have to wait regular amount of time (long) for response panel to pop out.
I am scratching my head unsure how to proceed. How do I speed up the response choice + typewriter without skipping the input field?
Re: Cancel Subtitle Input Makes Text Input Fields Unusable
Hi,
It sounds like you want the continue button to immediately progress to the response menu when clicked.
When you're using the StandardUIContinueButtonFastForward component and you click the continue button:
Also relevant if you're not using continue buttons: How To: Control the Duration of Subtitle Text
It sounds like you want the continue button to immediately progress to the response menu when clicked.
When you're using the StandardUIContinueButtonFastForward component and you click the continue button:
- If the typewriter is currently typing, it advances the typewriter to the end of the text.
- If the typewriter has finished typing and is already at the end of the text, it progresses to the response menu.
Also relevant if you're not using continue buttons: How To: Control the Duration of Subtitle Text
Re: Cancel Subtitle Input Makes Text Input Fields Unusable
Yes but forcing the player to click on the button to fast forward is not what I want to do UX wise. I want to allow him to click wherever or use a key on console(invisible UI button that takes whole screen is not that elegant either).
Even still, this approach progresses the text input field for me... Can I exclude it from the AbstractDialogueUI.OnContinue() method somehow ?
Even still, this approach progresses the text input field for me... Can I exclude it from the AbstractDialogueUI.OnContinue() method somehow ?
Re: Cancel Subtitle Input Makes Text Input Fields Unusable
Hi,
If you use an invisible fullscreen continue button, SetContinueMode(false) will disable it during the TextInput() command. When the TextInput() command is done, the conversation will automatically progress to the next node since it's not waiting for a continue button click.
If you don't want to use a continue button at all, then you don't need to use SetContinueMode() either. Just set the Dialogue Manager's Subtitle Settings > Continue Button mode to Never. The conversation will automatically advance as soon as the dialogue entry node's Sequence is done. (More info in the How To: Control the Duration of Subtitle Text link above.)
If you want to wait for the player to press an input without using an invisible fullscreen continue button, set the Dialogue Manager's Continue Mode to Always. Then add a script to your subtitle panel that calls its OnContinue() method when the script detects whatever input you specify.
If you use an invisible fullscreen continue button, SetContinueMode(false) will disable it during the TextInput() command. When the TextInput() command is done, the conversation will automatically progress to the next node since it's not waiting for a continue button click.
If you don't want to use a continue button at all, then you don't need to use SetContinueMode() either. Just set the Dialogue Manager's Subtitle Settings > Continue Button mode to Never. The conversation will automatically advance as soon as the dialogue entry node's Sequence is done. (More info in the How To: Control the Duration of Subtitle Text link above.)
If you want to wait for the player to press an input without using an invisible fullscreen continue button, set the Dialogue Manager's Continue Mode to Always. Then add a script to your subtitle panel that calls its OnContinue() method when the script detects whatever input you specify.
Re: Cancel Subtitle Input Makes Text Input Fields Unusable
I ended up using the script method with OnContinue(); and checking for inputField.activeSelf to not skip when it's active. It works.
However I found another issue which is: if my conversation is long, my typewriter starts typing not from the beginning but from like 2nd line? then 3rd line? For the first few entries it is proper - starting typing from char 1, but then it starts skipping major parts of entries beginnings. Any idea what the issue might be? btw I am using a scrolling dialogue UI
However I found another issue which is: if my conversation is long, my typewriter starts typing not from the beginning but from like 2nd line? then 3rd line? For the first few entries it is proper - starting typing from char 1, but then it starts skipping major parts of entries beginnings. Any idea what the issue might be? btw I am using a scrolling dialogue UI
Re: Cancel Subtitle Input Makes Text Input Fields Unusable
Hi,
Is your subtitle panel's Accumulate Text checkbox ticked? It's ticked by default in the Scrolling Dialogue UI prefab.
For the Subtitle Text GameObject, are you using a UI Text component and UnityUITypewriterEffect? Or have you switched it to TextMeshProUGUI and TextMeshProTypewriterEffect?
When Accumulate Text is ticked, the typewriter will start typing at the new dialogue entry's text. For example, say you have two dialogue entries:
When the conversation progresses to entry [2], it should show "Hello." immediately and then start typing "Welcome to my game."
Is your subtitle panel's Accumulate Text checkbox ticked? It's ticked by default in the Scrolling Dialogue UI prefab.
For the Subtitle Text GameObject, are you using a UI Text component and UnityUITypewriterEffect? Or have you switched it to TextMeshProUGUI and TextMeshProTypewriterEffect?
When Accumulate Text is ticked, the typewriter will start typing at the new dialogue entry's text. For example, say you have two dialogue entries:
- [1] Dialogue Text: "Hello."
- [2] Dialogue Text: "Welcome to my game."
When the conversation progresses to entry [2], it should show "Hello." immediately and then start typing "Welcome to my game."
Re: Cancel Subtitle Input Makes Text Input Fields Unusable
- I have Accumulate Text checkbox ticked.
- I switched to TextMeshProUGUI and TextMeshProTypewriterEffect.
So I don't have an issue with accumulation itself just that after some (time?) (nr of skips?) (text length?) typewriter omits beginnings of new entries