Playground test: Yes, STT works correctly in the Playground. Character responds to voice input perfectly there.
ADB Logcat:
ConvaiChatbotComponentLog: Auto Initializing Session
ConvaiConnectionManagerLog: Character [778994e8-5f7a-11f1-b5fb-42010a7be02e]: Establishing new connection
ConvaiChatbotComponentLog: Session started for character ID: 778994e8-5f7a-11f1-b5fb-42010a7be02e
ConvaiConnectionManagerLog: Warning: Cannot acquire connection - another component already owns the active connection
LogBlueprintUserMessages: [BP_ConvaiPlayerComponent] Owner is invalid: Make sure the owner of ConvaiPlayerComponent is a Pawn.
ConvaiPlayerLog: Stopped default audio capture
LogAudioMixer: Warning: AudioMixerPlatformInterface Timeout [5 Seconds] waiting for h/w. InstanceID=1
ConvaiSubsystemLog: OnConnectedToServer called SessionID: bc420cb3...
Setup:
UE 5.7.4, Convai plugin 4.0.0-beta.21
Meta Quest 3S standalone build
BP_ConvaiPlayerComponent added to BP_VRSpectator (parent class: Pawn)
ConvaiChatbotComponent added to MetaHuman BP_Lexi
RECORD_AUDIO permission enabled
Push to Talk disabled, Mobile Mode enabled
Main issue: AudioMixerPlatformInterface Timeout - audio hardware never initializes, so microphone capture cannot start.
It works in the Editor! When I press Play in Unreal Engine Editor, the character responds to voice input correctly.
But in the packaged standalone build on Meta Quest 3S, microphone input does not work. The ADB logcat shows “AudioMixerPlatformInterface Timeout” in the packaged build.
What configuration is needed to make microphone work in the packaged Android/Quest standalone build?
Since it works correctly in the Unreal Engine Editor, this is most likely related to microphone permissions or Android/Quest build configuration rather than Convai itself.
Please check the microphone permissions on the Quest 3S and make sure the packaged app has permission to access the microphone.
I’d also recommend checking Unreal Engine / Meta Quest documentation, or using AI assistants to look into Unreal Engine Quest 3 microphone permission Android packaged build, as this is likely related to the platform permission setup.
Hi! Since voice works in the Unreal Editor but not on the Quest standalone build, this is almost certainly an Android microphone permission issue — not a Convai bug.
On Quest, the app must ask for microphone permission at runtime before any voice input can work.
Here is a simple setup you can try:
Step 1 — Enable the Android Permission plugin
In Unreal Editor, go to Edit > Plugins
Search for Android Permission
Make sure it is Enabled
Restart the editor if prompted
Step 2 — Add the permission to your Android build settings
Go to Edit > Project Settings
Open Platforms > Android > Advanced APK Packaging
Find Extra Permissions
Click + and add:
android.permission.RECORD_AUDIO
Save and close Project Settings
Step 3 — Create a Blueprint that asks for permission when the game starts
The easiest place is your GameMode Blueprint (or your Player Controller if you prefer).
Open your GameMode Blueprint (for example VRGameMode if you use the VR Template)
In the Event Graph, add Event BeginPlay
Add a Delay node (about 0.5–1.0 seconds) after BeginPlay
→ Some projects crash if permissions are requested immediately on startup; a short delay avoids that.
After the Delay, right-click and search for Check Android Permission
Permission input: android.permission.RECORD_AUDIO
Add a Branch node:
If true → permission is already granted, you are done
If false → continue below
Create a String Array variable (name it Permissions)
Add one entry: android.permission.RECORD_AUDIO
Add Request Android Permissions
Connect your Permissions array to the input
From the Return Value pin of Request Android Permissions, drag out and choose Assign On Permissions Granted (or similar delegate bind)
In that callback, check that android.permission.RECORD_AUDIO was granted
If granted → your app can now use the microphone
If denied → show a message telling the user to enable Microphone in Quest Settings