Stop Array Duplicating?

Neither, you can’t remove from an array while you’re using it. You’ll get all sort of weirdness if you try that. Also you’ve got a massive struggle if you do it on tick, because it’s trying to run every frame and you have to somehow make sure it doesn’t, it’s a mess…

EDIT, it is technically possible to put it on tick, but it still wouldn’t look like your code I’m afraid. You’d need to have at least a boolean saying when and when not to spawn, and you’d have to set that bool using a custom event. So, it’s not really on tick anymore because you’re putting other functionality elsewhere.