Struct variable getting erased during runtime

I have a gun struct set up for an FPS. It has 2 skeletal mesh variables in it. 1 that holds the mesh for the arms and 1 for the gun mesh. Basically, every time I switch weapons in my inventory, I call those variables out of the struct and set the current mesh of the arms and gun to whatever the current inventory gun is.

Everything works fine initially, guns and arms swap fine. But for some reason the second I fire any gun (left mouse), the arms mesh variable gets wiped from that struct so when you eventually switch back to that gun the arms are gone and its just a floating gun.

And the kicker is: I set the mesh variable in the struct to be uneditable and it STILL gets deleted somehow.

Just comin on here to see if anyone has ever experienced something like this with structs or changing skeletal meshes dynamically.

I can also post the shooting logic part of the BP but I can assure you theres abolutely nothing in there that touches the struct other than reading from it.

And shooting the guns is explicitly the ONLY thing that causes this. Every other animation and movement state that exists when playing the game does not cause it to wipe

Can you show code? You sure you setting individual variables instead of setting entire struct?

good point. it is easy to accidentally set the whole struct to default values except for the ones you give input wires.

I got it guys. It was the ammo management in the shooting logic. There was a macro with a “make struct” that did not have the arm mesh pin connected!