Voice input works via Air Link but NOT on Quest 2 APK build — microphone not capturing speech on standalone

Context:

I’m building a VR therapy application using:

  • Unity 6 (6000.4.2f1), Universal Render Pipeline
  • Meta Quest 2 standalone (Android build, IL2CPP, ARM64)
  • Convai Unity SDK (latest)
  • Meta XR All-in-One SDK v85.0.0 + OpenXR
  • Downloaded FFI Libraries (Active Build Target) from Convai SDK setup

Problem:

Voice input works correctly when running through Air Link (PC microphone), but completely fails on the Quest 2 APK standalone build. The NPC connects and responds to code-triggered events in both scenarios, but on the APK build, user speech is never captured — the conversation monitor UI shows NPC responses but the user’s side remains empty.

Important: This issue started after the Meta Quest 2 headset updated to OS version 2.4. The same APK build worked correctly before the update.


Scenario 1 — Air Link (WORKS :white_check_mark:):

  • NPC connects and responds to voice input correctly
  • User speech appears in conversation monitor
  • [AudioTrackManager] Microphone published successfully

Scenario 2 — Quest 2 APK standalone build (DOESN’T WORK :cross_mark:):

  • NPC connects and responds to code-triggered events
  • User speech is NOT captured
  • No text appears on user side in conversation monitor
  • [AudioTrackManager] Microphone published successfully still appears in logs
  • No microphone or audio errors in logs

What I’ve tried:

  • Granted Microphone permission manually on device: Settings → Apps → [App] → Permissions → Microphone → Allow

Key observation:

Since Air Link uses the PC microphone and the APK uses the Quest 2 built-in microphone, the issue seems to be specifically with how the Convai SDK accesses the Quest microphone on standalone Android builds after the OS update. The SDK reports microphone as published successfully but no audio is actually captured.


Additional question:

Could the LLM model configured for the character have any impact on voice capture or processing? I’m asking because even though voice doesn’t work on the standalone build, event-based responses work fine — and through Air Link everything works correctly including voice, which suggests the LLM itself is not the issue. But wanted to confirm there’s no known interaction between the LLM model selection and microphone behavior on Android standalone.


Question:

Is there a known issue or specific configuration needed for the Convai SDK to correctly access the microphone on Quest 2 standalone APK builds after OS version 2.4? Any difference in microphone initialization between Air Link and Android standalone that could cause this?

Thank you!

Could you please share the logs and the SDK version you are using?