UE5 - The "END" hit (line trace) cannot be calculated from a different location forward than the center of the screen, WHY? images attached

Hello, I want to create a shooting system, where the target isn’t centered to the screen, the bullet comes from the right, and instead of traveling to the center it goes to an “offset location at the left”

I created an arrow inside the character BP (representig this offset for the target), and moved the arrow to the left corner, so the “end hit” of the line trace calculates “forward” from there and not the center of the camera, but… it insists on shooting the line trace directly to the center of the screen… what can I do?


The end of the line trace always to the center of the screen, I am trying to offset this by using the top left arrow (target), but it keeps shooting to the center and not relocating the end of the hit to the correct location


Trying lots of things, but no succes, also tried with get world transforms since the arrow is not centered, but not working

Please help with reference images if possible, thanks!

Target = Get target location (vector)
ShootFrom = Get Shoot from Location (vector)
AimRotation = Get look at rotation (Target, ShootFrom)
Aim Rotation → Get Forward Vector

If you need a distance… Target (vector) - ShootFrom(Vector) → Get Length (cm float)

Thanks, it keeps shooting the line trice to the center of the camera, ignoring the offset location of the arrow

BUT… I think I already understand my problem, the arrow from where “forward” has to be calculated it’s a child of the camera, why? because it’s the only way to keep the arrow rotating and always looking forward, so probably the “get world rotation or location” both fail because even when calculated from the arrow, they keep using the parent location and rotation, wich is the camera, that is why the line trace always goes to the center, so… I tried by using “relative location and rotation” from the offset arrow, but now it is shooting to a fixed point all the time

Also tried like this without succes:

And this, also no succes and makes it to shoot backwards:

If you take the world location of the arrow as start and the target location as end for the trace it will draw a line from the arrow to exactly the location of the target.

What we want is to add more distance to that trace. Shoot through our target point so to speak.

Shoot From is where the trace will start. We take that location and get the rotation needed to point at the target location. Now that we have a direction we can take the forward vector of that rotation and multiply it by a distance… How far in that direction do we want to trace. Then add that vector to the shoot from vector to give us a shoot at vector.