2D Aim Offset on the edges

Glad it worked for you!

I probably should have mentioned it above, but as for the warping, yea, using a similar pose in ±180 is needed. Also helps to tick the “wrap input” option in the aim offset. Doesn’t look like it’s a problem for you, but my characters’ heads spin around like a cartoon owl when passing the 180 mark. If you run into that later with a different weapon, I think the fix is to make the -180 pose slightly different so the rotation delta is smaller when the head turns in the proper direction.

Also, if you (or anyone else who finds the topic later) want to add mouse aim to the mix, here’s my spaghetti noodles for aim input:

As per the code sample further upstream, I use world location of a target for the offset calculation so it will work with mouse, gamepad, or a simple target actor location variable on npcs.

The math on the LinePlaneIntersect node for mouse aim input will depend on which plane movement is locked to. In my case, actors are constrained to Y/Z plane at 100 x. I use 100 instead of 0 to minimize navmesh triangles, since a centered navmesh will split the cells in half along 0 in the x and y axis for some reason.