Creating a Large Seamless 3D World in Godot Using Scene Chunks.
by Vicente C.
Published |
24
Share
CZDOOM developers showed us how they are building the large open areas in Verse Unknown by splitting the world into scene chunks that only process when the player gets close to them.
Developer duo CZDOOM showed us how they are building the large open areas in their upcoming 3D platformer-adventure game Verse Unknown, while keeping most of the world unloaded from processing until the player gets close to it.

The system is fairly simple: the world is split into separate scene chunks called islands, and each time the player enters one of them, only that part of the world starts processing.
According to Cheyennix, one of the two developers, keeping the world seamless was important both visually and for gameplay. The idea is for players to be able to see distant places (and later travel there) without loading screens between areas.
The problem is that keeping an entire world active at all times can become very expensive performance-wise, especially when it is filled with animations, collisions, and gameplay logic.

To solve this, every globe in the game is divided into multiple islands, with each island existing as its own scene connected inside the larger world scene.

Inside each island there is an Area3D connected to a custom ProcessModeEffect node. When the player enters the area, the island processing is enabled. Once the player leaves, the processing gets disabled again.
@export var target_node: Node
@export var inside_process_mode := Node.PROCESS_MODE_INHERIT
@export var outside_process_mode := Node.PROCESS_MODE_DISABLED

var _is_active := false

func _on_activation(_acti_info) -> void:
    _set_active(true)

func _on_deactivation(_acti_info) -> void:
    _set_active(false)

func _set_active(active: bool) -> void:

    if _is_active == active:
        return

    _is_active = active

    var new_mode = inside_process_mode \
        if active else outside_process_mode

    target_node.set_deferred(
        &"process_mode",
        new_mode
    )
This means the CPU only has to process the parts of the world the player is currently near, instead of constantly updating every node across the entire map.

Most of the time, only one or two islands are active at once, which helps reduce unnecessary collision checks, scripts, animations, and other background processing.

Cheyennix also mentioned that the transitions between islands are carefully hidden behind geometry, so players do not notice chunks activating or deactivating while exploring the world.
Some larger objects remain active even at long distances to help the world still feel alive when the player looks across the map.

Cheyennix explained that this approach mainly helps with CPU-heavy scenes, since it reduces how many nodes need to run at the same time. GPU and memory bottlenecks still need to be solved separately through rendering and memory optimization.
If you want to learn more about Verse Unknown or follow the developers work, the links will be right below.

Jettelly wishes you success in your professional career! Did you find an error? No worries! Write to us at [email protected], and we'll fix it!

Subscribe to our newsletter to stay up to date with our latest offers

© 2026 Jettelly Inc. All rights reserved. Made with ❤️ in Toronto, Canada