Create a new variable on the BP_MasterWeapon Set the type to EPhysicalSurface. The follow the short video shown below.

https://gyazo.com/b4168f4df87e726982523035e2cec037

Next copy the image shown below, you will need to create new custom event and set it to multicast.

Next call the event you created from the last image shown in the image below

Next go to the Project Settings, then go to the Physics category and scroll down and rename the first None Physical Surface name to Body. You may need to save and restart the engine after this.

Next create a new folder in the Materials folder call it PhysicsMaterials
Right click in that folder and in the Physics category create 2 new Physics Material. Call one PH_Body and PH_Default. Then open the PH_Body and set the Surface Type to Body, if the option isnt there then open the project settings again and go to the Physics category and clear and name the second option to Body.

Next in the learn tab of the Epic Games launcher, scroll down to the bottom of learn page and download the shooter game project if you want some example emitters. You can open the shooter game project once you have downloaded it and navigate to the location in the content browser

The 2 partial effects i use from shooter game project is P_AssaultRifle_IH and P_body_bullet_impact I have renamed them to P_Blood and P_Default in survival game kit.

You can use this emitter later when you set the BP_MasterWeapon surface emitter if you dont have your own partial effect.

Next open the project, and navigate to the Master character and select all the Hitbox components, in the details panel there is an option for Phys Material Override. Set this for all the hitbox components to the PM_Body.

Then open the BP_MasterWeapon and select the Surface Emitters variable And follow the video below

https://gyazo.com/0d1a477fc7b6b30db8998e00e669f6ec

Then add this is valid node

You can also set the category of the variable to Weapon Settings to make it easier to find in other weapons class defaults.