Does anyone know what the missing AssetType Ids are? (19 Missing Ids)


Achieve

I’m currently making an asset loader module, however midst making the module… I noticed something bizzare.

Issue

There is exactly 19 missing Asset Type Ids, click on the blue to view the AssetType page.

I went through and made a Table of all the assets, with how many there are missing and seeing as there’s 19 missing Id values; I wanted to see if anyone knew what these asset types were or if they’re hidden/deprecated Asset Types.

Question (TL;DR)

  1. Does anyone know what the missing Asset Type Ids are?,
  2. If yes to #1 then; What are the missing Asset Type Ids?,
Here is a list of every single asset Id with the Unknown AssetTypes in order.
local AssetTypes = {
					"Image","TShirt","Audio","Mesh","Lua","Unknown1","Unknown2","Hat","Place","Model","Shirt","Pants","Decal","Unknown3","Unknown4","Unknown5","Head",
					"Face","Gear","Unknown6","Badge","Unknown7","Unknown8","Animation","Unknown9","Unknown10","Unknown11","Torso","RightArm","LeftArm","LeftLeg","RightLeg","Package",
					"Unknown12","GamePass","Unknown13","Unknown14","Unknown15","Plugin","Unknown16","MeshPart","HairAccessory","FaceAccessory","NeckAccessory","ShoulderAccessory",
					"FrontAccessory","BackAccessory","WaistAccessory","ClimbAnimation","DeathAnimation","FallAnimation","IdleAnimation","JumpAnimation","RunAnimation","SwimAnimation",
					"WalkAnimation","PoseAnimation","EarAccessory","EyeAccessory","Unknown17","Unknown18","EmoteAnimation","Video","Unknown19","TShirtAccessory","ShirtAccessory",
					"PantsAccessory","JacketAccessory","SweaterAccessory","ShortsAccessory","LeftShoeAccessory","RightShoeAccessory","DressSkirtAccessory"}

The reason I ask

I plan to release my Asset Loader Module once it’s complete, if these missing AssetType Ids are something; I want to mark them down with their own folder and if not, I want to make sure to keep them as unknown.


Thank you in advance for any assistance you may provide.

2 Likes

It appears that there are just gaps in the numbering. There could be any number of reasons why that happened (enums don’t have to be sequentially numbered), but it doesn’t appear that there are ‘hidden’ items that were excluded from the docs. Can generate a list from script this way:

for _,v in pairs(Enum.AssetType:GetEnumItems()) do
	print(v.Value, v.Name)
end
-- name and value can be pulled directly from an enum like this
print(Enum.AssetType.Image.Name, Enum.AssetType.Image.Value)

Not sure what all you’ll be using the list for, but generating that list of asset types at runtime would ensure latest changes to the Enum.AssetType are included. Using placeholders for all ‘missing’ assets seems impractical since if they exist, the numbering could go way higher than the current top at 72 (No reason they couldn’t skip up to 500 and start again from there, for example). A dict of the ones you do know might be the better route. Can just flag anything not in that dict as “unknown” when/if that’s ever needed.

2 Likes

I guess I understand that to some degree, it just seems that there was some set order for when the Assets were given their Enum Value so I figured there was a possibility.

I’ll explain it in the best way I can; I’m creating an Asset Module that’ll allow a user to spawn in what they want (as long as they have permission to) into their game and keep a direct copy of that item in the Server Storage to prevent constant re-creation(s) of the instance trying to be spawned in.

I wasn’t sure how you’d be using the list that you included at the top and why you would need the unknowns included and numbered. Thinking now that the local AssetTypes = {...} was just included to illustrate what you were talking about and isn’t going in your module. I was just a bit confused about why you would need to track unknowns explicitly. It’s not important that I understand, though!

There is a possibility that there is, or was, a set order that had parts removed or spaces reserved for future use. It doesn’t really matter though. When working with Enums you should never assume they are based on sequential numbering. Many are, but ones like AnimationPriority, RenderPriority, Material, InputType, and others show that you should not rely on enums being complete or consistent—or even logical.

1 Like

I disagree with @Astr0Derp 's answer as there indeed appear to be hidden asset types. Here are all I’ve been able to gather from various sources including devforums and various roblox & api wikis. However, note that there at least 5 missing asset types that I could not find any where and are marked in the list as “Unknown”. Please do let me know if you discover their values at some point.
Hopefully this is of any help to you.

