Error C2660 with Timer functions

I am trying to update from version UE4.7 to UE4.9. However, I am faced with these errors that I have a hard time trying to comprehend and to make the required changes.

These errors:

error C2660: ‘FTimerManager::IsTimerActive’ : function does not take 2 arguments
error C2660: ‘FTimerManager::ClearTimer’ : function does not take 2 arguments
error C2660: ‘FTimerManager::IsTimerActive’ : function does not take 2 arguments
error C2660: ‘FTimerManager::ClearTimer’ : function does not take 2 arguments
error C2660: ‘FTimerManager::IsTimerActive’ : function does not take 2 arguments
error C2660: ‘FTimerManager::ClearTimer’ : function does not take 2 arguments

Found from:

	if (GetWorldTimerManager().IsTimerActive(this, &AVehicle_Char::TransformTimeout))
	{	
		GetWorldTimerManager().ClearTimer(this, &AVehicle_Char::TransformTimeout);
	}
	if (GetWorldTimerManager().IsTimerActive(this, &AVehicle_Char::PostTransform))
	{
		GetWorldTimerManager().ClearTimer(this, &AVehicle_Char::PostTransform);
	}
	if (GetWorldTimerManager().IsTimerActive(this, &AVehicle_Char::EnableTransformation))
	{
		GetWorldTimerManager().ClearTimer(this, &AVehicle_Char::EnableTransformation);
	}

Called with:

  • PostTransform()

    void AVehicle_Char::PostTransform()

  • TransformTimeout()

    void AVehicle_Char::TransformTimeout()
    {
    bIsTransforming = false;
    ChangeState();
    StartMeshChange();

    }

  • EnableTransformation()

    void AVehicle_Char::EnableTransformation()
    {
    bCanTransform = false;
    }

The above functions are called to the Timer functions.
How do I go about?
Thank you!

Now it’s advised to use timer handlers

FTimerHandle TestEventTimerHandle;

GetWorldTimerManager().SetTimer(TestEventTimerHandle, this, &AMyClass::TestEvent, 0.25f, false);
GetWorldTimerManager().IsTimerActive(TestEventTimerHandle);
GetWorldTimerManager().ClearTimer(TestEventTimerHandle);

Hey there! Thank you!
However, at the same time, I have to call the transformation at the IsTimerActive() and ClearTimer(), How do I go about that?

Make an FTimerHandle for each event

When you set the timer you need FTimerHandle & event delegate

When you want to Pause , Clear … your timer you need only the assigned FTimerHandle