hi calewell !
if you use a random for generating the index of the array you read, it will randomize number and often returns the same index, that s why you have actor spawning on the same spawn.what you can do is creating an array of bool, synced to you array of spawner, and set the bool to 1 when the spawn is “occupied” :
for exemple , set the bool array [3] to 1 if spawner 4 is already occupied
and then randomize with the reamining free indexes to spawn next actor.
fell free to download my project here :
i use this method to spawn the bonuses and to prevent to have 2 bonuses at the same point
an other way would be to remove from your array of spawner, the spawner you just got. easier but that would mean rebuild the array anytime you may need it later