Support thread - shooter bp project

Welcome to the project’s support thread! Feel free to post questions, feedback, issues, etc!


Project updated. Change log:

  • Materials and textures redone for the main mesh and the handguard mesh - the new material has customizable wear and dirt, separated masks for metal and polymer parts, etc. (the other meshes will also get updated materials of this new standard on future updates).

  • Handguard is now a separated mesh from the main mesh

  • Small refinements in the geometry at the forward assist area

  • Updated the method for hiding/unhiding crosshair when aiming down sights

  • Play rate of walk and run anims are now variables

  • Fixed sRGB setting on mask textures - now mask textures are RGB instead of sRGB


Project updated. Change log:

  • Incorporated the sight alignment code from the Gun Sight Auto-Aligner 16, which means now there’s no need for the Aim anim sequence and the AimFire (fire while aiming) anim sequence. (The previous alignment method used was the precursor of the Gun Sight Auto-Aligner asset).

  • An IK was added to the right hand, so now both hands have an IK.

  • Added a debug external camera for checking hands/arms position.

  • Changed method of identifying the gun’s main mesh. Now, instead of giving the component a specific name, you give it a specific tag.

  • Material and textures for the FlipSightRear were redone in the new standard.

  • Fixed: if weapon had different fire rates for different fire modes, changing fire mode would change fire rate but not play rate of the fire anim.


Project updated. Change log:

  • Material and textures for the magazine were redone in the new standard, which includes configurable wear and dirt.

  • Included customization for the dot reticle color, size and intensity.

  • Moved show/hide HUD dot aiming reticle functionality from the anim blueprint to the HUD widget blueprint.

  • Reorganization of the folder structure.


Project updated. Change log:

  • Fixed: on-screen tip about input keys for jump and fire (WB_DemoHud blueprint) were missing their respective keys (this would generate message log errors when playing in “New Editor Window”).

  • Added: Suppressor attachment.

Known current issue: crosshair will not hide properly when the aim down sights button is pressed during a very short period of time (a few milliseconds) while blending at the end of the Equip anim sequence. This is due to the respective transition notifies in the State Machine not getting fired in this situation. This will be fixed.


Project updated. Change log:

  • Implemented replication (1st iteration)

  • Included Epic’s SK_Mannequin (entire body) with animations, aim offsets, etc. for the purpose of testing replication

  • Implemented simple crouch mechanics (1st iteration) for the purpose of testing replication

  • Included simple shot impacts and gun muzzle effects (particles) for the purpose of testing replication

  • Generated LODs inside the Unreal Editor for the parts of the gun that are static meshes (not yet for skeletal meshes)

  • Added angle limits for the cosmetic gun rotations, to avoid the HUD dot reticle being drawn out of the sight lens at extreme rotations

  • Updated to UE4 v4.23


Project updated. Change log:

  • Tweaked the auto-aligning and cosmetic gun rotations method. It now uses less nodes and is easier to control, since now the location/rotation of the sight’s aimpoint is directly controlled by a bone (sight’s location/rotation is the same of the bone).

  • Aiming is no longer a separate state in the state machine. In order to allow for variable aiming down sights speed, aiming is now implemented through BlendPosesByBool nodes inside other states.

  • Added customization variables for aiming down sights speed and cycle between sights speed.

  • Added customization variables for the amplitude of the procedural animation for firing while aiming down sights.

  • Fixed the issue of crosshair not hiding properly if the aim down sights button was pressed during a very short period of time (a few milliseconds) while blending at the end of the Equip anim sequence.


Project updated. Change log:

  • Fixed a bug included in the last version where using other anims instead of the provided ones would make the transition form hip to aiming down sights very jumpy. It was due to an accidental unchecking of a checkbox in one of the CopyBone nodes in the anim blueprint.

  • Other minor fixes like text tips on screen, etc.

Included, in the product page, a link to download a playable demo


Project updated. Change log:

  • All first person anim sequeces were reimported. The new sequences have the hand IK bones (ik_hand_gun, ik_hand_r and ik_hand_l) stationary at the default position (Epic’s default pose). The old sequences had ik_hand_gun and ik_hand_r match hand_r position, and ik_hand_l match hand_l position every frame. This change was made to avoid blending problems when adding user custom animations. It makes no difference if you use all sequences with the IKs in the default position or all sequences with the IKs matching the hand bones, but a mix of sequences of the two styles gives blending problems. Since most custom sequences out there leave these IK bones stationary at the default position, now they can be mixed with the asset’s own sequences without blending problems.

  • Removed custom object channels and trace channels (collision) presets from the Project Settings, because they were unecessary.

  • Not all CopyBone checkboxes were fixed in the last update, which was meant to fix them. Now they all were fixed.


Project updated. Change log:

  • The cosmetic gun rotations (sway) due to player input now only use the aimpoint as pivot when aiming down sights. When not aiming, the rotations use the hand_r bone as pivot, like it was before, because it looks better when not aiming.

  • Fixed an issue that would prevent animations from being played correctly if the semi-auto mode was set as the starting fire mode.


Project updated. 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 before (that would let the rear sight a bit off depending on its location on the gun in relation to the front sight)


