This is my current order of doing things but it feels incredibly convoluted. And I’m not smart enough to make this dynamic and more “Scalable” I guess? It doesn’t make sense to do it this way since I’m forced to do it manually for all data, I can’t pass stuff along.
- Persistent level with the bare essentials needed for the game.
- Begin Play → Load Level instance “Start Room” at 0,0,0
- “Start Room” Level Begin Play → Spawn “Room Actor” and set the Rooms’ “Type”.
- “Room Actor” Begin Play → Cast to “Game Instance”(Get Seed) → Switch On Enum for “Room Type” → Generate The Actual Level BP from that. And how it generates is random from seed and type.
- Generate Random Geometry(Disabled for now I’m manually just putting down a square and then entrance/exits.)
- Add each “Exit Point” to an array and add their locations to the parent who spawned the Actual Room Actor BP.
- From it’s parent, call an event to spawn the next room off a random exit point.
- Repeat.