I want to fire and forget about it and don’t want to pollute my class with unused timer handles.
It’s not possible: all 6 overloads takes handle as the first param, so just declare a throwaway variable for handle. Something like:
void MyFunction()
{
FTimerHandle _;
GetWorld()->GetTimerManager().SetTimer(_, [](){
//do work
}, 1.0f, false);
}
You don’t really need to keep it for long unless you going to unset this timer later. So for one-shot timers it’s fine not to keep returned handle.