visible object on screen

Hello Everyone
i need to know what is object appear in the screen
i try to use Render.IsVisible and OnbecomeVisible but it is return true when object in camera collider
some times the object be behind wall so i can not see it but it is inside camera so that unity tell me it is visible

OnBecomeVisible is the way to go. This will call when the mesh will be rendered. This also happens behind objects without occlusion culling. If you want tot properly check if nothing is occluding it, shoot raycasts to the object to see if it is in line of sight or occluded

You could try just shooting a Raycast at the object and checking if anything’s in-front of it as well.
Edit: I did not fully understand the question, ignore what I said.

I make hideout game and i wont player detect other players so if other player behind wall player can not see him but unity tell me it is visible

raycast will go to one point I need all points

I have not implemented this, so it is more of an idea/concept but you could try it. Set another camera at the exact position/rotation of your “normal” camera. Let it render inside a render texture. Set clear color to black for example. And only let the camera render the layer of the object(s) you are interested in. Then you can scan the rendertexture for non black pixels and know wether/how much of the object(s) can be seen.

Edit: I realize that would omit your obstacles. So you should color code them (fe obstacles render in blue, the target object in red) and they need the same layer.