Why if the targetToFollow(Player) is rotating and facing the transform the player can get close to the transform even touch it?

using System; using System.Collections; using System.Collections.Generic; using System.Linq; using UnityEngine; using UnityEngine.UI; using UnityStandardAssets.Characters.ThirdPerson;  public class Follow : MonoBehaviour {     public Transform targetToFollow;     public Transform missionTarget;     public GameObject naviParent;     public ThirdPersonCharacter thirdPersonCharacter;     public Text textDistance;     public Text textSpeed;     public float lookAtRotationSpeed;     public float moveSpeed;     public float followRadius = 1.5f;     public float fastRadius = 5f;     public float speedBoost = 0.5f;     public bool follow = false;     public bool reachTarget = false;      private bool isNaviChild = false;     private Vector3 lTargetDir;     private float originSpeed;     private float originFollowRadius;      void Start()     {         originSpeed = moveSpeed;         originFollowRadius = followRadius;          if (reachTarget)         {             moveSpeed = thirdPersonCharacter.m_MoveSpeedMultiplier * 5;             followRadius = 0.1f;         }     }      // Update is called once per frame     void FixedUpdate()     {         if (follow)         {             if(reachTarget)             {                 moveSpeed = thirdPersonCharacter.m_MoveSpeedMultiplier * 5;                 followRadius = 0.1f;             }             else             {                 moveSpeed = originSpeed;                 followRadius = originFollowRadius;             }              lTargetDir = targetToFollow.position - transform.position;             lTargetDir.y = 0.0f;              Turn();              float ms = moveSpeed;             var distance = Vector3.Distance(transform.position, targetToFollow.position);             // Compute a position no further than followRadius away from our target.             Vector3 fromTarget = Vector3.ClampMagnitude(                 -lTargetDir, followRadius);             Vector3 stopPoint = targetToFollow.position + fromTarget;              // Compute a speed that's faster when far away and slower when close.             float speedBlend = Mathf.Clamp01((distance - followRadius) / (fastRadius - followRadius));              ms = moveSpeed + speedBlend * speedBoost;              // Move as far as we can at our speed ms to reach the stopPoint, without overshooting.             transform.position = Vector3.MoveTowards(transform.position,                 stopPoint, Time.deltaTime * ms);              var dist = Vector3.Distance(transform.position, targetToFollow.position);             if (dist < 0.1f && isNaviChild == false && reachTarget)             {                 transform.parent = targetToFollow;                 transform.localPosition = new Vector3(0, 0, 0);                 transform.localRotation = Quaternion.identity;                 transform.localScale = new Vector3(0.001f, 0.001f, 0.001f);                  isNaviChild = true;             }         }     }      private void Turn()     {         transform.rotation = Quaternion.RotateTowards(transform.rotation,                 Quaternion.LookRotation(lTargetDir), Time.time * lookAtRotationSpeed);     }      private void Mission()     {      } } 

When the bool flag follow is true and the bool flag reachTarget is false the transform that this script is attached to is moving towards the targetToFollow and then when the targetTofollow(in this case the target is the player that move by the kleys WSAD) move the transform is following him with keeping distance to follow that’s the followRadius.

The problem is that if I rotate my place to face the transform and then moving the player forward he will be able to get too close to the transform even touching it.

But in my logic if the radius to follow is 1.5 so even if the player will face the transform and try to move forward to it the transform should always move to the back of the player or move back and keep the follow radius of 1.5 or if the follow radius is 66.3 then 66.3

The player should not be able to get so close to the transform.

How can I solve it ?