A weapon can have different VFXs to represent bullet impacts.
For this, similarly to the footstep VFX, you can create a BP using the base class HESurfaceVFXSelector like BP_HEGunHitVFXSelector
This new object has to be assigned on the weapon Attack component
On impact, the Physical Material of the impacted geometry will be checked and the correct VFX will be instantiated accordingly.