In-game accessory name is different from catalog name, how do I match them?

  1. What do you want to achieve? Get accessory’s in game name from id.

  2. What is the issue? Accessory catalog name is different from the actual in game accessory name.

  3. What solutions have you tried so far? I loaded the accessory using its id to grab its name, but I’m worried this solution can introduce lag. MarketPlaceService:GetProductInfo gives me the catalog name, which is not helpful because I need to use the name to find the accessory in a character.

For context, I’m making a gui that finds accessories a player is wearing and let’s them delete it. I’m using the id in hopes I can access the name and catalog image. But catalog name from id doesn’t always match up with in game accessory, like UGC accessories


Replicated.RemoveAccessory.OnServerEvent:Connect(function(plr, id)
	local character = plr.Character:GetChildren()
	local name 
	for _,Item in pairs(InsertService:LoadAsset(id):GetChildren()) do
		if Item:IsA("Accessory") then 
			name = Item.Name
			Item:Destroy()
		end	
	end
	
	for i, v in pairs(character) do
		if v:IsA("Accessory") then
			if v.Name == name then
				v:Destroy()
				
			end
		end
		
	end

end)

use the HumanoidDescription instead, that actually uses the right ids

1 Like