I think the problem may be the “ReticleHUDSet” isn’t set to anything. Also, you should be using “GetOwningPlayer” there, but that’s small.
BUT, I just found a much better & simpler solution, lol:
It works perfectly and reaches the borders of any viewport size (which means it’s accurate). Make sure the center of the target is at (0,0) in the widget.