Destroying object when cama does't see it unity code example

Example 1: in unity i want to destroy a gameobject when it hits the edge of the screen

// this does take into account EVERY camera, including the editor view one
// but that shouldn't be a big deal once the game is built

void OnBecameInvisible() {
 	Destroy(gameObject);
}

Example 2: in unity i want to destroy a gameobject when it hits the edge of the screen

using UnityEngine; 
 using System.Collections;  
 
 public class CarDetection : MonoBehaviour {
 	private Camera mainCamera;
    public Vector2 widthThreshold;
    public Vector2 heightThreshold;
    
    void Awake () {
    	//Get your mainCamera here. If you are pretty sure that the camera is always the Camera.main you don't need to implement here. Just call for Camera.main later.
    }       
    void Update () {           
    	Vector2 screenPosition = mainCamera.WorldToScreenPoint (transform.position);           
        if (screenPosition.x < widthThresold.x || screenPosition.x > widthThresold.y || screenPosition.y < heightThresold.x || screenPosition.y > heightThresold.y)  {         
        	Destroy (gameObject);
        }
    }
}