Vector3.Angle() Never Reaching 0

Hello, Im trying to calculate angle by Vector3.Angle(). I drew the result in a professional graphic editor:

It never reach 0, stops at 10, why? My code:

            Vector3 targetDir = Player.transform.position - transform.position;
            float angle = Vector3.Angle(targetDir, transform.forward);
            Debug.Log(angle);

Well, we have no idea how you actually align your forward direction with the direction to your enemy. Keep in mind that your drawing is 2d while in reality your player object and the target object have 3d coordinates. So if this is a 2d game you may have located your player and target object at different z values? Specifically a difference of about “0.173” times the distance between your player and target (assuming it’s actualy 10°). If not you have to add more details on what you do to align your player to the target.