Made with Unity 2017 and C# with MoonSharp for Lua interpreter.
Unity and Lua
The dialog system is able to keep track of the current state of the game and the player using FactDictionaries. The Lua script and these FactDictionaries can be used to create context-aware dialog. The script can also be used to add and alter facts in order to script memory.
This system allows writers to create believable and immersive character dialog.