Camera.main é nulo ao executar raycast

Código que gera um erro:

void Update()
{
    if (Input.touchCount > 0)
    {
        RaycastHit2D hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position), Vector2.zero);
        if (hit && hit.collider != null && hit.collider.name == "leftTapArea")
        {
            hit.transform.name = "Hit";
        }
    }
}

Diz que algo está errado com esta string:

RaycastHit2D hit = Physics2D.Raycast (Camera.main.ScreenToWorldPoint (Input.GetTouch (0) .position), Vector2.zero);

Erro:

NullReferenceException: referência de objeto não definida para uma instância de um objeto leftScript.Update () (em Assets / leftScript.cs: 16)

questionAnswers(2)

yourAnswerToTheQuestion