Alllllllllllllllllllllllright,
i removed the targetObject part of the function and now it works with the Vector3 targetPosition only
the Vector3 is still used as an offset even when there is no Object set in the first place but now it behaves like i want it to be so far.
Thank you djaydino for your work and i will post the function when everything runns bugless!!