SweepMultiByChannel not work. hits array isn't populated

I’m trying to have my character detect what is around him, so I use sweepmultibychannel to get all the actors close to him. I tried to debug the number of hits in the hits array but I always get zero. The UE_LOG function was executed so I know that the sweep test hit something. Am I doing something wrong? please help! thank you very much

void APlayerControlledPawn::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
TArray<FHitResult> hits;
FCollisionQueryParams colParams;
colParams.AddIgnoredActor(this);
if (GetWorld()->SweepMultiByChannel(hits, GetActorLocation(), GetActorLocation() + FVector(0, 0, 0.1), FQuat(), ECC_Visibility, FCollisionShape::MakeSphere(200), colParams))
{
UE_LOG(LogTemp, Warning, TEXT(“%f”), hits.Num());
}
}