Now that I refresh my memory of how your UI is set up, it's a little more complicated. The NPC currently uses a bubble subtitle panel that isn't tied to any specific player.
I'm going to suggest a solution that works better with #1 (Two Dialogue System Triggers that play different conversations. Set Conditions > Accepted GameObjects on one to The Thief, and on the other to The Muse.) The NPC will use
two bubble subtitle panels, one for the thief and another for the muse.
Try this:
1. Add two more actors to your database, named something like NPC For Thief and NPC For Muse.
2. Add two empty child GameObjects to NPC.
- Add a Dialogue Actor to each. Set one to NPC For Thief and the other to NPC For Muse.
- Add an instance of the Bubble Template Standard UI Subtitle Panel to each child. (I'll call this the bubble subtitle panel from now on.)
- Set the bubble subtitle panel's Canvas > Event Camera to the thief's camera on one and the muse's camera on the other.
- On both Dialogue Actors, set Subtitle Panel Number to Custom, and assign its child bubble subtitle panel.
3. Set up two Dialogue System Triggers on NPC.
- On one, set Conditions > Accepted GameObjects to the thief. Assign the NPC For Thief child GameObject as the Conversation Conversant.
- On the other Dialogue System Trigger, set Conditions > Accepted GameObjects to the muse. Assign the NPC for Muse child GameObject as the Conversation Conversant.
Make sure that works, without continue buttons for now. Once you've confirmed that works:
- Add a UI Button to each bubble subtitle panel's Bubble Panel.
- Configure the UI Button's OnClick() event to call the bubble subtitle panel's StandardUISubtitlePanel.OnContinue method.
- Add a Player Input Button Hotkey component. Set it to an input action such as "Jump" (the gamepad 'A' button).
- Assign the UI Button it to the bubble subtitle panel's Continue Button field.