Tile based Dungeon Generating?

I work at the moment at a Dungeon Generator script with tiles in Blueprint and searched a lot about how to do this. Recommended here seams doing Tiles with Connectors which then decides which tile to place next depending on the allowed Connections.

My Question right now is how to start with this. I guess i need to use blueprints cause i need to store Data of the Connections and stuff but isnt this a performance problem at some Point?

So maybe a Option is to use streamed Levels but how i then get the Data of the Connection Points? Or is there another Option i missed?

And at least how i handle the placing. Like do i place the first tile and then check all connection Points from it to place the next ones or do i go in one Direction?

Some detailed answers would be really nice.

Here is a Example of a System in 4.18

What i want to get at some Point

Just let me know if there are more Question

I’m pretty new to UE4 or game dev in general but I might have a few ideas that may help.

First: I think performance-wise it would be very taxing to the system if you added let’s say cubes or other meshes as a individual grid cells. I imagine what you will need is setup a vector based grid system first and maybe add virtual “planes” of varying sizes based on the width and length to fill the areas then apply textures as necessary.

Second: I think that you would need to have some sort of noise generator for the texturing portion of it based on say cells with A in it will contain texture A.

Third: Your noise generator may be configured to say know the quadrants of the plane so side 1,2,3,4 where if side 3 has texture A then it can only connect with texture K for example. You could apply this concept I’m assuming with meshes where the mesh is a door or a wall for instance. 3D space has more than 4 sides so you’ll have to consider this as you progress with your generator.

I’m just making this up as I go but I assume games like minecraft do something like that to procedurally generate terrain/biomes etc…