Saw a comment in the code
I saw this comment in the code:
// This line may be kind of slow ... is there any other way to do this?
List turretList = Pool.GetList<SamSite>();
I do not know if this is more efficient, but might be worth testing:
SamSite[] turretList = UnityEngine.Object.FindObjectsOfType<SamSite>() as SamSite[];
Let me know as if it is less efficient I will give your method a try.
I believe FindObjectsOfType is often a bit expensive, and I'm unsure that you would need to cast it either.
What is the most efficent way to accomplish this?
I'm not really sure, just going based on what I've seen. I am not really familiar with Pool.GetList personally, just know that FindObjectsOfType can be a hungry.
I should have changed that line. It's not really that line which may be slow, but instead that process of getting the valid turrets for the player.
5b5c36c6b9361.png mspeedie
What is the most efficent way to accomplish this?

LINQ and Foreach are both possible ways to do this. I haven't profiled it and couldn't give you an accurate reading, but if these cause lag spikes it can be done with a coroutine.