Project updated. 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


Project updated. 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.


Project updated. 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”)


Project updated. Change log:

  • Character was updated to true first person view - now it has a single mesh (whole body) with a 1P camera attached to the head. Only one anim BP and only one set of anims. No more arms-only mesh and anims.

  • Many new original anim sequences and blendspaces for the Epic’s mannequin were added. These were made with true 1P view and 3P view simultaneously in mind, so they work for both.

  • Third person camera was added

  • The M4 rifle meshes were scaled up so they look better in the mannequin’s big hands!

  • Changes in the firing logic and anim simplified the code significantly, without reducing it’s looks and movements

  • Firing anims don’t need to be fed with custom play-rates anymore, they now work correctly with a play-rate of 1

  • Removed procedural fire anim for firing while aiming. Now firing uses the same anim sequence for both hip fire and aiming fire

  • Added reload while aiming, without the need for additional reload anims.

  • Gun sight position is now replicated, so you can see exactly which sight the other player is looking through

  • Gun and attachments now cast shadows

  • Added screen shake when firing

  • Added procedural aim sway (from a curve) when walking

  • The anim graph is more streamlined now, with the sight alignining code separated from the state machine


Project updated. Change log:

Quick fix - external cameras “snapping” when crouching/uncrouching - external cameras are now connected to the mesh component, instead of the capsule component


Project updated. Change log:

  • Character BeginPlay: no need to wait for the gun and all its attachments to spawn to execute any code anymore

  • Gun BeginPlay: no need to wait for the attachments to spawn to execute any code anymore

  • Simplified the BeginPlay code of the character and the gun BPs, without changing functionality

  • Removed the CheckPartsTimer, CheckAllPartsSpawned, etc. from the gun BP as they aren’t needed anymore

  • Simplified the switch weapons code and replication, without loosing functionality

  • When not in use, guns now stay visible and attached to the character’s body!


  • Project updated. Change log:

Just a quick change of the floor material to make it clearer to see animation and foot movements, while I’m still working on the gun customization update…


Project updated. Change log:

  • Armory room is no longer necessary and was removed. Gun customization is now done at any moment during gameplay, with parts present in the player’s inventory

  • Simplified player spawn code and spectator is no longer necessary

  • Simplified gun and attatchments spawn code

  • Added a gun parts inventory to the character, but items can’t be dropped or picked up yet (but are spawn with the character)

  • Added thumbnail pics for gun parts, that are now shown during gun customization, instead of the part’s name

  • Gun customization no longer happens only on client and is now fully replicated

  • Attachment on rails logic is now both simpler and more realistic

  • Attachment sockets nomenclature is now simpler

  • Markers for attachment sockets are no longer spawn with the gun. They are only spawn when going into gun customization mode and destroyed when leaving it

  • Rear flip sight’s code for flipping up/down is now simpler

  • Button to change paint of gun and attachments in-game was removed. During customization, parts now have a thumbnail to show their paint before being added to the gun

  • Fixed: being allowed to fire while playing the UnEquip anim (glitch introduced with the full-body character in a past update)


Project updated. Change log:

Quick fix - when customizing the gun, it no longer can push map physics objects around when moving


Project updated. Change log:

  • Changed the amount of virtual bones on the character from 3 to 2 (removed the VB sight bone). This fixes an issue that some custom skeletons/anims had with the system. Also updated the related section of the instructions video

  • The function CalcSightsTransforms was changed and now it’s named CalcHandTransforms

  • For iron sights, now the center of mouse sway on the gun can be easily changed from the front sight to the rear sight in the blueprints, if preferred

  • Fixed log errors that would sometimes appear when trying to shoot, aim, etc. before the character was completely spawned in multiplayer


Project updated. Change log:

Turned off nativization in the project settings, as it can give errors in packaged projects


Project updated. Change log:

Fixed the engine crash when retargeting with virtual bones. Apparently the engine was fixed some time ago, but the mannequin doesn’t get fixed automatically. So what I did was I imported a new mannequin and replaced the old mannequin in the project.

NOTE: If you already have your system integrated in your project and don’t want to start the integration again with the new version, you can easily do the fix on your own project:

  • Create a backup copy of your project 1st of all
  • Create a new Third Person template in UE4 v4.24 or newer (might work with some older versions too, but I haven’t tested)
  • Migrate the mannequin (skeletal mesh, skeleton, materials, etc.) from the Third Person template to your project
  • Inside your project, copy/paste the sockets (Gun socket, Holster socket, etc.) from your old mannequin to the imported one
  • Add the 2 virtual bones to the imported mannequin
  • Delete your old mannequin skeleton and, when prompted to ‘Replace References’, select the imported skeleton
  • Delete your old mannequin skeletal mesh and, when prompted to ‘Replace References’, select the imported skeletal mesh
  • That should be all. Test by hitting the Play button and, if it looks broken, close and re-open the project

Project updated. Change log:

  • Fixed a small anim glitch when switching weapons at the moment that the corresponding character anims are switched. This became specially visible in UE5, but now it’s fixed for all versions.
5 Likes