Firing
Now it’s time to shoot some bullets.
So first thing, go to Character and in PlayerCamera add Scene Component and rename it as CameraAim.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_154.png)
Move it forward far away in X axis.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_155.png)
Now it’s attached to camera and it’s like this.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_156-1024x835.png)
Add second Scene Component.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_157.png)
Use AttachComponentToComponent for attaching it into a weapon.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_158.png)
Now we need to create DamageMacro.
Add the variables you are missing.
ProjectileHitAnimsPlay is replicated and it’s used for animation blueprint.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_149.png)
DamageMacro.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_150-1024x269.png)
Add six of them into OnComponentBeginOverlaps for Damage Collision boxes.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_151-1024x969.png)
FireProjectile event.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_152-1024x426.png)
Fire input action. This is kinda spammy but also accurate. Controlling shooting with replicated boolean would be much harder and problematic.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_153-1024x238.png)