• Не могу понять почему не работает код?

    @Sir_Akakii
    Так ты просто задаешь слой объекту. Сам слой задай в инспекторе игроку, а в своей функции добавь 4-й аргумент, отвечающий за слой:
    Physics2D.Raycast(transform.position, Vector2.right, spacing, 1 << LayerMask.NameToLayer("Player"));
    Так рейкаст будет реагировать только на коллайдер игрока и игнорировать все остальные.
  • Не могу понять почему не работает код?

    @Sir_Akakii
    У объекта, который создает рейкаст, есть коллайдер?
    Если да - возможно рейкаст просто попадает "сам в себя". Тогда нужно использовать слои, чтобы рейкаст срабатывал только при попадании в объекты определенного слоя и игнорировал остальные коллайдеры.
    И еще на будущее - вместо сравнения тегов с помощью ==, используйте CompareTag - hit.collider.CompareTag("Player")