Install Asset
Install via Godot
To maintain one source of truth, Godot Asset Library is just a mirror of the old asset library so you can download directly on Godot via the integrated asset library browser
Quick Information
A powerful Godot addon that brings efficient world streaming to your indie game, with optional multiplayer networking capabilities. Build massive open worlds that perform beautifully, inspired by the seamless worlds of modern RPGs and adventure games.⚠️ Warning: This project is under active development. Load/unload functionality may cause unexpected node deletion. Back up your data regularly!Open World Database automatically transforms your sprawling world through intelligent chunk-based streaming, with seamless multiplayer capabilities when you need them. The core world streaming system provides batch processing for smooth loading with configurable time limits, intelligent chunking strategies for different content types, and persistent worlds that survive restarts. Your workflow remains exactly like normal Godot scenes, while the system efficiently manages memory by only loading what players are close to relative to each item's size.When you're ready for multiplayer, the optional networking layer adds chunk-based visibility so only entities that players can actually see get synchronized. Custom resources are automatically distributed between peers, multiple sync patterns give you control from hands-off automation to precise manual control, and seamless HOST/PEER/STANDALONE transitions let you test locally and deploy multiplayer without code changes.
Open World Database (OWDB) for Godot
A Godot addon that enables efficient streaming and persistence of large 3D open worlds through automatic chunk-based loading and hierarchical scene management.
Overview
Creating large open worlds in Godot can quickly become a performance nightmare. With hundreds or thousands of nodes scattered across your map - NPCs, buildings, props, AI entities - your scene can grind to a halt as memory usage explodes and the engine struggles to process everything simultaneously.
Open World Database solves this by automatically managing your world content through intelligent chunking and streaming. Simply drop your scene nodes under the main OWDB node, and the system handles the rest - no complex setup, no workflow changes, just seamless integration with Godot's existing editor structure.
Key Features
- Automatic Chunk Management: Dynamically loads/unloads content based on camera position
- Size-Based Optimization: Different chunk sizes for different object categories (small props use fine-grained chunks, large buildings use bigger chunks)
- Seamless Editor Integration: Works directly with Godot's scene system - just parent nodes to the OWDB node
- Persistent World State: Automatically saves world data to
.owdbfiles alongside your scenes - Hierarchical Preservation: Maintains parent-child relationships across chunk boundaries
- Custom Property Support: Preserves all node properties and metadata during streaming
- Memory Efficient: Only keeps nearby content in memory, dramatically reducing resource usage
Installation
- Download or clone this repository
- Copy the
addons/open_world_databasefolder to your project'saddons/directory - Enable the plugin in Project Settings > Plugins
Quick Start
- Add an
OpenWorldDatabasenode to your scene - Parent all your world content (NPCs, buildings, props, etc.) under this node
- The system automatically assigns unique IDs and begins tracking your content
- Save your scene - the addon creates a
.owdbfile with all world data - During gameplay, content streams in and out based on camera position
# Optional: Set a custom camera for chunk loading
$OpenWorldDatabase.camera = $Player/Camera3D
# Optional: Adjust chunk loading range
$OpenWorldDatabase.chunk_load_range = 5 # Load 5 chunks in each direction
How It Works
The addon monitors all nodes with scene files under the OWDB node, categorizing them by size:
- Small (≤0.5 units): Fine-grained 8x8 unit chunks
- Medium (≤2.0 units): 16x16 unit chunks
- Large (≤8.0 units): 64x64 unit chunks
- Huge (>8.0 units): No chunking (always loaded)
As your camera moves through the world, the system automatically:
- Unloads chunks that are too far away
- Loads new chunks coming into range
- Maintains proper hierarchical relationships
- Preserves all node properties and transformations
Configuration
The OpenWorldDatabase node exposes several configuration options:
size_thresholds: Boundaries for object size categorieschunk_sizes: Chunk dimensions for each size categorychunk_load_range: How many chunks to load around the cameradebug_enabled: Enable debug outputcamera: Custom camera node (auto-detected if not set)
Roadmap
- Child OWDB Support: Nested OWDB nodes for complex scenes (e.g., furniture within buildings that can be independently chunked)
- Async Loading: Background loading to eliminate hitches
- Compression: Optional compression for
.owdbfiles - Streaming Optimization: Predictive loading based on movement direction
- Multi-threading: Parallel chunk processing for better performance
Performance Benefits
Before OWDB:
- 10,000 nodes = 10,000 nodes in memory always
- Frame rate drops with scene complexity
- Memory usage grows linearly with world size
After OWDB:
- 10,000 nodes = ~100-500 nodes in memory (depending on chunk range)
- Consistent frame rates regardless of world size
- Memory usage stays constant based on loaded area
Contributing
Contributions are welcome! Please feel free to submit pull requests, report bugs, or suggest features.
Support
If you encounter issues or have questions, please open an issue on the GitHub repository.
A powerful Godot addon that brings efficient world streaming to your indie game, with optional multiplayer networking capabilities. Build massive open worlds that perform beautifully, inspired by the seamless worlds of modern RPGs and adventure games.
⚠️ Warning: This project is under active development. Load/unload functionality may cause unexpected node deletion. Back up your data regularly!
Open World Database automatically transforms your sprawling world through intelligent chunk-based streaming, with seamless multiplayer capabilities when you need them. The core world streaming system provides batch processing for smooth loading with configurable time limits, intelligent chunking strategies for different content types, and persistent worlds that survive restarts. Your workflow remains exactly like normal Godot scenes, while the system efficiently manages memory by only loading what players are close to relative to each item's size.
When you're ready for multiplayer, the optional networking layer adds chunk-based visibility so only entities that players can actually see get synchronized. Custom resources are automatically distributed between peers, multiple sync patterns give you control from hands-off automation to precise manual control, and seamless HOST/PEER/STANDALONE transitions let you test locally and deploy multiplayer without code changes.
Reviews
Quick Information
A powerful Godot addon that brings efficient world streaming to your indie game, with optional multiplayer networking capabilities. Build massive open worlds that perform beautifully, inspired by the seamless worlds of modern RPGs and adventure games.⚠️ Warning: This project is under active development. Load/unload functionality may cause unexpected node deletion. Back up your data regularly!Open World Database automatically transforms your sprawling world through intelligent chunk-based streaming, with seamless multiplayer capabilities when you need them. The core world streaming system provides batch processing for smooth loading with configurable time limits, intelligent chunking strategies for different content types, and persistent worlds that survive restarts. Your workflow remains exactly like normal Godot scenes, while the system efficiently manages memory by only loading what players are close to relative to each item's size.When you're ready for multiplayer, the optional networking layer adds chunk-based visibility so only entities that players can actually see get synchronized. Custom resources are automatically distributed between peers, multiple sync patterns give you control from hands-off automation to precise manual control, and seamless HOST/PEER/STANDALONE transitions let you test locally and deploy multiplayer without code changes.