The Character listen to shot inputs and asks the weapon to shot.
So the CharacterBP has the event listeners, the WeaponBP has the shot function, the first one calls the second one.
If you wonder how to call your function from the character to the weapon, you have to create a reference of it through a variable (of the type “WeaponBP”) in your character BP.
Then you can get the variable “WeaponBP” and asks it to launch “Shot Function”.