All of our Unity bugs seems to be race conditions. With a thousand layers of event-driven lasagna, it's almost impossible to ensure that one line of code will run before another.
@bamboy We're using MoreMountains's TopDown Engine and Pixel Crushers's Dialogue System. They do a lot of the work for us, but it's more layers we don't fully understand.