I often would like for the game to prompt the players to do something, or to let the players know what just happened.
One option is for me to record all the prompts and then have Unity play those. But sometimes the game has a lot of different
prompts, or in some cases, I'd like the prompt to be programmatically built. There are a few Unity packages that
will support text to speech, but they are not inexpensive.
But since I am just targeting the Windows OS, I could use the Windows built in text-to-speech capability. This capability
is part of the COM system in Windows and is therefor not accessible from C# code. So I wrote a C++ wrapper library around the
Speech API and then imported that library into my Unity project.
More details at ChadWeisshaar.com