How can I handle Radial Damage

I’m trying apply radial damage in my projectile class:

if ((Weapon->GrenadeConfig.Damage > 0) && (Weapon->GrenadeConfig.Radius > 0))
{
	DrawDebugSphere(GetWorld(), ImpactLocation, GrenadeConfig.Radius, 32, FColor::Red, false, 1.5f);
	UGameplayStatics::ApplyRadialDamage(this, Damage, ImpactLocation, Radius, DamageType, TArray<AActor*>(), Weapon);
}

(DamageType from Engine module)

And then I trying to handle this damage in base character class by

TakeDamage(...) and OnTakeAnyDamage delegate `TakeAnyDamage(...)`

And nothing happens. What am I doing wrong?

Shooter Exampe have header file with structs about Damage Events and I cannot understand do I need this or not.
Damage in UE4 - Unreal Engine is useless. So I even dont know where I can read about damage system.

You seems to use the damage system correctly.
You should check if the radius is enough (try 100000.0f), the ImpactLocation and the ‘if’ is not a problem…
If it still do not give you correct results, try to debug with breakpoints and enter in the function to see what happens (this part of the code is not really tricky to understand).

Thank you for reply!

I can see DebugSphere so I think ImpactLocation and radius is okay.

I trying to debug and figure out that in ApplyRadialDamageWithFalloff after string

World->OverlapMultiByObjectType(Overlaps, Origin, FQuat::Identity, FCollisionObjectQueryParams(FCollisionObjectQueryParams::InitType::AllDynamicObjects), FCollisionShape::MakeSphere(DamageOuterRadius), SphereParams);

all of my objects in Overlaps returns false by function

ComponentIsDamageableFrom(Overlap.Component.Get(), Origin, DamageCauser, IgnoreActors, DamagePreventionChannel, Hit)

68118-2.png

Overlaps contains Mesh (with NoCollision, if I turn on collision - nothing happened) and FirstPersonCameraComponent (WHY?) and dont contains CapsuleComponent (maybe because its invisible).

So I try debug ShooterTutorial and there Overlaps contains 2xBotBehavior(WTF?!) and mesh. And BotBehavior return true by ComponentIsDamageableFrom(…).

I attached my collision settings. Maybe I do it wrong.
capsule

68119-2.png

I do not know exactly the correct settings but maybe this can help you (from the doc) :

Will only hit components that block
the Visibility channel

I’m so tired of this so I change

UGameplayStatics::ApplyRadialDamage(this, Damage, ImpactLocation, Radius, DamageType, TArray<AActor*>(), Weapon);

to

UGameplayStatics::ApplyRadialDamage(this, Weapon->GrenadeConfig.Damage, NudgedImpactLocation, Weapon->GrenadeConfig.Radius, DamageType, TArray<AActor*>(), Weapon, NULL, false, ECC_MAX);

This is not an answer but it’s work.

Thank you for cooperation).