I have a very simple piece of logic in an AHud-derived blueprint (BP_RiverHUD), shown below:
The OnWake event is bound as part of the BeginPlay, and is called occasionally (certainly not within the 3 seconds of the delay).
95% of the time, this behaves as expected. However 5% of the time the delay never returns: i.e. I get the “HUD OnWake” string printed to the screen but not the “HUD Delay Finished”. And this breaks our game because the player no longer has a HUD to interact with.
There is definitely a lot going on in the delay elsewhere in the game (including saving the game, for example) and potentially even stuff in this blueprint. BUT, I find it completely perplexing that this delay should be failing in the way, and can’t figure out what’s going on.
I also can’t find any particular repro steps. My testing has consisted of sleeping in the same location many times and once in a while this will happen.
EDIT:
I have now been able to observe the faulty behavior while debugging: the delay node is triggered, a count appears above it and then abruptly disappears part of the way through.