Overlapping not working

I use UCapsuleComponent to generate overlaps, but it is don’t work at all!
I think i tried everything:
I made overlap events (end/begin):
In init

engine->OnComponentBeginOverlap.AddDynamic(this, &APawn_::OverlapB);
engine->OnComponentEndOverlap.AddDynamic(this, &APawn_::OverlapE);

function definitions:

void APawn_::OverlapB(class AActor* OtherActor, class UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult){ bAllowTorque = true; }
void APawn_::OverlapE(class AActor* OtherActor, class UPrimitiveComponent* OtherComp, int32 OtherBodyIndex){ bAllowTorque = false; }

bAllowTorque is always false.
I’d tried these two functions:

    engine->GetOverlappingActors(arr);
	arr = engine->GetOverlapInfos();

First returning only itself or same class actor.
Second is returning nothing, even itself.
Everything was tested with different types of actors in scene like worldStatic, worldDynamic, physicsBodies etc. Component “engine” have its bGenerateOverlapEvents = true, it is Vehicle object type and only overlapping with other actors (response to Vehicle is Ignore, others are overlap). How can i just check overlapping with anything? Why none of these don’t working? Is this happening because this component isn’t a root?

Well i made Multi Sweep for sphere and it’s worked:

TArray<FHitResult> arr;
	GetWorld()->SweepMulti(arr,
		collider->RelativeLocation,
		collider->RelativeLocation + collider->GetUpVector() * -updistance,
		FQuat::Identity,
		FCollisionShape::MakeSphere(69.f),
		FCollisionQueryParams::FCollisionQueryParams(false), 0); // painful, but good