# How do I procedurally generate landscape?

**URL:** <https://forums.unrealengine.com/t/how-do-i-procedurally-generate-landscape/283396>\
**Category:** World Creation\
**Tags:** Procedural-Generation, unreal-engine, Landscape, procedural, question\
**Created:** [May 15, 2014, 11:33am UTC](https://forums.unrealengine.com/t/how-do-i-procedurally-generate-landscape/283396 "2014-05-15T11:33:55Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![cdrose](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@cdrose](https://forums.unrealengine.com/u/cdrose)\
**Post date:** [May 15, 2014, 11:33am UTC](https://forums.unrealengine.com/t/how-do-i-procedurally-generate-landscape/283396/1 "2014-05-15T11:33:55Z")

</div>

Hey,

I’m looking to create a landscape that randomly generates height map information on each play / level load, so everytime it looks like a new landscape. I was thinking there was some way of using a material to do this effect but come to a dead end as I can’t seem to affect the landscape height information within a material. Does anyone have any suggestions on how to make this work?

I’m thinking of creating my own static mesh plane and using displacement to create the same effect. The landscape doesn’t have to be highly detailed and will be very small, like a long 4 x 8 strip.

Thanks,  
Chris

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_550b73f9](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_550b73f9](https://forums.unrealengine.com/u/anonymous_user_550b73f9)\
**Post date:** [May 16, 2014, 12:58pm UTC](https://forums.unrealengine.com/t/how-do-i-procedurally-generate-landscape/283396/2 "2014-05-16T12:58:01Z")

</div>

Hi Chris,

I’m afraid this isn’t possible at the moment. The editor builds collision data structures and tangent data as you import or paint it, and there isn’t an easy way to call that at runtime. We do have a feature request open to allow modification of the landscape at runtime.

Given the size of the effect you’re after, I think using a WorldPositionOffset input to a suitably-tessellated StaticMesh would probably work, but that wouldn’t have any collision.

Cheers

---

<div class="post-metadata">

**Author:** ![cdrose](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@cdrose](https://forums.unrealengine.com/u/cdrose)\
**Post date:** [May 16, 2014, 1:28pm UTC](https://forums.unrealengine.com/t/how-do-i-procedurally-generate-landscape/283396/3 "2014-05-16T13:28:30Z")

</div>

Ah ok thanks for the reply. Yea it would be good to have it implemented, it would only need to generate once on level load for example.

I started to play with the WorldPositionOffset last night but as you said it didn’t have collision so I’m going to look for a work around of sorts.

Cheers, Chris

---

<div class="post-metadata">

**Author:** ![Nepos\_1](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Nepos\_1](https://forums.unrealengine.com/u/Nepos_1)\
**Post date:** [May 16, 2014, 2:35pm UTC](https://forums.unrealengine.com/t/how-do-i-procedurally-generate-landscape/283396/4 "2014-05-16T14:35:18Z")

</div>

Not sure if this help but this is using a Procedural Mesh Generation to create a voxel landscape

> **[\[WIP\] Procedural Voxel Generation In UE4](https://forums.unrealengine.com/showthread.php?3229-WIP-Procedural-Voxel-Generation-In-UE4)**
>
> Hey everyone! I just wanted to show off my progress working on procedural voxel generation in UE4. Ive only spent 4 or 5 days on this but Ive made some pretty good progress on it, but it still isnt much. The voxels are 50^3 UUs each and uses 2D...

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_550b73f9](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_550b73f9](https://forums.unrealengine.com/u/anonymous_user_550b73f9)\
**Post date:** [May 16, 2014, 2:41pm UTC](https://forums.unrealengine.com/t/how-do-i-procedurally-generate-landscape/283396/5 "2014-05-16T14:41:45Z")

</div>

Aside from the voxels, AndrewJSch’s code linked from that thread is a good reference for how to add your own primitive component type. That is the correct way to add custom geometry types to UE4.

---

<div class="post-metadata">

**Author:** ![cdrose](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@cdrose](https://forums.unrealengine.com/u/cdrose)\
**Post date:** [May 16, 2014, 5:27pm UTC](https://forums.unrealengine.com/t/how-do-i-procedurally-generate-landscape/283396/6 "2014-05-16T17:27:30Z")

</div>

Yea I see that voxel procedure, it’s ideal if only there was a way to smooth out the landscape

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_7b15c353](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_7b15c353](https://forums.unrealengine.com/u/anonymous_user_7b15c353)\
**Post date:** [September 28, 2015, 10:52pm UTC](https://forums.unrealengine.com/t/how-do-i-procedurally-generate-landscape/283396/7 "2015-09-28T22:52:20Z")

</div>

would you be able to bake a height map to a basic plane and have it generate biom’s you made dynamically or stream a random level when you come to the endge of that bion
