// Update is called once per frame void Update() { if (lockedPlayer != null) { Vector3 goldToPlayer = lockedPlayer.transform.position - transform.position; float distToPlayer = Vector3.Magnitude(goldToPlayer); if (distToPlayer < distForConsumption) { lockedPlayer.AddGold(goldAmount); // todoj // play resource collected effects Destroy(this); } else { this.GetComponent <Rigidbody>().velocity = goldToPlayer.normalized * moveToPlayerSpeed; } } }