Dynamic Level Placement


I have a bunch of Room .umap levels, each with a door at least one of the cardinal directions. I want to “build” the house as my character walks through it, so there is a different layout each time.

The current way I’m achieving this is by using World Composition with all levels unloaded and on a separate layer from the persistent level, and spawning one of them as part of the OpenDoor code. However it can be hard to be perfectly precise and not have overlapping levels/etc.

I feel like a cleaner solution would be having some kind of ‘connector’ component on each door and spawning the next level/room by attaching one of its connector components to the connector component of the current room/door I am leaving.

It seems like some sort of procedural generation tactic is what I’m looking for, but the only info I can find online for that is for assets within a single room, or pre-generating long and branching roguelike dungeons, whereas I want the shape of the whole map to be determined by the player as they walk.

Can someone set me on the right path for the best/normal way to do this? Hope it makes enough sense