Typewriter
Typewriter is a framework for building context-aware dialogue systems in Unity.
The architecture was inspired by solutions from Firewatch and The Last of Us, both of which were based on Valve's Fuzzy Pattern Matching approach. The basic idea is to model the dialogue as a set of criteria that have to be met for a given line to occur.
The framework does not make any assumptions about the audiovisual presentation of the dialogue and can be used for both textual and voice acted games. It is not a drop-in solution but rather a foundation for building your own systems. Good programming knowledge is necessary to use it.
Note
Typewriter has been released for educational purposes. It probably won't be developed further.