Just create a new handle struct with each burn. If you need it for something then just return it in the AddBurn function.
void AMyCharacter::AddBurn() {
FTimerHandle BurnTimer;
if (UWorld* World = GetWorld()) {
World->GetTimerManager().SetTimer(BurnTimer, this, &AMyCharacter::Apply_burn_damage_for_duration, 2);
}
}
void AMyCharacter::Apply_burn_damage_for_duration()
{
GEngine->AddOnScreenDebugMessage(-1,1,FColor::Orange, ("BURN"));
}
example actor is AMyCharacter in this case, replace it with your own.