It did not work, and I'm gonna chop that up to I don't know how even after doing research into it.
However, good news, I came up with my own solution, it isn't perfect but it does exactly what I want it to, doesn't change my code, and works for each instance of the same object.
Doesn't use families, Doesn't use unique objects, Doesn't use LOS.
Well, technically it does use a unique object, but this unique object is pared with my AI anyway lol.
Its VisionRange, which is a sprite that acts as my own custom LOS.
Then I used a boolean, which I had to fidget with to get working, again, it isn't perfect and it tends to flip true/false on random occasions,
But I managed to eliminate as much of it as possible.
This whole thing is so jank but I don't mind it at all, specially considering I couldn't find these answers on any forum post, always suggesting the easy route which ever it may be,
And trust me I've seen all kinds of methods to differentiate instances of the same object.
Id love to post how I made this later in the forums, I don't mind sharing this tech since once it goes into a final product, it wont be recognizable.
Here's a picture of what I did, feel free to suggest any more methods of eliminating that random boolean swapping nonsense it tends to do: