Скрипт в Юнити не работает

Я написал скрипт чтобы когда игрок касался коллайдер монеток, монетки исчезалисам скрипт

Но он не работает! Я назвал монетки Coins1 Дал им тег coins1, но ничего не работает, поставил Is Trigger на коллайдере и Is Kinematic в ригидбади, но, нифига( Помогите пожалуйста!


Ответы (2 шт):

Автор решения: farkon00

У вас странный код, но главная ошибка в точке c запятой после ifа.

void OnTriggerEnter(Collider other)
{
    if (other.tag == "coins1")
    {
        Destroy(other.gameObject);
    }

}

Также условия работы OnTriggerEnter:

Оба объекта должны иметь на себе компонент Collider.

РОВНО один объект (НЕ два) должен быть помечен как триггер (то есть свойство isTrigger должно быть равно true) в компоненте Collider.

Хотя бы один из двух объектов должен иметь компонент Rigidbody.
→ Ссылка
Автор решения: MRXIT

У вас всех странный код. Ужаснее не придумаешь. Забудьте тэги. Это подход максимально не опытного программиста. Пишите так:

private void OnTriggerEnter(Collider other)
{
    if (other.TryGetComponent(typeof(Coin), out Coin coin))
        Destroy(coin);
}
→ Ссылка