Обнаружение объёктов при помощи Raycast, NullReferenceException

Противник (EnemyGolem) перемещается вправо и, при столкновении луча Raycast с платформой по тэгу, он прыгает. При этом всё работает, но если луч ни с чем не сталкивается, то консоль каждый кадр выдаёт ошибку:
“NullReferenceException: Object reference not set to an instance of an object EnemyGolem.Update ()”
Помогите пожалуйста выяснить, что ему не нравится.

Вот код:

   [SerializeField] private float speed;
    [SerializeField] Rigidbody2D rigidbody;
    [SerializeField] private float rayDistance;
    [SerializeField] private float jumpForce;
    void Start()
    {
        Physics2D.queriesStartInColliders = false;
    }

    void Update()
    {
        transform.Translate(Vector2.right * speed * Time.deltaTime);
        RaycastHit2D hit = Physics2D.Raycast(transform.position, transform.localScale.x * Vector2.right, rayDistance);
        if (hit.collider.CompareTag("Platform") && hit.collider != null) //ошибка указывает на эту строку
        {
            rigidbody.velocity = Vector2.up * jumpForce;
        }
    }
    private void OnDrawGizmos()
    {
        Gizmos.color = Color.red;
        Gizmos.DrawLine(transform.position, transform.position + transform.localScale.x * Vector3.right * rayDistance);
    }

Например можно добавить вначале hit != null

Спасибо за ответ. Попробовал. Не помогает. Visual Studio подсказывает, что эта переменная является типа bool и она не может быть равна Null.
image
Заранее извиняюсь, я немножко чайник, только осваиваю юнити и C#.

Так а в коде что сейчас?

Я имел в виду
if (hit != null && ...

В a && b условия проверяются слева направо, и если в a false, то значение b не будет проверяться, соответственно тут не будет попыток обратиться к свойствам null объекта.

А, да, сорян. Именно так я и добавил это условие. Ошибка осталась. При этом новое условие подчёркнуто зелёным и выводится вышеупомянутая подсказка. Вот код:

   [SerializeField] private float speed;
    [SerializeField] Rigidbody2D rigidbody;
    [SerializeField] private float rayDistance;
    [SerializeField] private float jumpForce;
    void Start()
    {
        Physics2D.queriesStartInColliders = false;
    }

    void Update()
    {
        transform.Translate(Vector2.right * speed * Time.deltaTime);
        RaycastHit2D hit = Physics2D.Raycast(transform.position, transform.localScale.x * Vector2.right, rayDistance);

            if (hit != null && hit.collider.CompareTag("Platform") && hit.collider != null)
            {
                rigidbody.velocity = Vector2.up * jumpForce;
            }
    }
    private void OnDrawGizmos()
    {
        Gizmos.color = Color.red;
        Gizmos.DrawLine(transform.position, transform.position + transform.localScale.x * Vector3.right * rayDistance);
    }

А, да, сам hit вроде бы не может быть null.
Так что null видимо это

и надо это

переместить влево.

Блин, точно:) Решение настолько простое, что аж стыдно:) Спасибо огромное:) Помогло