The timer starts when the response menu starts, so you can use the OnConversationResponseMenu message for when the timer starts. Use OnConversationTimeout to be notified if/when the timer runs out.
Apologies if this is documented somewhere -- if the Timer runs out, how do I redirect the dialogue branching towards another NPC Dialogue?
For example, a message that says something like, "What's taking you so long?" Do I have to do this manually with Conditions? Or is there something built in for this?
If you set the Dialogue Manager's Display Settings > Input Settings > Response Timeout Action to anything except Custom, it will follow one of the response menu options (first, last, current, or random).
If you set it to Custom, add a script to the Dialogue Manager that has an OnConversationTimeout() method that does something. For example, when writing your conversation you could set the Title (or a custom field) of a dialogue entry to a specific value. In OnConversationTimeout(), find this dialogue entry and go to it. Rough example:
I've set Response Timeout Action to "Choose Current Response," but it keeps choosing the First Response anyways. I looked into the ConversationController Script, and it seems this occurs when selected response null?
I'm not using mouse, just WASD and Gamepad for my Dialogue system -- is there a reason why my "highlighted/selected" response is not registering?