using setPipeline('Light2D') on my sprites / tilemaps make them disappear


  • Phaser Version: 3.55.2
  • Operating system: macOS
  • Browser: Tried with Chrome & Brave


When using setPipeline('Light2D') on any of my game objects or tilemap layers, they simply stop getting rendered. My game is set to WEBGL rendering mode.

Example Test Code

using config:

 const config: Phaser.Types.Core.GameConfig = {
    type: Phaser.WEBGL, 

loading my tileset:

          key: 'wasteland_tiles',
          url: 'assets/img/tiles/wasteland_tiles.png',
          normalMap: 'assets/img/tiles/wasteland_tiles_n.png'

simply setting the following:

    map.layers.forEach(layer => {
      layer.tilemapLayer.setPipeline('Light2D') // enable lights

causes my map not to be rendered

Additional Information

In this image you can see that some scene elements are rendered but most are not. it’s not clear to me why the trees/rocks are being rendered while the rest of the tilemap layers are not (even though i set Light2D on all map layers).