Invoke Narrative Design Trigger causes persistent fallback responses; the issue existed in earlier plugin versions but is much more severe now

What do you need help with?

Bug report

Installation method

Manual installation / GitHub

Issue area

Push-to-Talk

Impact

Blocker - I cannot continue

Unreal Engine version

5.8.0

Convai Unreal Engine Plugin version

4.0.0-beta.25.1

Project setup

Blueprint

Target platform

Unreal Editor

Where does it happen?

Custom project

Short summary

Short Push-to-Talk press causes Narrative Designer trigger response to override all subsequent replies.

What happened?

The Narrative Designer trigger should behave as a one-time event.

After TRG_NoInput produces the reminder response, the trigger state should be cleared. The next valid user utterance should be processed as a normal, independent conversation turn, and the avatar should respond to the actual content of that utterance.

Invoking the trigger must not persistently override later user messages or keep the conversation locked to the trigger response.

What did you expect?

The Narrative Designer trigger should behave as a one-time event.

After TRG_NoInput produces the reminder response, the trigger state should be cleared. The next valid user utterance should be processed as a normal, independent conversation turn, and the avatar should respond to the actual content of that utterance.

Invoking the trigger must not persistently override later user messages or keep the conversation locked to the trigger response.

Steps to reproduce

  1. Create or open an Unreal Engine 5.8 project using Convai Unreal Plugin 4.0.0-beta.25.1.

  2. Configure a Narrative Designer trigger named TRG_NoInput. Configure it to produce a response such as:
    “Ready when you are — just hold to speak.”

  3. Implement Push-to-Talk button duration tracking.

  4. When the Push-to-Talk button is released in less than 1.5 seconds, call Invoke Narrative Design Trigger with TRG_NoInput.

  5. Start a new Convai conversation session and wait until the character connects.

  6. Before sending any normal user message, quickly press and release the Push-to-Talk button in less than 1.5 seconds.

  7. Confirm that the avatar says:
    “Ready when you are — just hold to speak.”

  8. Hold Push-to-Talk normally and say:
    “Hello.”

  9. Observe that the final user transcription is received correctly, but the avatar repeats:
    “Ready when you are — just hold to speak.”

  10. Repeat with another normal message, for example:
    “How are you?”

  11. Observe that the avatar continues repeating the trigger response instead of answering the user.

Unreal logs or error messages

LogDebuggerCommands: Repeating last play command: Selected Viewport
LogContentBundle: [L_Abbe_WhiteBackground_LiveConversation(Editor)] Generating Streaming for 0 Content Bundles.
LogWorldPartition: Display: GenerateStreaming for ‘L_Abbe_WhiteBackground_LiveConversation’ started…
LogWorldPartition: Display: GenerateStreaming for ‘L_Abbe_WhiteBackground_LiveConversation’ took 2.243 ms (total: 14.004 ms)
LogCameraSystemEditor: No camera objects needed building (inspected 0 objects)
LogPlayLevel: PlayLevel: No blueprints needed recompiling
LogPlayLevel: Creating play world package: /Game/Levels/UEDPIE_0_L_Abbe_WhiteBackground_LiveConversation
LogWorldPartition: Display: UWorldPartition::PostDuplicatePIE started…
LogWorldPartition: Display: UWorldPartition::PostDuplicatePIE took 553 us (total: 3.392 ms)
LogPlayLevel: PIE: StaticDuplicateObject took: (0.018585s)
LogPlayLevel: PIE: Created PIE world by copying editor world from /Game/Levels/L_Abbe_WhiteBackground_LiveConversation.L_Abbe_WhiteBackground_LiveConversation to /Game/Levels/UEDPIE_0_L_Abbe_WhiteBackground_LiveConversation.L_Abbe_WhiteBackground_LiveConversation (0.018630s)
LogUObjectHash: Compacting FUObjectHashTables data took 1.45ms
LogChaosDD: Creating Chaos Debug Draw Scene for world L_Abbe_WhiteBackground_LiveConversation
LogWorldPartition: ULevel::OnLevelLoaded(L_Abbe_WhiteBackground_LiveConversation)(bIsOwningWorldGameWorld=1, bIsOwningWorldPartitioned=1, InitializeForMainWorld=1, InitializeForEditor=0, InitializeForGame=1)
LogWorldPartition: Display: WorldPartition initialize started…
LogWorldPartition: UWorldPartition::Initialize : World = /Game/Levels/UEDPIE_0_L_Abbe_WhiteBackground_LiveConversation.L_Abbe_WhiteBackground_LiveConversation, World Type = PIE, IsMainWorldPartition = 1, Location = V(0), Rotation = R(0), IsEditor = 0, IsGame = 0, IsPIEWorldTravel = 0, IsCooking = 0
LogWorldPartition: UWorldPartition::Initialize Context : World NetMode = Standalone, IsServer = 0, IsDedicatedServer = 0, IsServerStreamingEnabled = 0, IsServerStreamingOutEnabled = 0, IsUsingMakingVisibleTransaction = 0, IsUsingMakingInvisibleTransaction = 0
LogWorldPartition: Display: WorldPartition initialize took 2.524 ms (total: 37.438 ms)
LogPlayLevel: PIE: World Init took: (0.004630s)
LogAudio: Display: Creating Audio Device: Id: 8, Scope: Unique, Realtime: True
LogAudioMixer: Display: bUseRenderScheduler set to true.
LogAudioMixer: Display: Audio Mixer Platform Settings:
LogAudioMixer: D

Screenshots, recording, logs, or minimal repro

Log_UE_Triger_Events_Break_Dialog.txt (102 KB)

I checked the relevant documentation, resources, and similar forum posts before posting.

on

I confirm that I did not include API keys, tokens, passwords, secrets, private character data, private conversation logs, or customer data.

on

The same presents when invoke ‘Invoke Speech’.