Develop

Providing Voice Transcriptions

Updated: Apr 15, 2026
Voice SDK provides transcription events that convert user speech into text. These events return the raw Automatic Speech Recognition (ASR) output as an FString, without processing the text through Wit.ai natural-language understanding (NLU). This makes transcription suitable for displaying what a user said, implementing dictation input, or feeding text into your own processing logic.
Transcription is handled through two events on the VoiceEvents component of the AppVoiceExperience actor:
  • OnFullTranscription: Fires when the complete transcription is available after the user finishes speaking.
  • OnPartialTranscription: Fires as the user speaks, providing incremental transcription text that updates in real time.
Note: Transcription events provide raw transcribed text only. If you need to extract intents and entities from user speech, use voice commands with the OnWitResponse event instead. For more information, see Voice Command.

Prerequisites

Before using transcription events, complete the following:
  • Install Voice SDK and configure a Wit.ai app. For setup instructions, see Integrating Voice SDK.
  • Add an AppVoiceExperience actor to your map with a valid Wit configuration file assigned. For step-by-step guidance, see the “Adding Voice Commands to your Map” section in Voice Command.

Binding transcription events in Blueprints

  1. In the Unreal editor, open your AppVoiceExperience Blueprint (for example, BP_AppVoiceExperience).
  2. In the Event Graph, right-click and search for OnFullTranscription. Select the event to add it to the graph. This event provides a Transcription output pin of type FString containing the transcribed text.
  3. Connect the Transcription output to a text display widget or other processing logic. For example, you can set the text of a UI widget to display the transcription result.
  4. To receive real-time updates as the user speaks, repeat the process for the OnPartialTranscription event.
  5. Activate voice input by calling ActivateVoiceInput on the AppVoiceExperience actor. For activation options, see Activation.

Binding transcription events in C++

To bind transcription events in C++, use AddUniqueDynamic on the VoiceEvents component of your AAppVoiceExperience instance:
VoiceExperience->VoiceEvents->OnFullTranscription.AddUniqueDynamic(
    this, &AMyActor::OnFullTranscriptionReceived);
The handler function receives a single const FString& parameter containing the transcription text:
UFUNCTION()
void OnFullTranscriptionReceived(const FString& Transcription);
Use the same pattern for OnPartialTranscription to receive incremental transcription updates.

Full vs. partial transcription

EventWhen it firesUse case
OnFullTranscription
After the user finishes speaking and the complete transcription is available
Displaying final results, submitting text input
OnPartialTranscription
Continuously as the user speaks
Showing live captions, providing real-time feedback
For more information on partial responses and how to act on them before speech is complete, see Live Understanding.

Displaying transcription in the UI

To show transcription text in a UI widget, bind the transcription event to update a text element in your widget Blueprint. For a step-by-step guide on creating a UI widget and connecting it to Voice SDK events, see Providing Visual Feedback.

Samples

Download and run the Voice SDK Samples Project to see how transcription events are used in a working project.