Shooter Gun System

In response to a question by Ctrl in the product page:

As a quick and dirty test, I’ve done this in the character blueprint. Z makes you instant lean left and X makes you instant lean right:

This is the result:

Updated to v1.3.5

Change log:

  • Updated to Unreal Engine v4.24

  • Small change in the method of calculation of ironsights. It now uses the node FindLookAtRotation followed by roll adjustment, instead of the dot products, RotationFromAxisAndAngle and CombineRotators nodes to find the direction from rear sight to front sight. The new method works better with the change implemented in v1.3.1 (since v1.3.1, the old method would let the rear sight a bit off depending on its location on the gun in relation to the front sight)

Updated to v1.4.0

Change log:

  • The name of the product was changed from “BP FPS Assault Rifle” to “Gun Assembly System”, to reflect the fact that the asset now allows building other guns too instead of being restricted to the original assault rifle

  • Implemented an UI widget (WB_Armory) that allows players to build guns with parts provided by you

  • Guns are now made of individual actors attached together, instead of components of one single actor

  • The gun mesh component isn’t a ‘PoseableMesh’ component anymore. It’s now a ‘SkeletalMesh’ component, with it’s own anim blueprint. This means the gun blueprint now can be used with any mesh, since it now doesn’t need to have the bone names hardcoded in it

  • Removed the option to use a HUD optic reticle as if it was the gun sight reticle. Now only reticles placed on the gun sights themselves are used, which avoids the need to set individual movement limits for each gun in order to prevent reticle being drawn in the air outside the gun sight. HUD reticles are not needed anyway, since the sight auto alignment already centralizes the sight’s aimpoint in front of the camera

  • The HUD widget functions that get the player input keys (for showing them on screen as tips) now don’t execute every tick anymore. Instead, they now only execute once at game start

  • Replaced the 3rd person anim montages with 3rd person anim sequences

  • UnEquip and Equip anims won’t play anymore when player tries to switch weapons if there are no weapons to switch to

Hi @PeaceSells_

I am wondering what kind of animations are you using for ADS? Have you done it in Maya/Blender?

Hey @bigfatblunt,

No, there are no ADS anim sequences. The anim blueprint gets the idle anim and procedurally move the hand bones to the right place, so the sights get aligned. This gives us the freedom to use virtually any gun and place virtually any sights anywhere on the gun, without having to make ADS anim sequences in Maya/Blender, etc. for each of them. You just need to make a normal idle anim for each gun.

Updated to v1.4.1

Change log:

  • Fixed: lack of smoothness when cycling between sights while aiming. Before, the interpolations were done through a Timeline in the character and the resulting values were applied in the EventBlueprintUpdateAnimation of the anim bp. Now everything is done in the anim bp, which fixed the lack of smoothness.

  • Deconflicted keys for rotating the gun and opening the customization menus in the Armory. Rotations are now done with the right or middle mouse buttons, while opening the menu is done with the left mouse button. This prevents opening menus accidentally while trying to rotate the gun.

  • Implemented an interface in the HUD for developers to adjust on the fly the max angle allowed for gun sights to be used for aiming (Developer Tools widget). Some guns have rails underneath (and in other places) that allow the placement of sights, but sights in those places yeld ugly arms poses when aiming.

Updated to v1.4.2

Change log:

  • Reduced number of nodes in the sight alignment code and in the interpolation when cycling between sights while aiming.

(The name of the product was changed from “Gun Assembly System” to “FPS Assemblable Gun”)

Hello. I just purchased FPS Assemblable Gun and I followed your tutorial with my own weapon mesh, but when I go to test it, I get an error that says “Can’t aim down sights, gun has no sights” There is also no model visible and when I try to add attachments Some of the sockets don’t work. Any ideas?

Edit: Fixed gun model being invisible and the sights not working, now just trying to fix sockets. But the gun is rotated 90 degrees.


Hi @Aerith17, the gun rotated 90 deg should be a matter of just opening the character’s skeleton in the skeleton editor and rotating the socket in the hand_r bone to the desired position (in the included mannequin, this socket is called “Gun”). To make it easier to see it, also click on this socket, choose “Add Preview Asset” and the choose your own gun.

Regarding the attachment sockets not working, they have to follow the naming rules stated in the video correctly. There are 2 types of attachment sockets: Base, which must be present on the gun or part that will receive an attachment; and Mount, which must be present on the part that is the attachment itself.

There are 3 types of Base sockets: Point (for stuff like silencers, magazines. etc. that attach to a point) and RailStart and RailEnd (for stuff that you want to put on rails, usually optic sights, etc.). RailStart and RailEnd work in pairs, so if you place a RailStart without the corresponding RailEnd, it won’t work. Each RailStart must have a RailEnd with the same name.

