Making a custom delay node that will allow you to cancel delays?

Because of project limitations, every delay node on the project I’m working on has to be swapped out.

This is mainly because UE4 doesn’t allow you to cancel specific delay nodes, but I’m trying to find a good alternatice. I’ve looked into using FLatentActionManager but I don’t think it has the ability by default to remove pending actions, so I tried extending the LatentActionManager and seeing if that worked. It didn’t which makes me think there’s some setup in the engine code which makes this a not viable option.

How else would I make a delay node that-

  • Looks like the old delay node
  • Behaves like the old delay node
  • Has the ability to cache and cancel specific delay node calls based on an input enum/bool

Looking on the code calling DoneIf on FLatentResponse on update removes action without execution