Okay, new problem.
I added a Delay Until Next Tick node after Event Begin Play node in the quest actor blueprint and it seems to be working now, because when I click on a quest-related dialogue topic, that Print String node fires with the Quest ID associated with the topic.
However, it seems to be firing three times for some reason (the quest id is “0000”).

The “Hello” is coming from the end of the logic that gets executed after I click on a dialogue topic, so I know that it’s only calling the bound event once.
The dialogue box only gets created once because it’s set to get created at begin play in the player character BP.
The only thing I can think of is that the Text widgets that get created in the Dialogue Box’s blueprint to represent the dialogue topics and parented to it are being counted as being members of its class, and the binding is happening three times, so when the call goes out it fires three times. For this NPC that would make sense: one dialogue box plus two topics = three “0000s.” Is that even possible though?
But that seems unlikely since they don’t get created until the NPC is spoken to and the dialogue box’s visibility is changed. E: I’m also only getting top-level widgets of this class, so even if the topic widgets counted as being of the W_DialogueBox class through inheritance, they shouldn’t be seen by that node.


