So there is something broken in my screenshots, apologies.
The Random node should not be used like that. In my screenshot, I’m saving the random index (green output pin) to a variable but then I’m using the random array element (blue output pin) of the same Random node. The Random node is evaluated twice and so has a (great) risk of picking 2 different random elements. This is because Unreal will recook the Random node every time it is needed.
If you also used the Random node, it might be why you are having issues.
Instead, you can do something like this:
Or like this:
Something else that is ‘bad’ in my first screenshot (from the previous message) is that you should first check if that the array has any element in it. If you keep removing spawn points after they are used, you will end up with an empty array so you should first add a branch checking if the array lengh is > 0.
Other than that, I don’t know why this wouldn’t work. Feel free to share a screenshot of your most recent setup.