SetTimer() issue in Unreal Engine 4.7 / 4.7.1

After a hiatus with Chinese New Year, I have gotten back to my game development shenanigans. In Unreal Engine 4.7/4.7.1, as usual there were some deprecated API calls. This time it has to do with my use of timers. Previously, this would have sufficed:

this->GetWorldTimerManager().SetTimer(this, &AUECharacter::Timer_Delegate, 0.75f, false);

The parameters can be seen here:

However, in the latest release, you will get this little warning message:

Warning 1   warning C4996: 'FTimerManager::SetTimer': This overload of SetTimer is deprecated, please pass a FTimerHandle as the first argument. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.

Now, this does not mean your code won't work in the current version of Unreal Engine, just that in future releases, your code will cease to work. Now in order to remove this warning WHICH WILL in the future be upgraded into a full blown error, all you need to do is to do this:


this->GetWorldTimerManager().SetTimer(dashing_time_handler, this, &AUECharacter::Timer_Delegate, 0.75f, false);


FTimerHandle time_handler;
this->GetWorldTimerManager().SetTimer(time_handler, this, &AUECharacter::Timer_Delegate, 0.75f, false);

Yes folks, all you need to do is add that in order for it to work like before. I have not gotten any errors yet so this should work.

For more in timers:

More on transitioning to Unreal Engine 4.7

Hope this helped.