In this part we’ll create Character functionalities, Damage System, Weapon and Projectile.
Let’s add First Person Character so we can get the Gun in our game.
Go to Add/Import -> Add Feature or Content Pack.
![](https://levelparadox.com/wp-content/uploads/2021/03/Screenshot_2.png)
In here select Blueprint -> First Person.
![](https://levelparadox.com/wp-content/uploads/2021/03/Screenshot_1.png)
We also need some animations. So go to Marketplace -> Animation Starter Pack and add that.
![](https://levelparadox.com/wp-content/uploads/2021/03/Screenshot_3-1024x664.png)
In AnimStarterPack.
![](https://levelparadox.com/wp-content/uploads/2021/03/Screenshot_4.png)
Open Ue4ASP_Character.
![](https://levelparadox.com/wp-content/uploads/2021/03/Screenshot_5.png)
Then find SK_FPGun.
![](https://levelparadox.com/wp-content/uploads/2021/03/Screenshot_6.png)
Add Gun to Ue4ASP_Character, inside character mesh.
![](https://levelparadox.com/wp-content/uploads/2021/03/Screenshot_7-1024x752.png)
Select mesh and open SK_Mannequin.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_8-1024x774.png)
In skeleton tree find hand_r and Add Socket to it.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_9-1024x745.png)
Rename socket to gun.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_10.png)
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_11.png)
In Construction Script of Ue4Character add AttachComponentToComponent and snap gun to mesh.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_12-1024x757.png)
Now you just need to rotate and place it.
Move the gun socket in skeleton tree.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_13.png)
The index finger should come through trigger hole.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_14-1024x755.png)
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_15.png)
Now we can quickly update Crouch feature to work in multiplayer.
Go to Event Graph and find Crouching.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_17-1024x752.png)
Set CrouchButtonDown boolean to Replicated.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_19.png)
Then add two Custom Events. CrouchServer and CrouchEndServer, make them Executes On Server and connect them to Crouch Input.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_18-1024x755.png)
Now you just need to go to MDM_PlayerController and update SpawnCharacter variable with Ue4ASP_Character. Then try it out.
![](https://levelparadox.com/wp-content/uploads/2021/07/Screenshot_16-1024x565.png)