I'm trying to develop an "insult system" (A little bit Monkey Island inspired) where an NPC barks an insult at the player. The player has a window of time to press an input to "retort". I want to be able to have specific "retort" lines triggered that relate to the original insult.
I'm using a conversation for the barks, so I can choose a random bark from a list of valid ones based on game conditions. Ideally I'd like to just add appropriate "retorts" as child nodes to the original insults. But I need to work out how to store the original node, and then get the next valid child node for a separate bark event.
Can you describe a way to achieve this? Would I need to do something bespoke like store the original insult ID and then directly get the child's ID?
Bark response system
Re: Bark response system
Hi,
You probably don't need to do anything custom for that. Here's a simple example:
DS_RetortExample_2025-07-12.unitypackage
It looks like this:
I used these steps to set up the scene:
1. Wrote a conversation (intended to be an interactive conversation, not a bark) that has two NPC insults followed by player responses:
I ticked conversation properties > Override Display Settings > Input Settings and set a Response Timeout value.
2. Added a capsule for the NPC. Gave it a Usable, Dialogue Actor (pointing to a child overhead bubble subtitle panel), and Dialogue System Trigger that starts the conversation.
3. Added a Selector to the Main Camera that can select Usables at the mouse position.
I just used the Basic Standard Dialogue UI's response menu, but you could use a different dialogue UI that assigns specific inputs to each response button, like this: (instructions)

You probably don't need to do anything custom for that. Here's a simple example:
DS_RetortExample_2025-07-12.unitypackage
It looks like this:
I used these steps to set up the scene:
1. Wrote a conversation (intended to be an interactive conversation, not a bark) that has two NPC insults followed by player responses:
I ticked conversation properties > Override Display Settings > Input Settings and set a Response Timeout value.
2. Added a capsule for the NPC. Gave it a Usable, Dialogue Actor (pointing to a child overhead bubble subtitle panel), and Dialogue System Trigger that starts the conversation.
3. Added a Selector to the Main Camera that can select Usables at the mouse position.
I just used the Basic Standard Dialogue UI's response menu, but you could use a different dialogue UI that assigns specific inputs to each response button, like this: (instructions)
