The engine subsystem for the Slate screen reader. A screen reader is a framework that provides vision accessibility services for screen reader useres. A screen reader user is a single user of the screen reader framework and can be thought of as a user of a hardware device such as keyboard/mouse or a controller. Screen reader users must be registered with the screen reader framework for them to receive feedback from the accessibility services provided by the screen reader framework. This class should be the entryway for C++ programmers and BP useres alike to interact with the screen reader system. The subsystem must be activated before the screen reader services can be used. For C++ users, please retrieve the screen reader and interact with the screen reader users from there. Example: USlateScreenReaderEngineSubsystemGet().ActivateScreenReader(); // Registers a screen reader user with Id 0. A screen reader user should correspond to a hardware input device such as a keyboard or controller like FSlateUserUSlateScreenReaderEngineSubsystemGet().GetScreenReader()->RegisterUser(0); TSharedRef User = USlateScreenReaderEngineSubsystem::Get().GetScreenReader()->GetUserChecked(0); // Screen reader users are inactive when they are first registered and need to be explicitly activated. User->Activate(); static const FText HelloWorld = LOCTEXT("HelloWorld", "Hello World"); // Requests "Hello World" to be spoken to the screen reader user User->RequestSpeak(FScreenReaderAnnouncement(HelloWorld.ToString(), FScreenReaderInfo::Important()));