Enemy health and bullet problem

[Edit]: This script is attached to the enemy, by the way!

Hello, I’m having a little trouble with my enemy health script. I asked a question similar to this one a while ago, but I’m using my newer script now, and can’t figure out how to solve this problem.

Here’s the health script:

var hit = 0;
var bulletHit : AudioSource;
var bullet : GameObject;
 
function OnTriggerEnter(){
    hit +=1;
    Update();
    audio.Play();
}
 
function Update(){
    if(hit == 3){
    	Destroy(bullet.gameObject);
        Destroy(gameObject);
	}
}

It basically makes it so that if the bullet object enters the trigger on the enemy (Collider set to trigger) it adds a hit to it and if there are 3 hits, it destroys it.

The Problem: The bullets don’t get destroyed when they hit the enemy. They continue to travel for 5 seconds (because of the Timed Object Destructor.) I tried to use this, but it didn’t work either:

DestroyImmediate(bullet, true);
    
    and
    
DestroyImmediate(bullet.gameObject, true);

Can someone help me with this? Thanks.

try this

var hit = 0;
var bulletHit : AudioSource;
var bullet : GameObject;
 
function OnTriggerEnter(){
    hit +=1;
    Update();
    audio.Play();
}
function start(){
     bullet = GameObject.Find("Name of your bullet");
}
 
function Update(){
    if(hit == 3){
        Destroy(bullet);
        Destroy(gameObject);
    }
}

Create a boolean to represent if the bullet is destroyed.
Initialize it to false.
When the collision occurs, set it to true.
Then, in the Bullets Update(), you can call destroy immediate.