Help With Zombie

Hi, I am currently making a video game and was wondering how to make a dead zombie once shot till it dies. I have created all of the zombie AI and when they die though they disappear. I want them to not disappear but instead fall over (Ragdoll possibly so arms aren’t straight out.) I tried this and successfully did it! but there is one problem i am using Spawner Free (Asset store) and they still disappear.
Also is there a way to make blood spew out of the dead zombie (Not a ton but some to drip to floor.) AND Finally will it be laggy to have a ton of dead rag dolls every where? If so can i make it so they disappear after a certain amount of time?

TO summarize what i was asking for:
Dead Replacement (Read more about it above to see why it is challenging)
Blood for when object dies
Delete dead zombie after certain time

edit moved code from comment

var hitPoints = 100.0;
var deadReplacement : Transform;
var dieSound : AudioClip;

function ApplyDamage (damage : float) {
    // We already have less than 0 hitpoints, maybe we got killed already?
    if (hitPoints <= 0.0)
        return;
    hitPoints -= damage;
    
    //THIS is character damage script... it works well with my zombie AI
    
    if (hitPoints <= 0.0)
    {
        Detonate();
    }
}

function Detonate () {
    // Destroy ourselves
    Destroy(gameObject);
    
    // Play a dying audio clip
    if (dieSound)
        AudioSource.PlayClipAtPoint(dieSound, transform.position);

    // Replace ourselves with the dead body
    if (deadReplacement) {
        var dead : Transform = Instantiate(deadReplacement, transform.position, transform.rotation);
        
        // Copy position & rotation from the old hierarchy into the dead replacement
        CopyTransformsRecurse(transform, dead);
    }
}

static function CopyTransformsRecurse (src : Transform,  dst : Transform) {
    dst.position = src.position;
    dst.rotation = src.rotation;
    
    for (var child : Transform in dst) {
        // Match the transform with the same name
        var curSrc = src.Find(child.name);
        if (curSrc)
            CopyTransformsRecurse(curSrc, child);
    }
}

Thanks!
Sam

Blood’s not terribly challenging depending on how you want it to look, it can be as simple as grabbing a spot on the ground below with a raycast, spawning a plane with a blood splat on it, and slowing extending it until it and the zombie are deleted.

For the deleting of the zombie, ragdoll or not, just have a dead bool in each of the zombie scripts that clocks time after death. Like this:

void Update()
{
    if (dead)
        deadTimer += Time.deltaTime;
    if (deadTimer >= 3)
        Destroy(gameObject);
}

As for ragdoll functionality having an issue, I’d look around for people’s tutorials/scripts that show how to do proper ragdoll replacement. gl hf!