Procedural Aiming

Procedural Aiming in the Marketplace

Change logs:

v1.0.1 change log
v1.1.0 change log
v1.1.1 change log
v1.1.2 change log
v2.0.0 change log
v2.0.1 change log
v2.0.2 change log
v2.0.3 change log
v2.0.4 change log
v2.1.0 change log
v2.1.0b change log
v2.1.1 change log

Hello guys!

I’ve just released the Procedural Aiming blueprint asset on the Marketplace! Feel free to post questions, feedback, issues, etc!

Update v1.0.1:

Change log:

  • No need to name the main gun component “Mesh1P” anymore. Now it can be named whatever you want, just like the other components, but it needs to have a tag named “MainMesh”. This facilitates switching the main mesh component from skeletal mesh to static mesh and vice versa, since you don’t need to replace the reference in the code anymore.

  • Example meshes were now re-imported into Unreal facing +X axis instead of +Y axis. It makes no difference for the auto-aligner, but it’s now oriented as advised by Marketplace guidelines.

  • Calculation of gun sights locations and rotations now use less nodes in the blueprint.

  • Youtube tutorial video updated.

hello, are you planing on bringing this out for version 21? or is there any chance i can download the 22 version and implement all the code to my 21 project?

Hey man, it looks like I missed your post, I’m really sorry for that… I can swear I didn’t receive any notification. Anyway, I’ll check this and get back to you with the answer in a moment.

So I tried the engine version switch feature - right click on the .uproject file and select “Switch Unreal Engine version”, but the resulting project seems to have all the assets locked in the editor. I will try starting a project in 4.21 and migrating the assets and maybe copy-pasting the code, but I will need a bit more time for that. I’ll get back to you as soon as I have an answer.

So UE 4.21 doesn’t accept migration of assets from the UE 4.22. And attempting to simply copy/paste code results in engine crash, probably because code makes reference to assets - blueprints are assets too and some blueprints need to reference others. And also: blueprints reference animations, animation blueprint references blueprint, etc. Apparently, releasing a working version of the project for an older version of the engine would require re-importing sources (meshes, textures, materials, animations), re-setting them up with each other and re-assembling the blueprints. At the moment I can’t do this… I’m working on project improvement currently… So I’m sorry for this…

Update v1.1.0

Change log:

  • Tweaked the auto-aligning method. It now uses less nodes and adding your own movements/sway to the gun became easier, since now you control the location/rotation of the sight’s aimpoint directly by controlling a bone (sight’s location/rotation is the same of the bone).

  • Aiming is no longer a separete 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 amplitude and play rate of the procedural animation for firing while aiming down sights.

  • Reorganization of folder structure.

  • Updated to UE4 4.23.

  • Youtube video tutorial updated to reflect the new folder structure. Instructions are the same, since the procedure for swapping the example gun and anims for your own gun and anims is exactly the same.

Im using a full body mesh with aim offset and ironbelly studio weapon packs.
aligning the weapon for projectiles fire with the camera and crosshair is a pain. every weapon aims at a different height and has different sights on different heights.
Could you showoff a use of this ik system for a full body?
I know it might be a lot to ask of - but I would very much appreciate it. @PeaceSells_

I’m looking into it, should have an answer soon.

@AngeIV - I’ve been testing the change to the full body mesh and making the necessary adjustments and, while the alignment itself works, there are other very important aspects about using a full body mesh in a 1st person perspective that must be carefully adjusted, in order for the end result to look good from outside. Making a solution for this requires significant changes and additions to this project, which I actually would like to implement, but right now I can’t spend the necessary time with this specifically. This might be incorporated in this asset in the future though, since I also find it much cooler to use a full body mesh then an arms mesh. I understand you and I think this is a valid request from you and not a matter of being “a lot to ask”, it’s more a matter of incorporating a feature that is already on the list of future *possible *(due to time constraints) additions for this asset.

Btw, if you’re trying this on your own, the first thing you have to do if you make the camera a child of the body mesh, instead of the the mesh being the child of the camera (which is default for traditional FP shooters and how it’s currently set), is to change how you access the camera in the anim blueprint. Currently it creates a reference for the character’s camera in the BeginPlay event and, from that point on, it accesses it through this reference. That reference seems to not work well when the camera is a child of the mesh, so you will need to access the camera through a character reference directly instead.

Yeah I’ve been playing with some FPS added to different anim system out there, but ended up with making my own due to multiplayer specific requirements. The results are not bad, however as most of my aiming require proper animation setup, and the gun has actual functional barrel and the GUN is shooting the projectiles - the aim is never EVER perfectly at the center of the screen. it is where the muzzle aims, or roughly where the scope aims (due to scope proper mounting at proper angle, but still what I love about Your system is that you setup the exact crosshair center point. Tell me - is your M16 package be a better starting point to incorporate a full body multiplayer shooter or this package?
“On the roadmap” - how far away would you estimate? Is it weeks? months? days? years (like waiting for landscape architect :smiley: LOL)

Edit: Also thank You for the long explanation and answer. Most appreciated!

No, in that aspect both packages are the same, they use the same auto-aligning method and use the same SK_Mannequin_Arms for 1st person view.

Keep in mind that I can’t state right now that this feature will actually be incorporated. If I start working in this feature, it will be after I finish some of the work I’m doing right now, which will take some months. Then after I start, I estimate it would take weeks to get done. So I would say that, if this feature is going to be incorporated, it would be in a matter of months from now.

EDIT: Btw, if you’re using this or the other asset in your project and need some help implementing your stuff, even if it’s a full body implementation, I may be able to help you also in the Discord channel… If you want to join, send me an email and I’ll send you the link.

No need to name the main gun component “Mesh1P” anymore. Now it can be named whatever you want, just like the other components, but it needs to have a tag named “MainMesh”. This facilitates switching the main mesh component from skeletal mesh to static mesh and vice versa, since you don’t need to replace the reference in the code anymore.

Yes, that’s right… would you like some help?

Hey man. I just got this and I would like to know the best way to not use a flip flop action so I can aim by holding instead. I also changed the zoom to be like that by using the reverse function and it works great but for the other, I want to make sure I don’t break anything.

Hey, just do this change in the anim blueprint (AB_ExampleCharacter). Delete the FlipFlop and add another custom event (ExitAim), wired like shown below:

Then do this change in the character blueprint (B_ExampleCharacter):

Please let me know if you encounter any problems…

Updated to v1.1.1

Change log:

  • 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.1.0 (since v1.1.0, the old method would let the rear sight a bit off depending on its location on the gun in relation to the front sight)

  • Corrected code comments that were outdated since v1.1.0

  • Updated to Unreal Engine v4.24

Updated to v1.1.2

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.

Hello. Is there any way to get your sight aligner to work in a replicated game. The sights work on the server but not on the client.


Could you tell me more precisely what your’re having trouble with? I just did a test in multiplayer mode and the sights worked on server and on all clients (please see the pics below).

Typically, in multiplayer, the anims themselves aren’t replicated, they are controlled locally on the client by their character, but the character on the client is controlled by the character on the server (replicated). It worked in the pics below because each client is controlling his own anims locally, but one client won’t see another client aiming down sights, unless you replicate the aim down sights command in the character. But you have to remember that the alignment happens on the FP floating arms, which aren’t supposed to be seen by other clients anyway. If you’re doing multiplayer with this character, you should add a whole body mesh to him to be seen by the other clients. This whole body mesh doesn’t need to align the sights, you just need to add a generic aiming pose to it so, from outside, he looks like he’s aiming his gun. Please tell me more preciselly where you’re having trouble right now and I’ll see how I can help you better.