Bark response system

Announcements, support questions, and discussion for the Dialogue System.
Post Reply
cassbaygames
Posts: 1
Joined: Sat Jul 12, 2025 8:30 pm

Bark response system

Post by cassbaygames »

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?
User avatar
Tony Li
Posts: 23419
Joined: Thu Jul 18, 2013 1:27 pm

Re: Bark response system

Post by Tony Li »

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:
retorts.png
retorts.png (26.5 KiB) Viewed 104 times

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:
retortConversation.png
retortConversation.png (38.63 KiB) Viewed 104 times
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)

Image
Post Reply