# Generating simple procedural dungeon

**URL:** <https://forums.unrealengine.com/t/generating-simple-procedural-dungeon/97541>\
**Category:** Community & Industry Discussion\
**Tags:** unreal-engine\
**Created:** [July 31, 2017, 4:45pm UTC](https://forums.unrealengine.com/t/generating-simple-procedural-dungeon/97541 "2017-07-31T16:45:29Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Shining\_Pear](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Shining\_Pear](https://forums.unrealengine.com/u/Shining_Pear)\
**Post date:** [July 31, 2017, 4:45pm UTC](https://forums.unrealengine.com/t/generating-simple-procedural-dungeon/97541/1 "2017-07-31T16:45:29Z")

</div>

Hello everyone,  
I was just checking how to create some procedural dungeon map and because I couldn’t find a proper explanation for doing it on UE4, I made one myself. Here is what is looks like:

 ![full.png](https://d3kjluh73b9h9o.cloudfront.net/original/3X/2/8/289a0340ec3ad20dd63ffd1885ea62f1b6ba6d94.png)

It doesn’t spawn content or whatever, it’s quite far from every crazy content you can find on the market, but the point is that I also write some document explaining how to create the same thing in BP that I share with you.

As it’s my first tutorial, I’m not convinced it is properly described but the point is to give you the ideas behind the creation.  
I made a google document, you can save it as a pdf if you need:  
[https://docs.google.com/document/d/1fNG02ujyfAc45we\_ZICmcs8sHBnCseV8GJXWi9I6C3g/edit](https://docs.google.com/document/d/1fNG02ujyfAc45we_ZICmcs8sHBnCseV8GJXWi9I6C3g/edit)

All impressions/corrections are welcome.

---

<div class="post-metadata">

**Author:** ![CradleRobin](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@CradleRobin](https://forums.unrealengine.com/u/CradleRobin)\
**Post date:** [January 10, 2018, 8:34pm UTC](https://forums.unrealengine.com/t/generating-simple-procedural-dungeon/97541/2 "2018-01-10T20:34:05Z")

</div>

I just wanted to say, this is what I’ve been trying to make for a long time. Your documentation is amazing and I am overjoyed at finding this. Thank you so much! I’m so jazzed right now.

---

<div class="post-metadata">

**Author:** ![ConnorTheScot](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@ConnorTheScot](https://forums.unrealengine.com/u/ConnorTheScot)\
**Post date:** [January 11, 2018, 8:50am UTC](https://forums.unrealengine.com/t/generating-simple-procedural-dungeon/97541/3 "2018-01-11T08:50:07Z")

</div>

Morning Shining Pear,

This looks great and I can imagine will really help quite a few people!  
Will need to give it a bash myself and give some feedback.

Thanks!

---

<div class="post-metadata">

**Author:** ![Chosker](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/chosker/32/710746_2.png) [@Chosker](https://forums.unrealengine.com/u/Chosker)\
**Post date:** [January 11, 2018, 10:01am UTC](https://forums.unrealengine.com/t/generating-simple-procedural-dungeon/97541/4 "2018-01-11T10:01:43Z")

</div>

looking good, thanks for the resource

it might be interesting to research options to generate something a bit more linear. in my experience (in my own game, with procedural dungeons very much like yours) I quickly found out that players would get tired of backtracking so much since the dungeon has so many dead ends

---

<div class="post-metadata">

**Author:** ![AlonzoCPO](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@AlonzoCPO](https://forums.unrealengine.com/u/AlonzoCPO)\
**Post date:** [January 14, 2018, 7:51am UTC](https://forums.unrealengine.com/t/generating-simple-procedural-dungeon/97541/5 "2018-01-14T07:51:24Z")

</div>

This is definitely one of those resources that are not only needed but highly welcomed when youre just getting started!

---

<div class="post-metadata">

**Author:** ![thenegaverse](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@thenegaverse](https://forums.unrealengine.com/u/thenegaverse)\
**Post date:** [April 12, 2018, 8:32pm UTC](https://forums.unrealengine.com/t/generating-simple-procedural-dungeon/97541/6 "2018-04-12T20:32:06Z")

</div>

Been experimenting with procedural generation for the past several months because I love the idea of a randomized dungeon setup, and I’ve been digging through archives and threads dating back to when UE4 was released to the public. I think this is the missing link to what I was searching for, and I can’t wait to dive in after work. I might share what I come up with on in this thread if that’s cool with everyone because I’d like to build this concept up. I’ve also been through roguebasin, since I use donjon’s d20 map generator a lot, and there’s tons of awesome insight to get started with on that wiki. Thanks so much for sharing this Shining Pear!

---

<div class="post-metadata">

**Author:** ![Kanc](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Kanc](https://forums.unrealengine.com/u/Kanc)\
**Post date:** [April 13, 2018, 8:22am UTC](https://forums.unrealengine.com/t/generating-simple-procedural-dungeon/97541/7 "2018-04-13T08:22:39Z")

</div>

I’m currently developing a procedural dungeon generator, just for personal curiosity and learning purposes. Do you have any advice about how to fill the rooms with stuff??

I’m just thinking about the obvious solution making a logic grid for each room and put enemies and assets inside them, but I wonder if there are some “standard” approaches for this.

Thanks!

---

<div class="post-metadata">

**Author:** ![awlamon](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@awlamon](https://forums.unrealengine.com/u/awlamon)\
**Post date:** [July 30, 2018, 10:52pm UTC](https://forums.unrealengine.com/t/generating-simple-procedural-dungeon/97541/8 "2018-07-30T22:52:52Z")

</div>

Can you provide an asset of this? I’m a bit lost in two of the functions.

---

<div class="post-metadata">

**Author:** ![TheBalancingPnt](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@TheBalancingPnt](https://forums.unrealengine.com/u/TheBalancingPnt)\
**Post date:** [October 27, 2018, 12:39am UTC](https://forums.unrealengine.com/t/generating-simple-procedural-dungeon/97541/9 "2018-10-27T00:39:54Z")

</div>

Hello, is there any way that you can provide a few screen shots of your entire blueprints. I’m getting a little mixed up in your document on what goes where. IF you could that would be awesome. Great work and thank you.

---

<div class="post-metadata">

**Author:** ![ThatLittleSpider](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@ThatLittleSpider](https://forums.unrealengine.com/u/ThatLittleSpider)\
**Post date:** [October 30, 2018, 1:07pm UTC](https://forums.unrealengine.com/t/generating-simple-procedural-dungeon/97541/10 "2018-10-30T13:07:23Z")

</div>

Thankyou, was looking for something like this.

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_ae34656d1](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_ae34656d1](https://forums.unrealengine.com/u/anonymous_user_ae34656d1)\
**Post date:** [December 9, 2018, 6:49pm UTC](https://forums.unrealengine.com/t/generating-simple-procedural-dungeon/97541/11 "2018-12-09T18:49:24Z")

</div>

Was anyone able to make a more linear randomized dungeon?

---

<div class="post-metadata">

**Author:** ![StefBarz](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@StefBarz](https://forums.unrealengine.com/u/StefBarz)\
**Post date:** [January 9, 2019, 12:37pm UTC](https://forums.unrealengine.com/t/generating-simple-procedural-dungeon/97541/12 "2019-01-09T12:37:26Z")

</div>

I Googled ‘ue4 procedural maze’ and found this. It looks interesting, I will go through the tutorial as a learning exercise. Thanks for sharing!

---

<div class="post-metadata">

**Author:** ![Shining\_Pear](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Shining\_Pear](https://forums.unrealengine.com/u/Shining_Pear)\
**Post date:** [January 16, 2019, 9:06pm UTC](https://forums.unrealengine.com/t/generating-simple-procedural-dungeon/97541/13 "2019-01-16T21:06:37Z")

</div>

Well, after searching a bit, I realized I deleted this project. Last time I checked this page, there wasn’t any reply, I’ll try to rewrite something and make it more user-friendly…

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_4a9b50571](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_4a9b50571](https://forums.unrealengine.com/u/anonymous_user_4a9b50571)\
**Post date:** [February 3, 2019, 6:45pm UTC](https://forums.unrealengine.com/t/generating-simple-procedural-dungeon/97541/14 "2019-02-03T18:45:19Z")

</div>

> [@Shining\_Pear](#):
>
> Well, after searching a bit, I realized I deleted this project. Last time I checked this page, there wasn’t any reply, I’ll try to rewrite something and make it more user-friendly…

I also am a little bit lost because some of your variables are named in a very similar way and it gets me confused, so I looking forward to this.

Thanks for sharing this anyway !

---

<div class="post-metadata">

**Author:** ![Loucsam](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Loucsam](https://forums.unrealengine.com/u/Loucsam)\
**Post date:** [July 4, 2019, 3:48pm UTC](https://forums.unrealengine.com/t/generating-simple-procedural-dungeon/97541/15 "2019-07-04T15:48:46Z")

</div>

Thanks, but it is highly confusing to complete it.

---

<div class="post-metadata">

**Author:** ![pbdarcey](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@pbdarcey](https://forums.unrealengine.com/u/pbdarcey)\
**Post date:** [July 4, 2019, 7:11pm UTC](https://forums.unrealengine.com/t/generating-simple-procedural-dungeon/97541/16 "2019-07-04T19:11:21Z")

</div>

Thanks for making this. Going to try it out later 🙂

---

<div class="post-metadata">

**Author:** ![GruntosUK](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@GruntosUK](https://forums.unrealengine.com/u/GruntosUK)\
**Post date:** [July 12, 2019, 1:34pm UTC](https://forums.unrealengine.com/t/generating-simple-procedural-dungeon/97541/17 "2019-07-12T13:34:15Z")

</div>

> [@pbdarcey](#):
>
> Thanks for making this. Going to try it out later 🙂

If you get it working, please share how you’ve done it 🙂

---

<div class="post-metadata">

**Author:** ![Shining\_Pear](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Shining\_Pear](https://forums.unrealengine.com/u/Shining_Pear)\
**Post date:** [October 21, 2019, 7:36pm UTC](https://forums.unrealengine.com/t/generating-simple-procedural-dungeon/97541/18 "2019-10-21T19:36:00Z")

</div>

■■■■, I completely forgot about this thing…  
Well, I’m sure I’ll get time to work on it again. But it isn’t something to follow if it isn’t very clear. Don’t consider it as a tutorial. More like a guide to complete it yourself. If a point isn’t clear, don’t hesitate to write it here. Sometimes, I check the forum and I might (or someone else) reply it

---

<div class="post-metadata">

**Author:** ![HawksByDesign](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@HawksByDesign](https://forums.unrealengine.com/u/HawksByDesign)\
**Post date:** [April 1, 2020, 6:01pm UTC](https://forums.unrealengine.com/t/generating-simple-procedural-dungeon/97541/19 "2020-04-01T18:01:14Z")

</div>

Holy [okay i was gonna swear bit it gets filtered], wow! This is sick!

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_717ff3aa1](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_717ff3aa1](https://forums.unrealengine.com/u/anonymous_user_717ff3aa1)\
**Post date:** [April 12, 2020, 5:55am UTC](https://forums.unrealengine.com/t/generating-simple-procedural-dungeon/97541/20 "2020-04-12T05:55:25Z")

</div>

I have a few questions. I made it all the way through but when I hit play the actor doesn’t do anything. I think I’m getting confused between what is in a function script and what goes in the construction script. Perhaps some screenshots of the whole construction script could help clarify? Thank you for your time.

EDIT: Did a bit of debugging and digging around and it seems my main arrays Room Sizes and Room Positions aren’t collecting any info?

[Next page](https://forums.unrealengine.com/t/generating-simple-procedural-dungeon/97541.md?page=2)
