Detecting if a shirt has been deleted or not

Hey, for a while now I have been trying many ways, even resorting to AI to help me create this piece of code, but no luck.

In one of my games I use NPCs, and I have 20 shirts, and 20 possible pants for these NPCs. But recently having to go through 40 objects just isn’t ideal for me and I wanted to create a script that would just throw me a warning with the ShirtTemplate saying that it was deleted. This is because Roblox has been taking down shirts/pants, making my NPCs look… questionable.

Here’s what I have so far… and yes 1 shirt is actually deleted and the other is fine:

local HttpService = game:GetService("HttpService")

local function isAssetAvailable(assetURL)
    local success, response = pcall(function()
        return HttpService:GetAsync(assetURL)

    if success then
        return true
        return false

local shirtTemplateURL1 = ""
local shirtTemplateURL2 = ""

local isShirt1Available = isAssetAvailable(shirtTemplateURL1)
local isShirt2Available = isAssetAvailable(shirtTemplateURL2)

print("Shirt 1 available: ", isShirt1Available)
print("Shirt 2 available: ", isShirt2Available)

^^ Prints:

Shirt 1 available: false
Shirt 2 available: false

I have also tried something small like:

if MarketplaceService:GetProductInfo(ChosenItem) then
    ChosenItemSave:Clone().Parent = NewNPC
    warn("The item: "..ChosenItemName.." has been deleted from the Marketplace!")

^^ Does not work aswell

If i’m not wrong, deleted stuff gets id “0”, so you may try to check, if your shirt has deleted id

No the ShirtTemplate I have saved doesn’t ever change?

Maybe I should’ve explained better but I have each shirt and each pant as an Instance, and in my NPC code I just copy and paste the shirt/pant over to the NPC.

This means the ShirtTemplate/PantTemplates never change.

Check for deleted id in a template, chosen by script, and make it delete the problematic template