Since the Dialogue System is modular, your UI options are really wide open. You're not confined to the way that the UnityUIDialogueUI class does it. You could write your own UI script that implements the
IDialogueUI interface. It's only a handful of methods like ShowSubtitle and ShowResponses.
If you want to use the Unity UI scripts that come with the Dialogue System, here are a few ideas:
- In OnLinkedConversationStart, record the current conversation (DialogueManager.CurrentConversationState) and then stop it (DialogueManager.StopConversation). Then call UseDialogueUI to change the dialogue UI. Finally, call the version of DialogueManager.StartConversation that lets you start a conversation at a specific dialogue entry ID.
- Or, use a single UnityUIDialogueUI script. When you want to switch UIs, just swap out all the UI element assignments (e.g., NPC Subtitle Panel, NPC Subtitle Line, etc.). If you're using the Conversation Log Dialogue UI from the Extras page, this idea may require a little adjustment.