# View Chunks

# Spawn Chunks

Against popular belief spawn chunks DO exist on bedrock edition. These chunks around a given player's spawn point and are there mostly for performance reasons. If you have ever went into a portal and came back you will know that the transfer from nether to overworld is much faster than the opposite. This is because of spawn chunks. This can help you load those chunks to the ticking status much quicker than if they were fully unprocessed. These chunks form a rounded 11x11 square of <span style="color: rgb(230, 126, 35);">[unloaded chunks](https://bedrockwiki.com/books/chunks/page/view-chunks)</span> and of course bordering them is a rounded 15x15 square of <span style="color: rgb(230, 126, 35);">[locked chunks](https://bedrockwiki.com/books/chunks/page/locked-chunks)</span>.

## <span style="color: rgb(230, 126, 35);">Where do they come from?</span>

<span style="color: rgb(149, 165, 166);">Spawn chunks are a consequence of </span>

```c++
void Player::updateSpawnChunkView();
```

<span style="color: rgb(149, 165, 166);">which is called by these functions to move the spawn chunk view region to where you last set your spawn.</span>

```c++
void Player::setBedRespawnPosition(BlockPos const& bedPosition);
void Player::setRespawnPosition(BlockPos const& inRespawnPosition, DimensionType dimension);
bool Player::setSpawnBlockRespawnPosition(BlockPos const& spawnBlockPosition, DimensionType dimension);
```

[![spawnchunksvisualisation.png](https://bedrockwiki.com/uploads/images/gallery/2025-09/scaled-1680-/spawnchunksvisualisation.png)](https://bedrockwiki.com/uploads/images/gallery/2025-09/spawnchunksvisualisation.png)

<span style="color: rgb(126, 140, 141);">(Visualization by @kiwixite on discord)</span>

<p class="callout info"><span style="color: rgb(126, 140, 141);">These chunks will become unprocessed on server/world shutdown until loaded again. After which they will stay persistent across *that* session.</span></p>

# Locked Chunks

<span style="color: rgb(149, 165, 166);">Locked chunks are chunks that exist and have references in memory but do not process any events. These chunks may behave like unprocessed chunks to the untrained eye, but if you put an entity in one and use **/testfor** you will see that it does still exist. These chunks are generally out of the way in terms of where they appear, so you aren't likely to interact with them in day to day gameplay. Locked chunks are only seen in one natural instance and that is bordering <span style="color: rgb(230, 126, 35);">[unloaded chunks](https://bedrockwiki.com/books/chunks/page/view-chunks)</span></span>.

## <span style="color: rgb(230, 126, 35);">Where are they</span>

<span style="color: rgb(149, 165, 166);">As stated previously they appear around unloaded chunks, but in what way? Locked chunks create a 5x5 square around a given unloaded chunk. This is good to know when testing with unloaded chunks, because these chunks may cause unexpected behavior when you are building. </span>

![lockedchunks.png](https://bedrockwiki.com/uploads/images/gallery/2026-07/scaled-1680-/lockedchunks.png)

<span style="color: rgb(126, 140, 141);">(Green is the [Unloaded chunk](https://bedrockwiki.com/books/chunks/page/view-chunks) and the yellow/orange is locked)</span>

# View Chunks

<span style="color: rgb(149, 165, 166);">View Chunks or Cached Chunks (but officially called view chunks) are chunks that have most but not all functionality disabled within them. These chunks are not simulated and cannot process things like block updates and pending ticks. These chunks do process some events however and knowing what does and does not work will help you be able to interact with these chunks in much more confidence.</span>

## <span style="color: rgb(230, 126, 35);">Where do they come from</span>

<span style="color: rgb(149, 165, 166);">They come from only these sources:</span>

- <span style="color: rgb(45, 194, 107);">End Gateway Pairing</span>
- <span style="color: rgb(241, 196, 15);"> Player Render Distance</span>
- <span style="color: rgb(241, 196, 15);">Spawn Chunks</span>
- <span style="color: rgb(186, 55, 42);">Maps</span>
- <span style="color: rgb(45, 194, 107);">Various Commands</span>
    - <span style="color: rgb(8, 103, 31);">/teleport</span>
    - <span style="color: rgb(8, 103, 31);">/execute detect</span>
    - <span style="color: rgb(8, 103, 31);">/structure</span>
    - <span style="color: rgb(8, 103, 31);">/spreadplayers</span>
    - <span style="color: rgb(8, 103, 31);">/setblock</span>
    - <span style="color: rgb(8, 103, 31);">/fillblocks</span>
    - <span style="color: rgb(8, 103, 31);">/clone</span>
    - <span style="color: rgb(8, 103, 31);">/testforblock</span>
    - <span style="color: rgb(8, 103, 31);">/testforblocks</span>
- <span style="color: rgb(45, 194, 107);">Lighting Updates.</span>
- <span style="color: rgb(45, 194, 107);">Ticking Areas</span>

<p class="callout info"><span style="color: rgb(45, 194, 107);">Green</span> means the view region is deconstructed after use. <span style="color: rgb(241, 196, 15);">Yellow</span> means the area is deconstructed after the owner disconnects. <span style="color: rgb(186, 55, 42);">Red</span> means the area is never deconstructed until the world restarts.</p>

## <span style="color: rgb(230, 126, 35);">What Works In Them</span>

<span style="color: rgb(149, 165, 166);">The things we know to work in unloaded chunks:</span>

- <span style="color: rgb(149, 165, 166);">Redstone circuit structure</span>
- <span style="color: rgb(149, 165, 166);">Capacitors (E.g, Redstone Torches, Repeaters, Comparators) </span>
- <span style="color: rgb(149, 165, 166);">Redstone Dust</span>
- <span style="color: rgb(149, 165, 166);">Global Entities (Player Owned Projectiles, Ender Dragon, fireworks, lightning)</span>
- <span style="color: rgb(149, 165, 166);">Block state changes from a wind charge</span>
- <span style="color: rgb(149, 165, 166);">Sculk Spread</span>
- <span style="color: rgb(149, 165, 166);">Block Creation</span>
- <span style="color: rgb(149, 165, 166);">Tripwire</span>
- <span style="color: rgb(149, 165, 166);">Target Block</span>
- <span style="color: rgb(149, 165, 166);">Pressure Plate</span>
- <span style="color: rgb(149, 165, 166);">Damaging/Killing Entities (Non-Global Entities will not be fully dead/deleted until simulated)</span>
- <span style="color: rgb(149, 165, 166);">Artificial Entity Spawning</span>
- <span style="color: rgb(149, 165, 166);">Breeze Projectile Redirection</span>
- <span style="color: rgb(149, 165, 166);">Pending Tick Scheduling (Not execution)</span>
- <span style="color: rgb(149, 165, 166);">Wind Charging effect.</span>
- <span style="color: rgb(149, 165, 166);">Weaving Effect</span>

<p class="callout info"><span style="color: rgb(149, 165, 166);">Although Observers are a "Pulse Capacitor" they cannot fire in unloaded chunks due to their reliance on pending ticks.</span></p>

<p class="callout warning">Since tridents are player-owned projectiles, they can fall through the world if they spawn in an unloaded chunk before the chunk’s block collision map is initialized especially when the world is running slowly. Grindstones are used to combat this.</p>

## <span style="color: rgb(230, 126, 35);">How it works under the hood</span>

<span style="color: rgb(149, 165, 166);">This functionality is a product of </span>