Examining and placing sub-levels based on sub-level data for LevelStreaming

Hey there! So I’m pretty new to this, but have been learning C++ alongside Blueprints, and am currently wanting to build some sort of procedural generation for levels (dungeon-like, not open-world). I have Corridor sub-levels, and Room sub-levels under my persistent level. What I’d LIKE to do is be able to use Blueprint (preferably, or C++ if necessary) to examine the mesh data for the sub-level and spawn another room or corridor at a specific point on the mesh.
Is this possible?
I’ve played around with a few procedural generation tutorials, and have done many Google searches on it (it’s hard when you don’t know how to word what you want), and have gotten several things to build on a grid, with each random tile map being placed adjacent to the last to form a big square/rectangle… But that’s not really what I want. My goal is procedural generation along the lines of Spelunky, Immortal Redneck, SCP: Containment Breach, or The Binding of Isaac, where each room is pre-made, but the layout changes every time.
Anybody willing to help a noob out?