Checking for list of enemies constantly on Tower Defense Game

Hello!

I’m planning a base defense game, and I would like to use both turrets and enemies as Game Objects.

But, I want the turrets to check every update step for the closer enemy.

I’ve heard that there’s Vector3.Distance to check, well, distances, but my question is: how to obtain the list of tagged/layered “enemies” in such a way that dont create new lists, as this distance check will happen every update step, inside every turret?

May someone help me?

So a trigger of a sphere collider versus enemies, right?
I should stop being lazy and start testing this right now.
But in case… relying on OnTriggerEnter is not expensive for the CPU, is it?

Or… better yet, if I want to detect near objects using a sphere collider AND detect if the turret was hitten by shots, how to I detect bullet hit on the turret? With 2 colliders on it?