This page covers common Voice SDK issues and their solutions.
Microphone does not activate for voice commands
When testing in the Unreal editor on PC, make sure your microphone is unmuted and selected as the input device in your operating system sound settings. After changing your input device, restart the Unreal editor.
When running on Meta Quest, the end user must consent to microphone use in the permission dialog that appears at app launch. If the user declines, the app cannot record voice commands. See Microphone permission not granted on Meta Quest for more details.
Ensure that voice is enabled in the project’s DefaultEngine.ini file by adding the [Voice] section with bEnabled=True. For the full procedure, see the DefaultEngine.ini configuration steps in Integrating Voice SDK.
“Voice module does not have voice enabled”
If the logs show VoiceCapture - CreateVoiceCapture: voice module does not have voice enabled, voice is not enabled in the project’s DefaultEngine.ini file. Add the following to the end of the file and restart the Unreal editor:
[Voice]
bEnabled=True
For the full procedure, see the DefaultEngine.ini configuration steps in Integrating Voice SDK.
Voice commands return no response
Voice SDK is powered by the Wit.ai Natural Language Understanding (NLU) service, which processes voice data in the cloud. If the device does not have an active internet connection, voice commands cannot be sent to Wit.ai and no response is returned.
Verify that your device has a working internet connection. On Meta Quest, open the Settings menu and confirm that Wi-Fi is connected. When testing in the Unreal editor on PC, confirm that your development machine has network access.
Microphone permission not granted on Meta Quest
When the app launches on Meta Quest, the user is prompted to grant microphone access. Voice SDK can only record audio if the user accepts this permission (android.permission.RECORD_AUDIO). If the user declines, voice features remain inactive and no voice commands are sent to Wit.ai for processing.
To resolve this, instruct users to grant microphone access when prompted. If the permission was previously denied, users can re-enable it in the Meta Quest system settings under the app’s permissions.
Voice input stops recording unexpectedly
ActivateVoiceInput() begins listening after detecting audio above a volume threshold. Once listening starts, recording stops automatically if the user is silent for 2 seconds or if 20 seconds of total recording time elapses.
If you need to begin streaming audio to Wit.ai immediately without waiting for voice detection, use ActivateVoiceInputImmediately() instead. This method starts transmitting audio data as soon as it is called. The same 20-second maximum recording time and 2-second silence threshold still apply. To stop recording before these limits, call DeactivateVoiceInput().
For more information on activation methods, see Activation.
Voice commands not recognized
If voice input is captured but Wit.ai does not return matching intents, the Wit Configuration file may be missing or misconfigured.
Each Unreal project that uses Voice SDK requires a Wit Configuration file containing a valid Client Access Token from your Wit.ai app. Verify the following:
A WitAppConfigurationAsset data asset exists in your project’s Content Browser.
The Client Access Token in the Wit Configuration file matches the token from your Wit.ai app’s Management > Settings page.
The Wit Configuration file is assigned to your AppVoiceExperience actor.
For step-by-step setup instructions, see the “Setting up your Wit Configuration file in Unreal” section of Integrating Voice SDK.