Why Wont My Object Spawn,Why Wont The Object Rspawn?

This script is attatched to a pick up that i want to destroy and respawn after random time. It doesnt respawn. Anybody know why?

using UnityEngine;
using System.Collections;

public class PickUpRespawn : MonoBehaviour
{
private int rotateSpeed;
private float nextSpawnTime;
public GameObject Armour;

void OnTriggerEnter (Collider other)
{
	if (other.tag == "Player")
	{
		nextSpawnTime = Random.Range (0, 10);
		Destroy (Armour);
		Invoke ("respawn", nextSpawnTime);
	}
}
	
void respawn()
{
	Instantiate (Armour, transform.position, Quaternion.identity);
},

If you destroy the gameobject, any scripts attached to it will also be destroyed and thus won’t be able to run the respawn() method. Try looking into object pooling, which is when you have a list of gameobjects that will be reused over and over, and set them as active/inactive as needed. There’s a good tutorial here: