Hello Davixe,
DamageType it is class that used to handle type of damage that was applied to some actor. For example you can have different damage types for your weapon (simple bullets, incendiary bullets, etc.)
This function pass your damage type class to the TakeDamage function through EventDamage parameter.
// process machine gun hit function
UGameplayStatics::ApplyPointDamage(HitResult.Actor.Get(), ImpactDamage, ShootDir, HitResult, MyController.Get(), this, UDamageType_Gatling::StaticClass());
// Take damage function
float AMyPawn::TakeDamage(float Damage, struct FDamageEvent const& DamageEvent, class AController* EventInstigator, class AActor* DamageCauser)
{
…
DamageEvent.DamageTypeClass;
…
}
Best regards,