AssetPro - WorldGen — Runtime Procedural Infinite Terrain Generator

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.

V1.1 adds a dedicated dense grass system with player-radius culling, per-asset resolution/radius control, and slope-aware instance sinking.

V1.2 adds hydraulic erosion — particle-based droplet simulation that carves valleys, sharpens ridges, and deposits sediment, running entirely on the background thread.

Preview Video

Playable Demo

V1.1 Dense Grass Video

──────────────────────────────

CORE FEATURES

──────────────────────────────

▸ Infinite Chunk Streaming — actor pool recycles chunks at runtime (no spawn/destroy overhead). Configurable view distance up to any radius.

▸ Async Mesh Generation — geometry built entirely on a thread pool. Game thread is never blocked.

▸ Async Collision Cooking — bUseAsyncCooking enabled by default.

▸ Seamless Chunk Normals — 1-vertex border overlap ensures no visible seams between tiles.

▸ Layered Noise Stack — stack up to N noise layers. Layer 0 acts as a continental mask controlling where mountains appear vs flat plains.

▸ FastNoise Lite Integration — Perlin, OpenSimplex2, Cellular, Ridged Multifractal, Domain Warp Progressive (MIT licensed, ships with source).

▸ Domain Warping — global warp offsets applied to all coordinates for natural terrain variation.

▸ Biome Blending — vertex color blend weights for Grass / Rock / Snow / Beach / Underwater. Plug directly into any landscape material.

▸ Beach Layer — configurable height band above sea level. Beach weight baked into UV1.x for smooth sand transitions.

▸ Foliage System — BiomeFoliageAsset data assets drive HISM scatter on the thread pool. Per-mesh density, height, slope, and scale constraints. Per-entry collision toggle — enable only on meshes that need physical interaction.

▸ Dense Grass System — UWorldGenGrassAsset data assets drive ISM ground cover on a dedicated high-resolution grid independent of mesh resolution. Grid is world-snapped and player-radius culled (identical behaviour to Landscape Grass Output). Per-asset Grass Resolution, Grass Radius, density, slope constraints, scale, and normal alignment. Grass follows the player seamlessly at runtime.

Hydraulic erosion (V1.2) — particle droplet simulation with configurable strength, deposition, evaporation, sediment capacity and brush radius. Fully async, zero game thread cost. Enable per-world with a single toggle.

▸ Slope Sink Depth — automatically sinks grass blades into the terrain on slopes to prevent floating. Scales with sin(slope angle), configurable per asset.Instances reused across chunk recycling.

▸ Water Plane — follows player on a configurable timer. Covers full view distance.

▸ Editor Preview — CallInEditor button rebuilds terrain without entering Play mode.

──────────────────────────────

TECHNICAL HIGHLIGHTS

──────────────────────────────

▸ Pure C++ runtime — no Blueprints required (Blueprint-friendly exposed parameters)

▸ ProceduralMeshComponent-based geometry

▸ Fully exposed parameter categories with tooltips and clamped slider ranges

▸ Seeded RNG per chunk — deterministic foliage placement

▸ Terrain Coverage readout in the Details panel (e.g. "9 × 9 chunks — 9.0 km × 9.0 km")

▸ Grass and foliage collision independently toggleable per asset entry

──────────────────────────────

INCLUDED

──────────────────────────────

▸ Full C++ source

▸ Pre-built landscape material (M_LandscapeAutoTextured) with biome blending wired up

▸ Sample foliage and grass data assets (grass biome)

▸ Sample tree and pine meshes with materials

▸ Demo map

──────────────────────────────

PERFECT FOR

──────────────────────────────

Open-world games, survival games, exploration prototypes, procedural world tools, and any project needing infinite streaming terrain without writing low-level noise or chunk management code.

──────────────────────────────

ADDITIONAL NOTES

──────────────────────────────

  • Requires the ProceduralMeshComponent plugin (bundled with Unreal Engine 5, enabled by default).

  • Includes FastNoise Lite (MIT license, Jordan Peck / Auburn) — ships in plugin source tree, safe for commercial use.