Quick answer: GameMaker collision event with 'other' object triggering when the instance collides with itself? Same-type collisions fire the event; the 'other' is also self - check id != other.id.
Bullet object has a collision event with Bullet. Bullets shooting in clusters trigger self-collision; explode on contact.
Skip self
if (id != other.id) {
// collide
}Guard at the top of the event. Self-collision returns immediately.
Or use layers
Bullet layer doesn't collide with itself via collision mask. Configure at the room level.
Check object hierarchy
If the event is inherited from a parent, both objects fire it on their own. Move per-bullet logic to the leaf object.
“Collision events fire on both sides. Self-pair is one of the cases.”
Build a 'safe collision' macro that checks id != other.id. Reusable; reviewers spot un-guarded events as a smell.