Portrait Name incorrect, Dialogue System Events only triggering on first speaker

Announcements, support questions, and discussion for the Dialogue System.
Post Reply
wedgiebee
Posts: 16
Joined: Wed May 25, 2022 6:40 pm

Portrait Name incorrect, Dialogue System Events only triggering on first speaker

Post by wedgiebee »

Hi, I'm having some struggles with Dialogue System Events and incorrect portrait names. I'm hoping the issues are connected?

Struggle #1:
I have DialogueSystemEvents on a game object. I also have a DialogueActor on that game object. I have 3 actors defined in the database, but this game object only receieves the OnConversationStarted event when it is specifically set to my 2nd actor. When I change it to be any of the other actors, it doesn't receive events.

Struggle #2:
Portrait names are not showing up correctly, I'm getting lots of inconsistent behavior. Actor B seems to be reliably correct, but sometimes Actor C uses Actor A's name, or Actor B's name will replace Actor A.

I wish I had more reliable repro info, but for what it's worth I'm early in getting set up so I don't think I've had time to mess anything up too bad yet.
wedgiebee
Posts: 16
Joined: Wed May 25, 2022 6:40 pm

Re: Portrait Name incorrect, Dialogue System Events only triggering on first speaker

Post by wedgiebee »

Oh and in case this is an important detail, none of the actors are marked as "is player"!
User avatar
Tony Li
Posts: 21681
Joined: Thu Jul 18, 2013 1:27 pm

Re: Portrait Name incorrect, Dialogue System Events only triggering on first speaker

Post by Tony Li »

Hi,

I bet it's all related to: Character GameObject Assignments.

Let's say you write a conversation where the primary actor is A, the primary conversant is B, and the conversation also involves a third actor C.

When you start a conversation (e.g., through a Dialogue System Trigger), if you don't specify which characters to use, in general the Dialogue System will use A as the conversation actor and B as the conversation conversant. Dialogue System Events will only run on A, B, and the Dialogue Manager GameObject. C never receives Dialogue System Events because it's not the primary conversation actor or conversation conversant.

However, if you assign a character D to the Dialogue System Trigger's Conversation Actor field, any lines in the conversation that were assigned to A will now be spoken by D. In addition, Dialogue System Events will only run on D, B, and the Dialogue Manager.

An additional thing to consider is if you leave the Dialogue System Trigger's Conversant Actor or Conversation Conversant fields blank. In this case, they'll generally use the GameObject whose Dialogue Actor matches the actor in the conversation. However, there are some exceptions, documented in that link.
wedgiebee
Posts: 16
Joined: Wed May 25, 2022 6:40 pm

Re: Portrait Name incorrect, Dialogue System Events only triggering on first speaker

Post by wedgiebee »

Thanks a bunch!! This helped clear that up!
User avatar
Tony Li
Posts: 21681
Joined: Thu Jul 18, 2013 1:27 pm

Re: Portrait Name incorrect, Dialogue System Events only triggering on first speaker

Post by Tony Li »

Glad to help!
Post Reply