CashGen is a realtime procedural terrain plugin for UnrealEngine 4. It generates a grid of terrain tiles around any actors that contain a terrain tracking component. Notable features :

  • Easy, modular blueprint noise configuration enabling blending and masking of different noise types
  • Multithreaded generation and now collision cooking, good frame time performance even with large tiles.
  • Pooled/static mesh data allocation
  • Works in multiplayer
  • Some experimental features like hydraulic erosion as and when I mess around with them.

Source - GitHub 

Sample Project - GitHub

Note that if you want a complete no-messing setup experience of the sample project, make sure you clone the CashDemo repo (rather than downloading the zip), as the plugins are configured as submodules and the Github zip downloader doesn't include dependencies.

UnrealEngine Forums Thread

This is a brief tutorial video covering the configuration of the sample project. Excuse the terrible audio quality, I just don't have spare time at the moment to edit and dub the videos properly. Below is a small selection of demo videos showing the plugin during various phases of development.




Last post before the holidays! Quite a few more updates to CashGen pushed. Mostly performance and bug fixes.

Latest demo:


Some updates on CashGen this week :

  • More efficient heightmap storage
  • Added dynamic texture generation code
  • Used depth information from dynamic texture to improve water material

Demo :


A whole week gone already! Despite the Easter holiday weekend being quite busy I managed a few good sessions working on the procedural generation code. Main progress this week :

  • LOD parameters for zone spawning
  • Biomes - Attributes for zone blocks that dictate which predefined static meshes will be spawned
  • Refactoring - Slowly updating code and commenting BP-exposed functions
  • Slope attributes on blocks, cliff biomes etc.

I have a small list of items to work on before I push a milestone branch to github :

  • Multiple LODs per zone
  • Dynamic LOD switching
  • Fix the seam normals!
  • Switch to a more robust noise implementation (OpenSimplex)

Here's a wee update of how we're looking at the moment: