I have a single-argument event TickEvent, which I run from my function’s Tick() and add anything I want to temporarily run on tick to. I can add a function without problems:
TickEvent.AddUObject(this, &UCombat::FlowTowards);
However, if that line ever runs while FlowTowards() is already a member of TickEvent, the game crashes. It’s possible to put some degree of protection in to keep this from happening, but why does it happen? Is there additional protection I should be putting somewhere, like checking if TickEvent already has a method before adding it?