Follow An Object Until Key Press

Hey guys,

I’m trying to figure out how to make an object follow another object, but only until a button is pressed. Here is what I’ve got so far:

public GameObject target;
	
	void Update () {
		Vector3 pos = transform.position;
		target = GameObject.FindGameObjectWithTag("DS_Holder");
		pos.x = target.transform.position.x;
		transform.position = pos;
	}

And though this works, I want the object to stop following “target” after a key is pressed.

Any ideas?

public GameObject target;
bool keyPressed= false;

    void Update () {

        if(!keyPressed){
        Vector3 pos = transform.position;
        target = GameObject.FindGameObjectWithTag("DS_Holder");
        pos.x = target.transform.position.x;
        transform.position = pos;
        }

       	if (Input.GetKeyDown ("space"))
        {
           keyPressed=true;
        }
    }

Using FingObject every frame is very inefficient, consider caching gameobject in start or finding it other way.

Here’s an example. This is actual “follow”, i you prefer your mentioned way or if it’s necessary for you, just change the follow code part.

private bool follow = false;
private GameObject target;
public float moveSpeed = 3f;

private void Start(){
    target = GameObject.FindGameObjectWithTag("DS_Holder");
}

private void Update(){
    if (Input.GetKeyDown(KeyCode.I)){
        follow != follow;
    }

    //Follow
    if(follow){
        transform.LookAt(target);
        transform.position += transform.forward * moveSpeed * Time.deltaTime;
    }
    //Dont follow
    else{

    }
}