UE4.20 FNavigationSystem::GetCurrent() not working

as per the 4.20 Release notes the navigation system was moved to a separate module and i have been following this

I added the NavigationSystem as a dependency and fixed the Include statements and as the notes say

World->GetNavigationSystem was renamed
earlier i was using GetWorld()->GetNavigationSystem()->Build(); in my code so I replaced it with
FNavigationSystem::GetCurrent(GetWorld())->Build() as seen below

But that gives me an error saying the UWorld* pointer is not an accepted argument
I checked the function definition and it take UWorld* as an argument
isn’t the World Context Object pointer to the world ?

I am not able to build my project because of this can’t even open the editor for the project

Thanks in advance

I got it working by using
UnavigationSystemV1::GetNavigationSystem(GetWorld())->Build();

but I still don’t understand why FNavigationSystem::GetCurrent() is not working
it is what’s recommended in the release notes
can somebody shed some light on it

This is the implementation for FNavigationSystem::GetCurrent()

template<typename TNavSys>
	FORCEINLINE TNavSys* GetCurrent(UWorld* World)
	{
		return World ? Cast<TNavSys>(World->GetNavigationSystem()) : (TNavSys*)nullptr;
	}

As you can see it is a templated function.

Usage:

UNavigationSystemV1* NavSystem = FNavigationSystem::GetCurrent<UNavigationSystemV1>(GetWorld());

It also has a world context object compatible implementation, so if you are calling it from an object which has a valid world you can use:

UNavigationSystemV1* NavSystem = FNavigationSystem::GetCurrent<UNavigationSystemV1>(this);