
Descripción
WorldGen is a runtime C++ plugin for Unreal Engine 5 that generates infinite procedural terrain with async chunk streaming, layered noise, biome blending, and foliage scattering — all without blocking the game thread.
Drop WorldStreamingManager into your level and get a fully streaming open world in minutes.
Preview | Playable Demo | Documentation | Discord Community
V1.16 Procedural Towns & Roadside Buildings
V1.15 Ocean Waves & Underwater
V1.12.2 Road Meshes and Junctions
V1.12.1 Procedural Road Network
V1.11 Infinite AI Navigation
V1.10 Spatial Biomes
V1.9 Spawn Actors Resources NPCs
V1.8 Exclusion Volumes
V1.4 Runtime Terrain Deformation
──────────────────────────────
CORE FEATURES
──────────────────────────────
▸ Infinite Chunk Streaming — actor pool, no spawn/destroy overhead
▸ Async Mesh Generation — geometry built on a thread pool; game thread never blocked
▸ Async Collision Cooking — on by default
▸ Seamless Chunk Normals — 1-vertex border overlap, no seams
▸ Layered Noise Stack — N layers; layer 0 is the continental mask
▸ CLMNoise (V1.7) — Perlin, Simplex, Cellular, Ridged Multifractal, Domain Warp. No third-party code
▸ Domain Warping — global warp before all layer evaluation
▸ Biome Blending — vertex color weights for Grass / Rock / Snow / Beach / Underwater
▸ Beach Layer — height band above sea level, baked into UV1.x
▸ Spatial Biomes (V1.10) — temperature + humidity noise → Tundra / Boreal / Desert / Tropical, per-biome snow/rock/grass thresholds
▸ Desert Sand Layer (V1.10) — UV1.x sand weight, no material changes
▸ Biome Climate Filter (V1.14) — per-foliage/grass Climate Biomes bitmask: cactus in Desert only, pine in Boreal only
▸ Biome Blend / Sharpen (V1.14) — flat 100% biome interiors that blend only at the edges
▸ Per-Biome Terrain Height (V1.14) — flatten/raise terrain by climate (deserts flatter); roads, rivers and queries follow, seam-free
▸ ISM Foliage System — BiomeFoliageAsset data assets, no BVH spike on chunk load. Optional HISM
▸ Foliage on New Chunks (V1.7) — appears as the player moves
▸ Dense Grass System — ISM ground cover on a world-snapped grid; GrassGridSize (V1.7) fixed spacing; clustering with world-fixed centers
▸ Per-Instance Collision Range (V1.13.1) — one asset, physics only near the player
▸ Hydraulic Erosion — droplet simulation, fully async
▸ Slope Sink Depth — no floating blades on slopes
▸ Terrain Deformation — real-time spherical brushes, persistent across rebuilds (Experimental)
▸ Distance-Based LOD — per-ring resolutions
▸ Deterministic Settlements (V1.12) — a pure function of (seed, region): infinite, reproducible, seam-free
▸ Procedural Road Network (V1.12) — planar RNG graph (≤4 roads/town), slope-weighted A* with water avoidance and causeways, terrain-graded roadbeds + UV1.G tarmac, settlement pads, junctions, spline-mesh roads
▸ Bridges (V1.13) — roads span water with their own deck mesh + material; optional gorge bridging; extend-to-ground pylons
▸ Roadside Props (V1.13) — instanced poles, rails, bollards, pylons with spacing, offset, scale, rotation, snap, bridge filters, collision
▸ Road Data Assets (V1.13) — WorldGenRoadAsset + WorldGenSettlementAsset, reusable across levels
▸ Hitch-Free Road Streaming (V1.13) — time-sliced mesh build; collision only in a window around the player
▸ Roadside & Town Buildings (V1.16) — the Actor Spawner targets the road network: Near a Road / Near a Settlement with an edge-to-edge distance band (one setting fits every building size), Align To Target, Invert (wildlife away from civilisation), Stay On Graded Shoulder
▸ Footprint-Aware Placement (V1.16) — the real oriented footprint stays off tarmac, pads and other spawns; Rest On Ground, Foundation Depth, Stand On Highest Point, Ignore Biome; placed on the built graded mesh
▸ Automated Test Suite (V1.16) — a shippable WorldGenTestRunner actor (also WorldGen.RunTests / -WorldGenTest) visits junctions up to 80 km out, checks road continuity, overlaps, buried/floating tiles, missing meshes, open ports, seams and building placement, and writes a JSON report with screenshots
▸ Road Network Robustness (V1.16) — roads build as soon as either town is in range, one port per road (no double ribbons), pads cover the junction box, level approaches, bridge abutments, seam-free junctions
▸ Floating-Point Precision Fix (V1.6) — no texture stretching at 2M+ world units
▸ Multiplayer Support — streams around all connected players; per-player gravity delay
▸ Dedicated Server Mode — collision geometry only
▸ Exclusion Volumes (V1.8) — flatten terrain and suppress foliage in a placed box, with blend radius
▸ Terrain Query API (V1.9) — SampleTerrainAt() (height, slope, normal, biome weights), GetHeightAtWorldPos(); GetGradedHeightAt() (V1.16) reads the built, graded surface
▸ Actor Spawner System (V1.9) — WorldGenSpawnerAsset scatters real Actors by biome/slope/height, rate-limited; consumed positions save/restore
▸ Runtime Navigation (V1.11 — Experimental) — auto-spawned NavMeshBoundsVolume follows the player; limited coverage at large tile sizes (see Additional Notes)
▸ Subdivided Water & Underwater (V1.15) — subdivided water for WPO waves, Wave Height, shoreline Wet Zone Offset, MPC-driven underwater post-process
──────────────────────────────
TECHNICAL HIGHLIGHTS
──────────────────────────────
▸ Pure C++ runtime — Blueprint-friendly exposed parameters
▸ ProceduralMeshComponent-based geometry
▸ CLMNoise — original noise library
▸ Seeded RNG per chunk — deterministic foliage, grass, actor, building and road/settlement placement
▸ Terrain Coverage readout in Details panel
▸ Collision independently toggleable per asset entry for grass and foliage
▸ Listen server, client, and dedicated server — no additional setup required
▸ Nanite compatible — ISM foliage and grass render correctly through Nanite
▸ Self-testing — bundled test runner verifies roads and building placement on any map, headless or in PIE
──────────────────────────────
INCLUDED
──────────────────────────────
▸ Full C++ source
▸ Pre-built landscape material with biome blending
▸ Sample foliage and grass data assets
▸ Sample tree, pine, cactus and grass meshes with materials
▸ Sample spawner data asset and demo actor
▸ Gas station, diner, shop row and warehouse building Blueprints with roadside / in-town spawner assets
▸ Sample road, bridge, light-pole and pylon meshes with materials
▸ Sample road + settlement data assets (WorldGenRoadAsset / WorldGenSettlementAsset)
▸ Demo map + automated test map
──────────────────────────────
PERFECT FOR
──────────────────────────────
Open-world, survival, RPG and exploration games needing infinite streaming terrain, biome-aware placement, hand-authored areas, AI navigation and connected towns with roadside buildings — without writing the noise, streaming, query, nav or road-routing code yourself.
──────────────────────────────
ADDITIONAL NOTES
──────────────────────────────
Requires the ProceduralMeshComponent plugin (bundled with Unreal Engine 5, enabled by default).
CLMNoise is original code — no third-party noise library, no external license requirements.
Runtime navigation is Experimental — set Navigation System → Runtime Generation = Dynamic. At large tile sizes it covers only part of the area; use a smaller tile size / view distance.
Roads render with a mesh + material you assign (samples included); grading + UV1.G tarmac work with no mesh too.






















