What do you need help with?
Bug report
Installation method
Unity Asset Store
Issue area
Chat UI / Transcript UI
Impact
Normal - something is not working as expected
Unity version
6000.4.0
Convai Unity SDK version
4.3.0
Target platform
Meta Quest
Where does it happen?
Both sample and custom scene
Short summary
As i set
What happened?
The SDK’s Push-to-Talk uses a keyboard key (KeyCode.T) through the following method in ConvaiManager:
private bool IsPushToTalkHeld()
{
KeyCode pushToTalkKey = PushToTalkKey;
#if ENABLE_LEGACY_INPUT_MANAGER
return Input.GetKey(pushToTalkKey);
#elif ENABLE_INPUT_SYSTEM
return IsInputSystemKeyHeld(pushToTalkKey);
#else
return false;
#endif
}
Since Meta Quest doesn’t use keyboard input, I replaced it with Meta controller input:
private bool IsPushToTalkHeld()
{
#if UNITY_ANDROID
InputDevice rightHand = InputDevices.GetDeviceAtXRNode(XRNode.RightHand);
if (rightHand.isValid &&
rightHand.TryGetFeatureValue(CommonUsages.primaryButton, out bool pressed))
{
return pressed;
}
return false;
#else
// Original keyboard implementation
#endif
}
This correctly triggers the built-in ConvaiPushToTalkController, so I’m not bypassing the SDK.
Current behavior
The A button successfully behaves as Push-to-Talk.
Press A → microphone opens.
Hold A while speaking → works.
Release A → ConvaiPushToTalkController.Release() is called.
However, there is an issue when releasing the button immediately after finishing a sentence.
Example
First interaction:
Hold A
Ask: “How can I help you today?”
Release A
NPC replies correctly.
Second interaction:
Hold A
Say: “Can you give me your name?”
Release A immediately after saying “Can you”
The transcript shows:
User:
Can you
After that, Convai never generates a response.
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