-- * is a guess/suggestion made by the AI
local AssetTypes = {
	[1] = "Image",
	[2] = "TShirt",
	[3] = "Audio",
	[4] = "Mesh",
	[5] = "Lua",
	[6] = "HTML",
	[7] = "Text",
	[8] = "Hat",
	[9] = "Place",
	[10] = "Model",
	[11] = "Shirt",
	[12] = "Pants",
	[13] = "Decal",
	-- [14] = "Unknown", -- * "VideoClip", "VideoOverlay"
	-- [15] = "Unknown", -- * "Article", "Widget"
	[16] = "Avatar",
	[17] = "Head",
	[18] = "Face",
	[19] = "Gear",
	-- [20] = "Unknown", -- * "Subscription", "PluginEmulator"
	[21] = "Badge",
	[22] = "GroupEmblem",
	-- [23] = "Unknown", -- * "Bundle"
	[24] = "Animation",
	[25] = "Arms",
	[26] = "Legs",
	[27] = "Torso",
	[28] = "RightArm",
	[29] = "LeftArm",
	[30] = "LeftLeg",
	[31] = "RightLeg",
	[32] = "Package",
	[33] = "YouTubeVideo",
	[34] = "GamePass",
	[35] = "App",
	-- [36] = "Unknown", -- * "Game"
	[37] = "Code",
	[38] = "Plugin",
	[39] = "SolidModel",
	[40] = "MeshPart",
	[41] = "HairAccessory",
	[42] = "FaceAccessory",
	[43] = "NeckAccessory",
	[44] = "ShoulderAccessory",
	[45] = "FrontAccessory",
	[46] = "BackAccessory",
	[47] = "WaistAccessory",
	[48] = "ClimbAnimation",
	[49] = "DeathAnimation",
	[50] = "FallAnimation",
	[51] = "IdleAnimation",
	[52] = "JumpAnimation",
	[53] = "RunAnimation",
	[54] = "SwimAnimation",
	[55] = "WalkAnimation",
	[56] = "PoseAnimation",
	[57] = "EarAccessory",
	[58] = "EyeAccessory",
	[59] = "LocalizationTableManifest",
	[60] = "LocalizationTableTranslation",
	[61] = "EmoteAnimation",
	[62] = "Video",
	[63] = "TexturePack",
	[64] = "TShirtAccessory",
	[65] = "ShirtAccessory",
	[66] = "PantsAccessory",
	[67] = "JacketAccessory",
	[68] = "SweaterAccessory",
	[69] = "ShortsAccessory",
	[70] = "LeftShoeAccessory",
	[71] = "RightShoeAccessory",
	[72] = "DressSkirtAccessory",
	[73] = "FontFamily",
	[74] = "FontFace",
	[75] = "MeshHiddenSurfaceRemoval",
	[76] = "EyebrowAccessory",
	[77] = "EyelashAccessory",
	[78] = "MoodAnimation",
	[79] = "DynamicHead",
	[80] = "CodeSnippet",
}

6 Likes

i may have some answers* for asset types 14, 15, 20, and 23

*these are purely speculative answers based on what i could find in roblox history from around the time their corresponding types were first added and / or went into testing - these also arent the only explanations and could very well be explained by viewing earlier asset type ids in another base (such as hexadecimal or octal)

i dont think asset types 14 and 15 were actually used, and that the skip to 16 (Avatar) was for categorisation purposes – if they were used at some point, then i imagine they wouldve been used for testing purposes

its possible that asset type 20 may have had something to do with the ambassador program (or roblox badges in general), as both the ambassador badge and user badges were added around the same time, but since the ambassador program was discontinued in 2012, it was removed

asset type 23 has two explanations that are rather plausible:
the first (and most likely) explanation is that it was skipped for categorisation to asset type 24 (Animation), much like the skip to asset type 16.
the second (least likely, but plausible) explanation is that it was another asset pertaining to groups, or possibly that groups themselves were an asset type before becoming their own thing

4 Likes

Those are interesting answers indeed.

Any chance you could provide source (if there is) for your theory about asset type number 20?

Thanks in advance!

1 Like

@zed_Pugnator | @Moduluous

I plan to make a Discussion Post about these missing asset ids in the near future, however I’m almost certain that some asset Ids are empty, and others are suspended/unused Assets, such as the Ambassador Program, that have no purpose of being accessed anymore.

When that is posted, I will link you both the post so you can theorize off of what I’ve found from the past two years.

1 Like

Glad to hear that! I’ll be waiting eagerly

1 Like