I have a player and an enemy. The player has a BoxCollider2D and so does the enemy. How can I check if the player’s BoxCollider2D collided with the enemy’s BoxCollider2D?
you can use OnTriggerEnter2D function.
for example I attached this script to a bomb,if player collides with it ,it Will explode.
void OnTriggerEnter2D(Collider2D other){
if (other.name == "player") {
Destroy (other.gameObject);
}
}
you can also check it like this
void OnTriggerEnter2D(Collider2D other){
if (other.name == "player") {
// playerCollides with the Enemy
}
}
and for exit
void OnTriggerExit2D(Collider2D other){
if (other.name == "player") {
// player is not colliding with the Enemy anymore
}
}
but at least one of your objects should have a Rigidbody2D component and at least of of BoxCollider2Ds should be trigger.
and if your colliders should not be trigger you can use
OnCollisionEnter2D(Collision2D other){
}
Check the official Unity documentation on this, it has almost exactly what you’re asking for.