Page 1 of 1

Same conversation over different prefab characters.

Posted: Sun Feb 07, 2021 2:56 pm
by TecD
Hi,

I am in a bit of panic mode here.

I have instantiated two characters (will be many more). The all use the same conversation in the same database (barks) with lau variable added in order to make the conversation unique to the character. The issue I am having right now is that the conversation remains with the first NPC character that is instantiated. Please tell me its a mistake on my end and this is not how its supposed to work (hence the panic).

I am using opsive (all working) so I am pointing to the character I am having a conversation with and hitting the action button. There can be a huge distance between the two characters (NPC's) however the conversation always initiates over (bark) the initial conversation.

Re: Same conversation over different prefab characters.

Posted: Sun Feb 07, 2021 3:16 pm
by Tony Li
Hi,

Not to worry! The Dialogue System is designed to be able to use the same conversation for different characters. (For details, see: Character GameObject Assignments.)

Make sure the NPC is assigned to the Dialogue System Trigger's Barker field (if you chose Add Action > Bark) or Conversation Conversant field (if you chose Add Action > Start Conversation).

Then temporarily set the Dialogue Manager's Other Settings > Debug Level to Info. When the bark or conversation starts, check the Console window. It will log something like:

Dialogue System: Starting conversation 'Title' with actor=XXX and conversant=YYY.

Make sure the NPC is YYY.

If that doesn't help, please post a screenshot of your setup.

Re: Same conversation over different prefab characters.

Posted: Sun Feb 07, 2021 4:20 pm
by TecD
Phew, panic gone. Quick support once again, thanks.

It was the "Conversation Conversant" field that was not setup.

Re: Same conversation over different prefab characters.

Posted: Sun Feb 07, 2021 7:24 pm
by Tony Li
Happy to help! As that link explains, if the conversant field is unassigned, it tries to find a GameObject that matches the original actor used in the conversation. Glad you got it all working.