How to implament locational damage for a tank?

I am trying to add locational damage for specific components of a tanks hull of turret these being static meshes, as tanks usually have most of thier armor concentrated on the front the sides and rear would be more vulnerable to damage (have a higher damage multiplier). The problem is that I would need to find a way to determine witch part of the mesh was hit and apply the according amount of damage.

Any suggestions?

you can use on component begin overlap events, hit events only work on the root component.
I think each component would need an event but you can use a function to reduce copy/ pasting the code.

I guess the code would be something like health - damage * multiplier.

or

if(damage - durability > 0)
netDamage = damage - durability;
return health - netDamage

Oh sorry my question was unclear, what I meant to say was to ask if there was a wayto determine weather the front side or rear of the same static mesh was hit.

Is there perhaps a way to add multiple collision zones to a single mesh or must I use multiple collision meshes?

You could add collision components to the BP and use them as collision zones.

I tried that but I could not find a way to create a custom collision component that resembled the shape of my tank is there any way to do this? Currently I am just using hidden meshes as collision components.

Furthermore I could not seem to get the overlap detection working for projectiles.

I think you’d have to use hidden meshes for custom collision components.

another way to approach it is compare the hit location to the center of the tank. I think you’d have to transform the hit loc to local space.

After implementing the aforementioned system based on overlap events I am now experiencing the issue of projectiles randomly ghosting through the armor meshes and hitting either the one behind or simply going straight through the tank without causing but a single hit point of damage.

I have also noted that these ghost shell events tend to occur more often at higher velocities however they are still present even at the velocity of a nerf blaster.

There’s a “use ccd” setting in the collision settings, which may help.
if you’re moving the projectile with set actor location or some equivalent you probably need to check the sweep checkbox.

I have checked both. I also have tried tracing complex collision, most collision presets and many other things.