For the project Soul Sisters, we needed to make a system to display subtitles and play the correct audio recording associated with that line, and this job fell upon to me. The game was divided into sections called scenes. Scenes were essentially groups of Lines with, usually, multiple speakers.
So, the Narration System would have handle this set of functionality 1.) Know what scene is being triggered and get lines, speakers, audio events, and animations 2.) Display a UI element of a subtitle with the correct speaker and text 3.) Call the correct AkAudio Event with the proper game object/Actor that is "speaking" for 3D audio to work. 4.) Play the animation associated with the line if there is one. 5.) Handle moving on to the next line from the line ending or the player skipping to the next line.
I did just that via Unreal Engine's Blueprint system. The image below shows partial functionality of 2 and the full functionality of 3-5.
Snippet Image (recommend opening image in new tab)