I am also experiencing strange behavior with GetRandomReachablePointInRadius in 4.16 Preview 3. I have a simple nav mesh which is reachable in the X and Y axis without any blocking actors or modifiers (totally plane navigation data).
GetRandomPointInNavigableRadius always returns a valid location, but
GetRandomReachablePointInRadius most of the time returns false even if it should do the same as the former function + check if the location is reachable (and it should be reachable because there is no blocking/collision/no holes in the navmesh).
This is a code snippet from my a BTTask class:
if (NavigationSystem->GetRandomPointInNavigableRadius(CurrentLocation, 100.f, TargetLocation)) {
UE_LOG(LogTemp, Warning, TEXT("GetRandomPointInNavigableRadius: %s"), *TargetLocation.Location.ToString());
};
if (NavigationSystem->GetRandomReachablePointInRadius(CurrentLocation, 100.f, TargetLocation)) {
UE_LOG(LogTemp, Warning, TEXT("GetRandomReachablePointInRadius: %s"), *TargetLocation.Location.ToString());
return EBTNodeResult::Succeeded;
};
UE_LOG(LogTemp, Error, TEXT("GetRandomReachablePointInRadius failed!"));
return EBTNodeResult::Failed;