Documentation

​
​

Development

User Acquisition

Monetization

Industry

Vivox Unreal SDK

Vivox Unreal SDK

Vivox
​
​
Vivox Unreal SDK
  • Overview
  • Get started
  • Release notes
  • Developer guide
    • Set up your project
    • Unity Authentication Service in Unreal
    • Create voice and text channels
    • Messaging
    • Audio management
    • Muting
    • In-game moderation
    • Android app development
    • iOS app development
    • Server-side recording
    • Speech-to-text audio transcription
    • Text-to-speech
      • Text-to-speech voice options
      • Text-to-speech destinations
      • Inject a text-to-speech message
      • Queue a text-to-speech message
      • Cancel a text-to-speech message
      • Text-to-speech events
      • Get raw audio of synthesized speech
      • Use text-to-speech for incoming messages
    • Real-time recording
    • Transmission
    • Troubleshooting
  • Tutorials
  • Reference
  1. Vivox Unreal SDK documentation
  2. Text-to-speech

Use text-to-speech for incoming messages

How to synthesize incoming text messages as speech.
Read time 1 minute
Last updated 8 months ago

To use text-to-speech (TTS) to read incoming messages, use the
Speak()
function in the message event handler. We recommend that you use the
TTSDestination::QueuedLocalPlayback
destination because it ensures that messages are queued and that they only play locally.
  • When a text message is received in a channel, the
    IChannelSession::EventTextMessageReceived
    event is raised.
  • When a direct message is received in a channel, the
    ILoginSession::EventDirectedTextMessageReceived
    event is raised.
The following code is an example of how to use TTS for channel messages:
MyChannelSession->EventTextMessageReceived.AddLambda([MyLoginSession](const IChannelTextMessage &Message){ // If the text message received is not from me... if (Message.Sender() != MyLoginSession->LoginSessionId()) { // Check if optional display name is set. FString DisplayName = Message.Sender().DisplayName(); if (DisplayName.IsEmpty()) { DisplayName = "Anonymous"; } // This queues the message and lets the user know who sent it. // NB: the colon (:) inserts a slight pause before subsequent text. FString Text = DisplayName + " says: " + Message.Message(); MyLoginSession->TTS().Speak(Text, TTSDestination::QueuedLocalPlayback); }});
Note
To only read text messages from other users in a channel, compare the current user’s AccountId with the IChannelTextMessage::Sender() value.

Copyright © 2026 Unity Technologies
LegalPrivacy PolicyCookiesDocumentation Terms of UseDo Not Sell or Share My Personal InformationYour Privacy Choices (Cookie Settings)

"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S and elsewhere (more info here). Other names or brands are trademarks of their respective owners.

Some pages are machine-translated for convenience, and may contain inaccuracies. In the event of conflicting information, the English version is authoritative.


    Report a problem with this page