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
	for i, v in pairs(character) do
		if v:IsA("Accessory") then
			if v.Name == name then


use the HumanoidDescription instead, that actually uses the right ids

1 Like