So, range_checks is a list of objects on the “player” layer. It’s an enemy script and because there’s only one player there could only ever be one item in the list. I don’t understand what it means for a layer to be accurate and yes player has a capsule collider. Thanks for any future help!
Well, “player_layer” should be a layer mask, not a layer index. So what exactly is player_layer? What’s its value? We can only assume things based on what we can see here. We don’t know how this variable is declared or what values it may contain. We can tell you that the method OverlapSphere does work as expected. So if you don’t get a result, you’re either checking the wrong layer(s), your range is smaller than the distance to the object you want to find or the provided position is not what you may expect.
Other possible issues are that your target object does not have a collider or does have a wrong collider (2d physics collider instead of 3d physics collider?)