Multiple NPC Bubble Conversations Hide each other on conversation end

Announcements, support questions, and discussion for the Dialogue System.
Post Reply
Fews
Posts: 5
Joined: Mon Aug 15, 2022 11:32 pm

Multiple NPC Bubble Conversations Hide each other on conversation end

Post by Fews »

Hi,

I'm work on a scene with 4 pairs of NPCs idle talking to each other about some clues, while PC could start a conversation as well.
The conversations start in random intervals.
Each NPC has an overridden Bubble UI.
Problem is when one of the conversations ended, another started conversation would just fade out.

I looked at the code, seems only one overridden UI is the current UI, and I need to assign bubble UIs to subtitle panels and give them numbers? Is there another way to generate them in the runtime?
User avatar
Tony Li
Posts: 21684
Joined: Thu Jul 18, 2013 1:27 pm

Re: Multiple NPC Bubble Conversations Hide each other on conversation end

Post by Tony Li »

Hi,

Make sure each conversation uses its own dialogue UI. For bubble conversations, you can add an Override Dialogue UI component to one of the participants and assign the Basic Standard Dialogue UI. The conversation participants should have Dialogue Actor components with Dialogue UI Settings > Subtitle Panel Number set to Custom, with a bubble panel assigned. The bubble conversation will only use the Basic Standard Dialogue UI's StandardDialogueUI component to coordinate activity, but it won't show anything onscreen because the subtitles will be directed to the participants' individual bubble panels.

When a conversation ends, its dialogue UI will tell only its participants' bubble panels to hide. It shouldn't affect any other conversations and their dialogue UI and bubble panels.
Fews
Posts: 5
Joined: Mon Aug 15, 2022 11:32 pm

Re: Multiple NPC Bubble Conversations Hide each other on conversation end

Post by Fews »

Thanks Tony, I read the reply and dug a lot code now understand a bit how it works.

Add Override Dialogue UI component to the character GameObject, and add a Basic Standard Dialogue UI GameObject as a child of the character. Assign a Bubble Template Standard UI Subtitle Panel Prefab to the setting field of the Dialogue Actor component on character GameObject. And make sure the actor and conversant of the dialogue in the database match the character GameObjects. The UIs did not hide on each other now.

However, the two conversation still would fight each other on conversation end if the override display settings are different. The main DialogueManager prefab has display settings to always shows continue button. The two dialogue in the database have override display settings to never shows continue button. If two conversation start together, one ends earlier than another, the still going conversation will have a continue button when the next subtitle appear. I notice the override display settings were reverted when one of the conversations ends. Is there some settings for this?
User avatar
Tony Li
Posts: 21684
Joined: Thu Jul 18, 2013 1:27 pm

Re: Multiple NPC Bubble Conversations Hide each other on conversation end

Post by Tony Li »

I'll address that in the next release. In the meantime, please use Override Display Settings instead of Override Dialogue UI.
User avatar
Tony Li
Posts: 21684
Joined: Thu Jul 18, 2013 1:27 pm

Re: Multiple NPC Bubble Conversations Hide each other on conversation end

Post by Tony Li »

Quick update - this did not make it into 2.2.35 (so continue to use Override Display Settings), but it's on the priority list for 2.2.36.
Post Reply