This week I begun work trying to get procedural generation working at least from the starting room.

This is the logic in each room blueprint which is the same for every exit. This has a do once to only ever call the spawn room once then if the overlapping actor is the player calls spawn room in the room gen controller which has now gained some extra parameters those being the player character (redundant will be removed), the room number which it gets from an Enum set in each rooms blueprint, the spawn room which is just a reference to itself and the spawn arrow which is related to which exit you overlapped the associated arrow (in this case the front exit so front door arrow).
https://blueprintue.com/blueprint/dpb0y2in
This is the full blueprint for the room generation done in the room gen controller this still has many problems and rooms still don’t generate correctly currently.
Firstly it uses a switch on Enum based of the room number given previously this is for later when wanting to work on spawning from each room currently only the spawning from room8 is connected which is the starting room in the main level.
This then gets a random target room from an array of the rooms which currently consists of Room1-Room7 excluding Room5. Then from that it finds what room was selected through checking if the target room is equal to a given room then spawning that specific room.
From that it then sets spawned room to the return value of the spawn room node (the room just spawned) and sets the target arrow to the back door arrow of the spawned room.
It then compares the world location of the target arrow to the spawn arrow from the room it was spawned from to set the locations for setting the spawned actor location to the right position. This is currently not all connected as it doesn’t work correctly.

This is an example of the rooms not correctly being set to the right location.

Example with the minus node connected was close with this room but just spawned a little too low.

Again an example with the minus code this time being corrected tot he wrong side of the room.

This is still with the minus node connected but with it working on spawning room1.
These show how the current system works with some rooms but not others clearly a flaw with how I’m comparing the locations for setting the corrected actor location.