The October Sale is here! Save 50% on select products now through October 24.

Procedural Level Generator from Perlin Noise and Curve Heightmap

GregTDev - Nov 26, 2019

100% Blueprint tool that allows you to generate different type of levels based on Perlin noise, curves parameters and various settings. Nature locations, props spaw, dungeon room, villiage - everything is possible! Works both in runtime and editor

  • Supported Platforms
  • Supported Engine Versions
    4.21 - 4.26
  • Download Type
    Asset Pack
    This product contains an assortment of Unreal Engine assets which can be imported into a pre-existing project of your choice.

This Blueprint allows you to generate different types of levels based on Perlin noise, heightmap creation from curve/noise and advanced meshes spawn system. How it works?

  1. Generating heightmap with Perlin noise or from curve (you can combine different layers of settings to receive various heightmaps)
  2. You can add some additional interpolation to heightmap values using curve parameter
  3. Generating landscape (from procedural mesh) with material you want (landscape generation can be disabled)
  4. Spawning meshes based on height map values (can be spawned on different height or on the surface)
  5. Advanced settings for meshes placement
  • Height range to spawn mesh
  • Additional random transform offsets
  • Different density
  • Placement probability
  • Advanced collision check between HISM (you can specify with which meshes current mesh should check collision)
  • and more

Using this BP you can setup various types of procedural generation, which can include foliage spawning, props, landscape generation with procedural mesh and much more. Using heightmap generation settings and float curves you can generate mountains, valleys, nature environment. City with houses placement, village, nature with plants, desert location, rocky mountains, caves or dungeon room/rooms - any type of generation is possible, all you need to do - is setup settings and meshes you want. Detailed documentation included.

Interested? Then check demo video


Technical Details


  •  Procedural meshes placement with various settings based on generated heightmap
  •  Heightmap generation from Perlin noise and curve
  •  Heightmap layers system: combine heightmaps from noise and curves into one heightmap
  • Collision check system between different instances (works like collision channels)
  • Random or custom seed for each type of mesh, noise / curve generation layer
  • Blueprint can restore your generated level in construction script - it will help you prepage generation in editor and decrease level loading time in game
  • Works both at runtime and in editor

Supported Development Platforms: tested on Windows, but should work with any

Supported Target Build Platforms: tested on Windows, but should work with any


Important/Additional Notes:

  • All meshes used in generation actors presented on Example map taken from free Epic Games packs. You can easily replace this meshes with your own
  • Be carefull with SizeX, SizeY and SubCellsIteration variables in BP_NoiseGenerator. Setting this variables to high can result in serious performance issues
  • Information about working with construction script of this generator can be found at page 16 of documentation (I recommend you to read this page before start work)
  • Few tips about this generation and description of snow village generation setup can be found at page 17