Issues with group pooling using a custom class that extends Arcade Sprite

Hey guys,

First of all, thank you in advance for your help.
I’m dealing with an issue I can’t wrap my head around, while using group pooling and creating multiple instances with {active: false,visible: false} properties, the invisible sprites are still interactable and appear in the debug view as active bodies - SS below.

It must be something in the construction of the class, but I can’t see it. Any help would be appreciated.

This is the group class:

export class PlayerBullets extends Phaser.Physics.Arcade.Group {
    constructor(scene) {
        super(, scene);

        // Initialize the group
            classType: bullet, // This is the class we create just below
            frameQuantity: 10, // Create 10 instances in the pool
            active: false,
            visible: false,
            enable: false,
            key: 'SmallBlue',

    firebullet (x,y) {
        let bullet = this.getFirstDead(false);
        if (bullet) {
  , y);
            bullet.setVelocity(0, -260);
            bullet.setCircle(12, +52, +48);
            bullet.angle = -90

And here is the custom class that the group uses:

class bullet extends Phaser.Physics.Arcade.Sprite {
    constructor(scene, x, y, texture) {
        super(scene, x, y, texture);

    preUpdate(time,delta) {
        let { width, height } =;

        if ( 0 > this.y || this.y > height || 0 > this.x ||  this.x > width ) {

    fire(x,y) {
        this.body.reset(x, y);

enable has to be in the group config, not createMultiple().