Page 1 of 1

Change dialogue canvas in script

Posted: Mon Mar 31, 2025 11:11 am
by ORCONECTESLIMOSUS
Ey
I have multiple worldspace UIs.
Dialogue is triggered with a C# script, and I'm looking for a way to change the UI in the script itself, possibly by assigning the right UI for each interactable thing in the inspector. How do i achieve this? :))))))

Re: Change dialogue canvas in script

Posted: Mon Mar 31, 2025 12:01 pm
by Tony Li
Hi,

Here are some ways:
  • Assign the dialogue U to the interactable thing's Dialogue System Trigger component > Actions > Start Conversation > Override Dialogue UI
  • Or add an Override Dialogue UI component to the thing and assign the dialogue UI to it
  • Or use the default dialogue UI (e.g., Basic Standard Dialogue UI) but tell this thing to use a custom subtitle panel, as in How To: Show Overhead Conversation Bubble Text
Some other options that probably aren't what you're looking for: call the C# method DialogueManager.UseDialogueUI() or, to change dialogue UIs mid-conversation, assign a dialogue UI to DialogueManager.conversationModel.dialogueUI.

Re: Change dialogue canvas in script

Posted: Mon Mar 31, 2025 1:33 pm
by ORCONECTESLIMOSUS
Sorry, i didn't specify: the dialogue is triggered within a C# script with

DialogueManager.StartConversation(ConversationName);

,not with a dialogue system trigger component

Re: Change dialogue canvas in script

Posted: Mon Mar 31, 2025 2:02 pm
by Tony Li
That's fine. All of the same ideas still apply. For the first one, you can specify the override dialogue UI in DialogueManager.StartConversation().