# Matter js sensor collision sometime not detected on enter collision

**URL:** <https://phaser.discourse.group/t/matter-js-sensor-collision-sometime-not-detected-on-enter-collision/8637>\
**Category:** Phaser 3\
**Created:** [January 14, 2021, 4:15am UTC](https://phaser.discourse.group/t/matter-js-sensor-collision-sometime-not-detected-on-enter-collision/8637 "2021-01-14T04:15:21Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![as3mbus](https://yyz2.discourse-cdn.com/free1/user_avatar/phaser.discourse.group/as3mbus/32/3328_2.png) [@as3mbus](https://phaser.discourse.group/u/as3mbus)\
**Post date:** [January 14, 2021, 4:15am UTC](https://phaser.discourse.group/t/matter-js-sensor-collision-sometime-not-detected-on-enter-collision/8637/1 "2021-01-14T04:15:22Z")

</div>

hello i made a simple slot machine game with sensor on when an object hit the bottom area. but it seems there are case where sensor is not triggered properly.

below are the code i use to set up the sensor area

```
this.matter.world.on('collisionstart', (event)=> {
        for (const pair of event.pairs) {
            const bodyA = pair.bodyA;
            const bodyB = pair.bodyB;
            console.log(pair);
            if (!bodyA.isSensor && !bodyB.isSensor) return;
            const sensor = bodyA.isSensor ? bodyA : bodyB;
            console.log(`sensor ${sensor.label} is hit`);
            this.goal();
        }
    });

```

i’m having hard time debugging these case without any clear reproduction process.

thank you beforehand

---

<div class="post-metadata">

**Author:** ![Milton](https://avatars.discourse-cdn.com/v4/letter/m/87869e/32.png) [@Milton](https://phaser.discourse.group/u/Milton)\
**Post date:** [January 14, 2021, 5:30am UTC](https://phaser.discourse.group/t/matter-js-sensor-collision-sometime-not-detected-on-enter-collision/8637/2 "2021-01-14T05:30:20Z")

</div>

Does ‘collisionStart’ always trigger when you don’t use sensors?  
If so, maybe you could handle it yourself by pair.isActive = false or something like that.  
Or you could check ‘collisionActive’, and if you never received ‘collisionStart’ for that pair, you know you missed it.

---

<div class="post-metadata">

**Author:** ![as3mbus](https://yyz2.discourse-cdn.com/free1/user_avatar/phaser.discourse.group/as3mbus/32/3328_2.png) [@as3mbus](https://phaser.discourse.group/u/as3mbus)\
**Post date:** [January 14, 2021, 5:55am UTC](https://phaser.discourse.group/t/matter-js-sensor-collision-sometime-not-detected-on-enter-collision/8637/3 "2021-01-14T05:55:22Z")

</div>

yes it does. it prints every pair. but in the case it doesn’t trigger the corellated pair doesn’t print. i am thinking about using set 60hz if that even matter.

trying collision active seems to be more reliable. but for some reason the back of my head says it just one way of another hack. since i’ll be adding flag on stuff.

---

<div class="post-metadata">

**Author:** ![as3mbus](https://yyz2.discourse-cdn.com/free1/user_avatar/phaser.discourse.group/as3mbus/32/3328_2.png) [@as3mbus](https://phaser.discourse.group/u/as3mbus)\
**Post date:** [January 14, 2021, 7:32am UTC](https://phaser.discourse.group/t/matter-js-sensor-collision-sometime-not-detected-on-enter-collision/8637/4 "2021-01-14T07:32:36Z")

</div>

nvm after hundred of tries there are still some rare case when it happens. even with collisionactive event

---

<div class="post-metadata">

**Author:** ![as3mbus](https://yyz2.discourse-cdn.com/free1/user_avatar/phaser.discourse.group/as3mbus/32/3328_2.png) [@as3mbus](https://phaser.discourse.group/u/as3mbus)\
**Post date:** [January 15, 2021, 1:07pm UTC](https://phaser.discourse.group/t/matter-js-sensor-collision-sometime-not-detected-on-enter-collision/8637/5 "2021-01-15T13:07:17Z")

</div>

in the end the question is more like. how to make matter collision more accurate. and remove any missed collision event

---

<div class="post-metadata">

**Author:** ![as3mbus](https://yyz2.discourse-cdn.com/free1/user_avatar/phaser.discourse.group/as3mbus/32/3328_2.png) [@as3mbus](https://phaser.discourse.group/u/as3mbus)\
**Post date:** [February 3, 2021, 12:13am UTC](https://phaser.discourse.group/t/matter-js-sensor-collision-sometime-not-detected-on-enter-collision/8637/6 "2021-02-03T00:13:31Z")

</div>

just a heads up this in case someone encountering similar problem.

the problem was on my script below :

```
if (!bodyA.isSensor && !bodyB.isSensor) return;

```

which in perfect sense should be :

```
if (!bodyA.isSensor && !bodyB.isSensor) continue;

```

i feel so dumb now. maybe it’s related as i’m ill when i write the code beforehand ☹
