The compiler doesn’t care singular or plural, but when you are iterating, generally use singular for the iterator and plural for the thing being iterated.
So …
Collider[] nearbyObjects = Physics.OverlapSphere(transform.position, Sight);
foreach (Collider nearbyObject in nearbyObjects)
{
// do stuff with nearbyObject, NOT with nearbyObjects
}
Even better, never use the word “object…” Saying “object” is equivalent to saying thingamajig and completely useless as a name.
Use worker or enemy or agent or dude or anything like that… even something as ambiguous as “nearbyWorkers” is helpful because if you ever see something called a “Wall” come up in nearbyWorkers then you know something is wrong and you can fix it.
If you’re choosing a word that is generic it’s a good sign that you don’t actually need the word. In the case of your code you could just call it nearby.
Although if I were writing the code I’d just call it collider since the code is accessing one of a collection of type Collider not of type GameObject. That can be important once your code is long enough you can no longer see the type on screen and aren’t using an IDE that shows the type next to the variable name like JetBrains Rider.