Dear Jade,
As I opened the blueprint it became immediately clear where the problem is, or at least its my first insight which I wanted to share before I continue to try things out which are described below also.
Basically it looks like a pivot point problem after all, the yaw works correctly because the pivot point is in the low centre of the model, thus it is also in the centre of rotation for the yaw. But the pivot point of the gun_pitch is in the exact same place, so to rotate it correctly one would have to take into account the offset which occurs, because the pivot point is actually below the turret. In fact, all the pivot points are in the same place,
is this also the case with your BP? Since in the picture you provided last, the pivot point for the gun_pitch is drawn correctly, yet its not what I observe in the blueprint.
It would seem that I now have two ways to proceed - either make a simple copy of the mesh with correctly placed pivot points to illustrate that the logic is correct (after I test it of course), or I could try and mitigate the offset created by the unhandy placement of the pivot point for the gun_pitch.
However, there is a third option which I believe is the easy solution for all this since it wouldn’t require me to build a mesh and wouldn’t require you to re-export your assets - add the gun_pitch part of the mesh to a new (invisible) actor inside the blueprint, like a box (just like the scene root of the BP), so the pivot point can be changed.
Ideally you would want to re-export your mesh with correct pivot point placement, because then you wouldn’t have an extra actor in your BP scene (like an extra, empty box), but just to solve this on my end I will go with this third option for now. Also if you originally exported the model with pivot points aligned in one place to easily place it in your scene, I believe its not really necessary because you only have to align it once in your blueprint and from there on you just re-use the blueprint in the level, not the separate meshes. I tend to only align pivot points of static structures which consist of many parts, all rotating and moving parts need the pivot points thought of as separate items and so on.
To summarize- if the gun_pitch is within the structure of another object, like an invisible box I’m about to add, you could just rotate that instead of the gun_pitch itself. I will test this and post the result, but my suspicion is that you know what I mean and are already on your way solving this yourself, I’ll report back as I test this method as it really beats the other two in terms of time and effort since I don’t have the source model files, also it will allow to test the logic.