# Tile layer won't render above player sprite?

**URL:** <https://phaser.discourse.group/t/tile-layer-wont-render-above-player-sprite/11549>\
**Category:** Phaser 3\
**Created:** [April 18, 2022, 2:06pm UTC](https://phaser.discourse.group/t/tile-layer-wont-render-above-player-sprite/11549 "2022-04-18T14:06:59Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ethereal](https://avatars.discourse-cdn.com/v4/letter/e/59ef9b/32.png) [@Ethereal](https://phaser.discourse.group/u/Ethereal)\
**Post date:** [April 18, 2022, 2:06pm UTC](https://phaser.discourse.group/t/tile-layer-wont-render-above-player-sprite/11549/1 "2022-04-18T14:06:59Z")

</div>

So, I assume I’m missing something obvious. I have a number of tile layers (2D top down), and a player sprite. The depth of the player sprite is set to 5, the depth of one of the tile layers is set to 10… but the player appears in front of the layer as opposed to behind it.

Any idea what I’m missing?

```javascript
this.player = this.physics.add.sprite(player.pos.x, player.pos.y, 'player', 3).setDepth(5);

        map = this.make.tilemap({ key: 'map' });

        var tilesField = map.addTilesetImage('field', 'tilesField');

        var tilesSpring = map.addTilesetImage('spring_summer', 'tilesSpring');

        layerBackground = map.createLayer('Background', tilesField, 0, 0).setVisible(false);

        layerForeground = map.createLayer('Foreground', tilesSpring, 0, 0).setVisible(false);

        layerCollision = map.createLayer('Collision', tilesSpring, 0, 0).setVisible(false);

        layerForeground.setDepth(10)

        rt = this.add.renderTexture(0, 0, 1280, 720);

```

---

<div class="post-metadata">

**Author:** ![samme](https://yyz2.discourse-cdn.com/free1/user_avatar/phaser.discourse.group/samme/32/5275_2.png) [@samme](https://phaser.discourse.group/u/samme)\
**Post date:** [April 18, 2022, 2:26pm UTC](https://phaser.discourse.group/t/tile-layer-wont-render-above-player-sprite/11549/2 "2022-04-18T14:26:19Z")

</div>

👋

The depth code looks right, but all the tilemap layers are invisible.

You can try printing the display list contents:

> [@Show the scene's display and update lists (Phaser 3)](https://phaser.discourse.group/t/show-the-scenes-display-and-update-lists-phaser-3/372):
>
> // From a scene: this.events.once('update', function () { console.info('Display List:'); console.table(this.sys.displayList.list, ['name', 'type', 'x', 'y', 'visible', 'renderFlags', 'cameraFilter']); console.info('Update List:'); console.table(this.sys.updateList.\_list, ['name', 'type', 'active']); }, this);

---

<div class="post-metadata">

**Author:** ![Ethereal](https://avatars.discourse-cdn.com/v4/letter/e/59ef9b/32.png) [@Ethereal](https://phaser.discourse.group/u/Ethereal)\
**Post date:** [April 18, 2022, 8:56pm UTC](https://phaser.discourse.group/t/tile-layer-wont-render-above-player-sprite/11549/3 "2022-04-18T20:56:20Z")

</div>

Thanks! I’m not sure why my sleep deprived brain didn’t think to just switch setVisible. 😑
