Why does my weapon displace itself once fired?

Hello all, hoping someone can point me in the right direction. Ive been using countless resources and tutorials trying to figure this out but just cannot for the life of me,
Currently I have 2 weapons that I can swap between, but when firing the secondary weapon, it displaces out of the hands. Ive spent hours troubleshooting and cant figure this out as I pretty much just copied everything from the other gun and changed what was needed.
This is what the character BP is for the fire action

This is the BP for the weapon itself, this is the same as the primary weapon but swapped mesh and anims accordingly.

Not only that, but I cannot get it to do the draw animation for the weapon. The primary(rifle) does it fine and i did not reference it anywhere, but the secondary (revolver/pistol) only does the hands. The revolver draw should be spinning. Both state machines have their respective hand draw animation but only one weapon mesh is doing the draw. If that makes sense.

Just to be clear, the animations within Blender have no issues as well as Unreal’s preview of the hands and weapon. In both places they work fine and they are centered properly, but when hitting play and firing, it does not work as intended and ends up misplaced until I stop and press play again.

Video for reference, also not sure why the draw plays after every action either.

Can you post the skeleton tree of the secondary gun? And maybe the first gun too for comparison. Are you using root motion?

What are your collision Settings? My thought is when you change your weapon the collison for the guns should be set to enabled = False so there are no issues between the weapons as you are using them. That may split your T/F branch but you could make another Variable called “equipped Weapon” and set that as which ever weapon is active.

For the animation portion of your questions;

Check in your secondary weapon that Skeleton animation update is enabled

Let me know how it goes!

So when I enable root motion it does stay in the hand where its supposed to, but still offsets a tiny bit upwards and the reload is slightly off as well. I cant imagine that my bones are wrong since everywhere else they preview perfectly fine. The only difference in this mesh as you can see is that loader is sitting there out of view. I know that naturally I probably should make that a separate mesh to bring into the animation but I did it this way for ease of testing I figured. Thats the only thing I can think of since I set a default arm animation/rig file in blender to make sure theyre always configured the same.


I havent even setup collision settings yet so everything would be the default or have none as of right now.
You mention adding an equipped weapon variable which is what I already did here prior in the inputaction fire event to the branch. Not sure if thats what you mean?

Im also not finding any way to do Skeleton animation update via checkbox or blueprint. Excuse my lack of knowledge, the engine is still a major learning point for me as you can see. Im having to learn quite a bit for this not including UE4 so im all over the place.

As I said in response to AlienRenders above, the only issue here I can tell is that this mesh has the loader in it which I believe isnt technically correct. It should be an additional mesh called in for the animation from my understanding, so thats the only thing I can imagine is causing the issue. However only one of these animations use the loader (reload), and the idle is working fine as well.

The skeleton animation update would be in your skeletal mesh for your weapons, this is also were you could confirm the collison settings just to make sure there are no conflicts in colliding with your player or other hidden weapons