Help setting up specific actor spawning (no tutorials anywhere for this)

I’m trying to build a very basic spawning system that spawns actors (rooms) at the four random target points (just four to get it working). I’ve currently got a very simple setup that randomly selects one of the four target points and spawns one of the actors there, the trouble is trying to get this to repeat for the 3 other target points and spawn the remaining actors there.

The issues I’ve run into are the following:

1: The actors spawn inside each other, which doesn’t work, and the collision override has no setting to make it try a different location.

2: some of the same actors spawn twice.

I’m extremely new to UE, and nodes are definitely not what I’m used to. There are literally no tutorials on what I’m trying to do so I’ve got to ask here.

My guess is that I need to create an IF statement to check for collision, then move to the next target point until it finds one without collision. And something similar to make it only spawn one actor once. But I have no idea what that would look like in nodes.

you need to keep track of the actors you need to spawn by using a list. So you add all the actors you want to spawn in that list and once you have spawned one you remove it from that list. So the next random spawn will work with the remaining list objects.

for the position the same you need some way to track the spawn positions. if you need only four random actors, create in the scene four empty objects. Then add them to a list, once you have spawned an actor at a location, remove them from the list so it is not used anymore.

basically keep track of the assets you have and where they need to go using lists

Gotcha, and for expansionary purposes, if we were let’s say, trying to get a whole house worth of rooms to spawn in random locations connected to each other, a list like that would also work correct? Obviously it doesn’t account for variables like needing the doors to be connected, windows needing to be on the perimeter spawn locations, etc, but that would work for much larger applications correct?