Help with properly removing an index from an array

I am trying to do my own lock on system. I watched a couple videos on how it was approached and wanted to see if I could find my own way of doing it.
What I have set up works.


When I overlap the object, it gets put in the array. Once its in the array I can hit tab and it will highlight it and allow input to it. Tab will also allow me to cycle through all objects in the array. When an object end overlaps, it removes from the array and I can no longer access it by hitting tab.
So that works as intended.
My issue is that say I overlap two objects, I can cycle between them, but if I destroy one of them, when I go to cycle through, it still thinks that there is an index there. So I have to hit tab twice when there is only one object visible. I have been trying to remove this index the same way it removes when I end overlap because that method works for removing it. But I can’t access the objects BP the same way as an overlap where I just draw out from other actor. Any other attempt I have done to remove the index is not working correctly. Has anyone done a lock on system? And if so, maybe my method for doing this is just wrong but it almost works perfectly.

When you use TAB to cycle through your Enemies, use an IsValid node to check if the Actor actually exists, if it returns false, then you can be sure that the Actor has probably been destroyed in the past and you can then remove it from the Array.