For this one we didn't use any tutorial, I built the dialogue system from scratch with scriptable objects. I wouldn't recommend doing it like I did because it's very difficult to find out which event does what, and this creates a lot of errors and confusion: and the longer the chain of events, the worse the problem gets.
I was considering entirely redoing the architecture