Requests an announcement to be spoken to the screen reader user. This is the main mechanism to provide text to speech auditory feedback to users. Calling this function does not guarantee that the announcement will be spoken via text to speech and be heard by a user. All announcements spoken via text to speech will be asynchronous and iwll not block the game thread. If the screen reader user is active and no announcements are currently spoken, the announcement will be spoken immediately. If another announcement is currently being spoken, the passed in announcement could be queued or interrupt the currently spoken announcement. Examples: TSharedRef MyUser = ScreenReader->GetUser(MyScreenReaderUserIndex); // All announcements to be spoken should be localized to provide language support for the text to speech system. static const FText MyText = LOCTEXT("ExampleUserFeedback", "Feedback to user."); // This makes the announcement interrupt any currently spoken announcement with lower priority and is played immediately. The announcement will be uninterruptable and guarantees the user will hear the announcement. // Use this sparingly for only critical information that the user needs to hear such as registration to the screen reader or important in game events. MyUser->RequestSpeak(FScreenReaderAnnouncement(MyText.ToString(), FScreenReaderAnnouncementInfo::Important())); // This makes the announcement a feedback for a user action or event. It is interruptable. // Use this to alert users to an action they performed MyUser->RequestSpeak(FScreenReaderAnnouncement(MyText.ToString(), FScreenReaderAnnouncementInfo::UserFeedback())); FScreenReaderReply::Handled() if the request was successfully processed. Else return FScreenReader::Unhandled()