Код IT Загрузка примера кода…

C# main.cs
using UnityEngine;

public class Projectile : MonoBehaviour
{
    [SerializeField] private float damage = 10f;
    [SerializeField] private float lifetime = 3f;
    [SerializeField] private LayerMask hitMask;

    void Start() => Destroy(gameObject, lifetime);

    void OnCollisionEnter(Collision collision)
    {
        if (((1 << collision.gameObject.layer) & hitMask) == 0) return;

        if (collision.collider.TryGetComponent<EnemyHealth>(out var enemy))
            enemy.TakeDamage(damage);

        Destroy(gameObject);
    }
}
using UnityEngine;

public class Projectile : MonoBehaviour
{
    [SerializeField] private float damage = 10f;
    [SerializeField] private float lifetime = 3f;
    [SerializeField] private LayerMask hitMask;

    void Start() => Destroy(gameObject, lifetime);

    void OnCollisionEnter(Collision collision)
    {
        if (((1 << collision.gameObject.layer) & hitMask) == 0) return;

        if (collision.collider.TryGetComponent<EnemyHealth>(out var enemy))
            enemy.TakeDamage(damage);

        Destroy(gameObject);
    }
}