Async and timing utilities for background tasks, delayed execution, progressive animations, and condition-based triggers.
// Background thread
doAsync([]() { /* heavy work */ });
// Delay (simple)
doAfterDelay(this, []() { /* after 2 sec */ }, 2.0f);
// Delay with handle (allows cancellation)
FTimerHandle handle;
doAfterDelay(this, []() { /* after 2 sec */ }, 2.0f, handle);
// Progressive animation with inline curve (0->1 over 1 second)
doProgressively(this, [](float alpha) { /* alpha goes 0 to 1 */ }, []() { /* done */ });
// Progressive animation with custom curve
doProgressively(this, myCurveFloat, [](float val) { /* val follows curve */ }, []() { /* done */ });
// Tick forever at 0.5s interval
UCdryxTickable* t = doForever(this, [](UCdryxTickable* tick, float delta) {
// called every 0.5s
}, 0.5f);
t->stop(); // when done
// Condition trigger
doAsSoonAs(this, [this]() { return bReady; }, [this]() { StartGame(); });