ENDLESS Procedural Terrain using Blueprints Only

UPDATE! Version 1.1 is here, we’ve moved out of Beta Stage!

You can download the new version here:

Those who already bought can download the update now for free.

Changelog for v1.1:

  • Improved algorithms for generation and updating of Tiles
  • New Multi-Threading Plugin version allowing for faster updates.
  • Increased Stability
  • Greatly reduced bugs and glitches
  • New Forest Generation integrated with the Terrain Generation

Installation Tutorial:

Download and install the required Plugins to your engine:

Multi-Thread Interface Plugin:

Unreal Fast Noise Plugin:

And, the Runtime Mesh Plugin:

After you have installed the pre-requisites, download Procedural Terrain to your computer, extract it in any folder of your choice, preferably where you have all your UE4 Projects, execute the ProceduralTerrain.uproject file, Unreal will ask if you want to convert the project to your current version of the Engine, you must say Yes.

When the project finishes converting and loading, you can play test it.

Controls are as follows:
WASD control character
Shift to run
U switches between normal movement and super Flash mode
hold Space to fly and press U to return to ground.

To use the Terrain in other projects, Migrate the contents of the folder “Terrain” to any other project. (Migrating just the TerrainManager should do the trick)
Open your other project, and drag the TerrainManager blueprint to your level, reset it’s transform so it sits on 0,0,0 coordinate, place your player character in the same position, and play, everything should already function properly.
Also, remember to go to your Project Settings and set the maximum loop iteration count to 100000000

NOTICE: All materials are Unlit minimalistic materials meant as placeholders, you may implement your own materials at will.
Full walkthrough of the Source code coming soon for those who wish to modify it and implement new and custom functionality.

Read the documentation here:


Find me on Discord for any assistance:

Thank you for your work! I like to experiment in UE4 with sci-fi flying action, and, endless levels are one thing that especially fascinates me :slight_smile: I sure will follow what new comes here (and Youtube)

Thanks for your appreciation, it is most appreciated as well, sci-fi flying is a kinda hard subject to tackle, i’d love to see some of your work!

Thank you for your interest :slight_smile: Disclaimer: I am still fairly a beginner in UE4 (or any game design), but, my learning project goes about like this:

Ooh, that is really cool, i really like how you made the controls in first person inside the cockpit. Congratulations!
Also, if you want to put your hands on my Endless Terrain Generation, i just put it up for sale on Gumroad, it’s still an early version, and i’m working on documentation, but updates are free if you buy it now, here’s the link:

BTW, you need Victory Plugin for it to work properly:

Well, if you are really passionated, dedicated to advance this asset, i am sure interested. But don’t worry, i understand you can not promise about future :)) Life goes, different things may happen. So I am considering, maybe i should buy it.
What customizations are exposed for now? I mean, hills parameters, etc? And, also what are specifics of pawn? If I put my flying pawn there, is there a “component” to add, or some additions should be done manually in BP (for example, that sky sphere attachement)?
Thank you for kind words about my “project”. Of course, if interested, browse that my YT channel, there are many work-in-progress “episodes” :slight_smile:

I can say i am passionate about the endless terrain thing, it’s a key piece of several games i am helping to develop, and it is bound to receive constant updates.
For customization, there is a global function called “get height from location”, which uses a Perlin Noise generator to create the terrain, you can modify this function however you like it, you can even implement your own custom method to generate the terrain, it is up to you.

For the pawn, there are a few things that need doing if you want your custom pawn, i would recommend you played with the pawn that is provided in the project, and do some modifications to it to see how it works, then try implementing your own. For the sky sphere, it’s own actor detects the player and self-attaches to it, no fiddling needs to be done, you should just modify the GameMode BP to use your custom pawn instead of mine.

One thing to consider though is that this is still in alpha, so it’s in no shape to actually be part of a full game, for now it’s meant for study and experimentation, if you want to really have this on your game, I can help you with that, making a specific version just for your kind of game, which i assume is going to be very fast-paced, so things need to be different.

Great work!
One question, does it support premade holes in the terrain? For caves and dungeon entrances. I think that would be an amazin feature.

Yes, it does, this is the main purpose i chose to do it BP only and retain access to the vertices from the CPU, so i can dig!
In fact, i am working on a caves system that generates everything procedurally.

However, it still needs some implementation, the way i’m gonna do is when spawning tiles i’m gonna check for overlap with a specific actor, in this case, the cave actor, then prevent the tile from spawning in case of overlap.

@anon57949848 , I sent soem personal message, hope you don’t mind :wink:

New Update Available!

I bought this but it does not work on 4.22, it seems to be made for 4.18. Were there any plans to update the project to a newer version? Or has anyone had luck getting this to work on newer versions?

Thanks a lot for your purchase, i sent you an e-mail with some info, and, Good News! it’s finally out of Beta, and yes, it does support newer engine versions as of now, new version will be available for download very soon.

bump, update!

Thanks for update!

Hi,the projcet you upload is lack of some blueprint.We send message in discord.I hope you can fix this problem.