I have created my characters in Unity and Convai and wanted to interact with them. However, I’m facing an issue where the text they speak disappears before they have finished talking, especially in the subtitles and QA. I discovered that this happens specifically with ElevenLabs voices in Convai, but I still want to use them.
Is there a way to make the text stay visible until the NPC has finished speaking? Any help would be greatly appreciated!
Hi @Elissa_Rimovecz
Thank you for reaching out and sharing the issue. We have investigated the problem and found that the text in the subtitles and QA sections disappears prematurely due to the UI updating based on an empty response.
Findings:
- The dialog text UI updates incorrectly when receiving an empty or null response.
- This issue specifically affects ElevenLabs voices in Convai.
Solution:
To resolve this, we need to add checks before assigning the text to the UI to ensure that only valid responses are displayed. Below are the necessary updates:
- Subtitle UI Fix
- Script Name:
SubtitleChatUI
- Method Name:
UpdateSubtitleText
- Fix: Add the following check before assigning text (above line 75):
if (!string.IsNullOrEmpty(text)) _subtitle.MessageTextObject.text = text;
- Question & Answer UI Fix
- Script Name:
QuestionAnswerUI
- Method Name:
SendCharacterText
- Fix: Add the following check before assigning text (above line 49):
if (!string.IsNullOrEmpty(text)) _answer.MessageTextObject.text = text;
These changes will ensure that the text remains visible until the character has finished speaking. Additionally, we will address this issue on our end and include a fix in an upcoming version of the SDK to ensure a smoother experience.
Let us know if you have any further questions or need assistance.
Best regards,
Convai Unity Team