There are 2 types of Mount sockets: Point (to be mounted on a point) and RailStart (to be mounted on rails). For any attachment to work, the name of its Mount socket must match the name of the Base socket it’s being mounted on. For example:

To mount a magazine on a gun, the magazine must have a socket named, for example:


and the gun must have a socket to receive it, named:


You can replace “MyMag” with your desired name (as long as your desired name is the same on both the Mount and the Base sockets)

To mount an optic sight on a rail, the optic sight must have a socket named, for example:


and the gun must have two sockets to be able to receive it, named:


You can replace “MyRail” with your desired name (as long as your desired name is the same on the Mount and the Base sockets)

Please tell me if you got the issues fixed.

Hello, I just purchased your asset and I really enjoy it but I have a few questions:

  1. How can I make it so that I keep aiming when I’m jumping/falling?
  2. Is there a way to make a shotgun-type gun that shoots multiple bullets at once?

I’m still new to UE4 so please excuse me if these questions are obvious.
Thank you!

@amdude_00 - Hi, I should have your answers shortly, thank you for your patience!

Hi, I’m replying to your response on the marketplace page, thanks for the reply! I tried to add the reload animations from the FPS assault pack for the AK. I was only able to play the actual weapons reload anim by playing the anim in the weapons child class on Event Reload. However in game when I reload it breaks the weapon system. Is there another way to play both the arms and weapon reload anim at the same time? Everything I have tried isn’t working, thank you!

Hello, I figured it out:

I had to modify the rule from Walking to InAir. Now it checks if the player is Falling and is NOT IsAiming.
Also, I had to remove the Exit Aiming function when the player switches MovementMode from Walking to Falling.
Now the player can keep aiming when falling


I am now trying to get the player to be able to aim any time while they are in the air but I need some help. So far, when the player is in the air and I aim, the crosshair dissapears but the animation to aim down the sights never starts. Any ideas? Thank you.

@amdude_00 Hey man, I’m sorry I haven’t sent you anything yet. I did implement the keep aiming while in the air part and the enter aiming while in air part too, but I didn’t finish the shotgun fire part. These days have been kinda difficult here at home, I’ve had a mild COVID-19, but my father is in the hospital. On the next days things will probably slowly get back to normal though.

Regarding your last question, you have to go into the AB_DemoCharacter1P, go into the state machine and either:

  1. Remove the InAir state, since that state is active everytime your feet aren’t touching the ground, and that state only makes your character play the normal idle anim, with no option to go ADS. Removing this state will keep playing whatever anim your arms will be playing (running, idling, aiming) when you go into the air. The con is that your arms will keep running when you jump while running, but I don’t think this is very noticeable

  2. Copy-paste the ADS nodes from the Idle or Walking state, along with the blend node that allows you to aim, into the InAir state. That should work.

Regarding the shotgun fire, I was having some troulbe because the projectile blueprint (B_GunProjectile) in the project isn’t replicated. The way the project sends projectile impacts to the clients is indirectly through the gun blueprint that spawned the projectile, instead of trough the projectile blueprint itself. Since Unreal is optimized to not allow a bunch of Multicast events at the same time from the same Actor, the gun blueprint doesn’t transmit all the buckshot impacts to the clients. So I was about to make B_GunProjectile replicated too and move the code that replicates the impacts from the gun blueprint to B_GunProjectile, because that’s probably how I should’ve done it from start. But I had to interrupt working. I will still finish it and send it to you, but if you want to go ahead and try it anyway on your end, I’m here to try and help you.

See ya…

Hey, I’m so sorry to hear what you and your family are going through and I wish you guys nothing but the best. I’m glad to hear things are getting better though.

I implemented your second suggestion and it works perfectly! I can now aim while in mid-air.

Also, don’t worry about the shotgun thing. I was more so asking if the asset came with an option to make shotgun-type weapons but I’m pretty sure there are atleast a dozen tutorials on how to make one, so I’ll check those out.

I also just wanted to ask: what are some future updates that you have planned?

Stay safe and healthy!

Thanks man. Right now I was working on implementing a full body 1st person mesh with basic anims to my other asset, the Gun Sight Aligner. I’m planning to do the same to the FPS Assemblable Gun after that. Then, after that, my plan is to make the FPS Assemblable Gun more of a shooter template than just a weapon system. Things never happen as fast as I want though.

Sorry for going over your post. I will give you a better answer shortly.

@PeaceSells_ Well, I’m looking forward to those updates! This asset is already really cool so I’m excited for its future.

bought the kit looks and feels nice but do you have a tutorial for making ammo pickups ?

Hi There,
Thank you very much for the asset, I was hoping to ask how i could move the auto sight alignment into another project?
Is there any documentation on this kind of thing?
I am just hoping to use the auto sight alignment with the mp system. would be a very nice benefit to have.