Timers do not work in Objects

I’m getting this again in 5.4. Using a custom UObject base class, and added “Blueprintable” to the class flags, and in the BP child classes, I can make a timer using, “SetTimerbyEvent” or “SetTimerForNextTickbyEvent” or the function variants. The bound functions are never called.

Steps:

  • Make C++ class inheriting from “UObject”.
  • To the UCLASS flags add the “Blueprintable” flag.
  • Create a new Blueprint child of the new C++ class.
  • Create an event called “CallTimer” in the event graph.
  • In the “CallTimer” event, call “SetTimerbyEvent”.
  • Link a new custom event to the event pin.
  • Run the “CallTimer” event on any instance of the Blueprint class. (could use the level BP to ease)
  • Observe how the new custom event is not called.

Did I do something incorrect? It seems like this is the exact same issue as this thread. And looking at the report further, it appears at the time when this happened, this issue was considered a “Regression”. So I’m thinking it may have regressed again.