- Home /
 
 
               Question by 
               ro00 · Jun 01, 2021 at 11:45 AM · 
                ontriggerentermovetowards  
              
 
              Doesn't the ontriggerenter method work when we use movetowards?
I want the enemy to shoot towards the player. if the bullet goes into the player i will do some other work. But ontriggerenter is not working. Why is that? The player and bullets have collider.
 public class PigBullets : MonoBehaviour
 {
 
     Transform player;
     Vector2 direction;
     Vector2 target;
 
     public float speed;
     public int damage = 20;
     bool colliderBusy = false;
 
 
     void Start()
     {
         player = GameObject.FindGameObjectWithTag("Player").transform;
         direction = (player.transform.position - transform.position).normalized * speed;
         target = new Vector2(direction.x, direction.y);
     }
 
 
     void Update()
     {
         MoveToTarget();
     }
 
 
     void MoveToTarget()
     {
         transform.position = Vector2.MoveTowards(transform.position, target, speed * Time.deltaTime);
     }
 
 
     void OnTriggerEnter2D(Collider2D other)
     {
         if (other.tag == "Player" && !colliderBusy)
         {
             Debug.Log("Entered to player");
             colliderBusy = true;
             other.GetComponent<PlayerManager>().TakeDamage(damage);
         }
     }
 
 
     private void OnTriggerExit2D(Collider2D other)
     {
         if (other.tag == "Player")
         {
             colliderBusy = false;
         }
     }
 
 }
 
              
               Comment
              
 
               
              Did you set the colliders to onTrigger in the inspector? Also one gameObject will probably need a rigidbody.
Your answer