Override Dialogue UI

Announcements, support questions, and discussion for the Dialogue System.
Post Reply
lemonjolly_anna
Posts: 23
Joined: Tue May 16, 2023 11:41 pm

Override Dialogue UI

Post by lemonjolly_anna »

Hi!

I'm trying to get the OverrideDialogueUI.component to work.
USE CASE: different dialogue art for different themes(in mech / out of mech)

Am I missing something?
Screenshot 2025-07-09 124344.png
Screenshot 2025-07-09 124344.png (210.24 KiB) Viewed 443 times
Screenshot 2025-07-09 124433.png
Screenshot 2025-07-09 124433.png (163.75 KiB) Viewed 443 times
Thank you! :geek:
User avatar
Tony Li
Posts: 23419
Joined: Thu Jul 18, 2013 1:27 pm

Re: Override Dialogue UI

Post by Tony Li »

Hi,

Assign the GameObject with the StandardDialogueUI component to the OverrideDialogueUI component. Probably this:

auntie.png
auntie.png (199.98 KiB) Viewed 422 times

Note: Whenever Auntie is the primary actor or conversant in a conversation, the Dialogue System will use this dialogue UI instead of the default one that's assigned to the Dialogue Manager's Display Settings > Dialogue UI field. More info: Character GameObject Assignments
lemonjolly_anna
Posts: 23
Joined: Tue May 16, 2023 11:41 pm

Re: Override Dialogue UI

Post by lemonjolly_anna »

Hmm, I had that assigned already (the gameobject with the StandardDialogueUI.component) - is there a setting in the DialogueManager or the "default dialogue UI" that would be stopping it from swapping out?

I also tried increasing the priority but it didn't work either
User avatar
Tony Li
Posts: 23419
Joined: Thu Jul 18, 2013 1:27 pm

Re: Override Dialogue UI

Post by Tony Li »

Hi,

If another Override Dialogue UI component on one of the participants has a higher Priority value, that would override this one.

However, I suspect Auntie isn't being used as either primary participant. Inspect the conversation in the Dialogue Editor. Select Menu > Conversation Properties. Meke sure Auntie is assigned as the Actor or Conversant. Then inspect the dialogue entry nodes and make sure Auntie's lines are also set to Auntie.

Then make sure Auntie will be used as the runtime conversation's conversation actor or conversation conversant (whichever you assigned in the Dialogue Editor). Please see the link in my previous post for more details.

If Auntie's GameObject isn't used as the primary actor or conversant, the Dialogue System won't check her GameObject for an Override Dialogue UI component.

Alternatively, you can use assign the dialogue UI directly to a Dialogue System Trigger's Actions > Start Conversation section to make that conversation use dialogue UI. Or, if you're starting the conversation in a C# script, pass the dialogue UI to DialogueManager.StartConversation().
lemonjolly_anna
Posts: 23
Joined: Tue May 16, 2023 11:41 pm

Re: Override Dialogue UI

Post by lemonjolly_anna »

Great thank you!

Is it possible to change the dialogue UI mid conversation? i.e. if dialogue node 1: uncle; and then the next node is: auntie?
User avatar
Tony Li
Posts: 23419
Joined: Thu Jul 18, 2013 1:27 pm

Re: Override Dialogue UI

Post by Tony Li »

Hi,

In that case, you might want to use a single dialogue UI with different subtitle panels. For example, the Basic Standard Dialogue UI prefab has two subtitle panels -- one for NPCs and one for PCs. You could add more panels and assign them to the StandardDialogueUI component's Subtitle Panels list. On the actor GameObject's Dialogue Actor component, specify which subtitle panel you want the actor to use. You can also use the SetPanel() sequencer command and/or [panel=#] markup tag to change an actor's subtitle panel mid-conversation.

However, if you must switch the entire dialogue UI mid-conversation, you can assign a dialogue UI to the property DialogueManager.conversationView.dialogueUI. This will make the conversation use the newly-assigned dialogue UI.
Post Reply