Uploading an item to the Marketplace: the rule that makes submission irreversible
3D accessories and clothing reach the Marketplace in two stages, Studio and publishing. The sentence that changes everything sits in the middle of the documentation: you cannot update or edit the asset and the thumbnail after submitting.
Produced with AI from the sources cited below, and checked by automated verification against those same sources. No person read this text before publication. Editorial Policy

There is a sentence in the middle of the Marketplace publishing documentation that changes the nature of the whole process, and it goes unnoticed because it is written without emphasis: you cannot update or edit the asset and the thumbnail after submitting.
It is not "it is laborious". It does not exist. What you send is what stays, and the upload fee has already been paid. This guide walks the two stages of submission with that sentence at the centre — because everything that looks like excessive bureaucracy before the button starts making sense after it.
The problem
The route has two separate stages, and confusing them is the first source of frustration. First you upload the asset through Studio, for validation and moderation. Only then do you publish to the Marketplace, configuring metadata and sales settings. Between one thing and the other there is a moderation queue, and it is not instant.
Before both there is the door: to publish and sell on the Marketplace, the account or the group has to meet the creator requirements. Anyone who does not find out in a rather unobvious way — the asset type menu simply does not appear on the upload screen. The documentation records this explicitly: the absence of the menu indicates the account may not have access to upload an item to the Marketplace.
And there is a ceiling, which matters to anyone working at volume: free limited items have a ceiling of 50 per day for enabling sales. There is a subtlety that helps — on an asset that can be taken off sale, only the first enabling counts against the limit. Taking it off and putting it back does not spend the quota again.
A note on scope: these instructions cover 3D accessories and clothing pieces. Classic 2D clothing and locomotion animation packages have routes of their own.
It is worth a paragraph understanding why the two stages are separate, because it explains almost every question that comes up later. The first stage — the upload through Studio — is about the file: does it have the right structure, does the mesh close, is the texture yours, does the name pass the filter. The second — publishing — is about the product: price, who owns it, whether it is on sale. Between the two there is a moderation person looking at the item.
That is why "I uploaded it and it does not appear in the shop" is almost never a bug. The item is exactly where it should be: submitted, validated, and sitting in the queue. The Creations tab of the Creator Hub shows that state, and that is where you follow it — not on the storefront.
And that is also why the irreversibility exists. The asset moderation is going to assess has to be the one you sent; if you could swap the file after the assessment, the assessment would be worth nothing. The rule is not an interface inconvenience, it is what holds the whole queue up.
Step by step
1. Build the right hierarchy. This is where most submissions fail, and the validation is literal about it — Studio checks for technical problems like an incorrect hierarchy or the wrong accessory structure.
The three rules that cover almost everything: accessories and clothing have to be objects of type Accessory; bodies and heads have to be a Model, not an Accessory; and shoes require one accessory object for each foot, with the exact names LeftShoeAccessory and RightShoeAccessory, grouped as a Model.
For a body, there is an optional detail worth knowing: you can set a default skin colour by adding a BodyColors object to the model.
2. Attach your own thumbnail. The official recommendation is to add a thumbnail before uploading, to control how the item appears on the storefront. Worth repeating the rule from the start: it does not change afterwards either.
3. Submit. In the Explorer, right-click the object and Save to Roblox. Under Submit As, choose Avatar Asset. Choose the type from the menu — and pay attention, because validation begins the instant the type is chosen, not when you click submit.
4. Fill in the metadata. Once validation finishes, the description dialog appears. The Title field is the asset's name on the Marketplace. And the Creator field is the one that deserves thought: you can set your user or any associated group, and whoever is the creator is who can set price and benefits and see the sales data.
That choice is structural. Publishing an item that belonged to the group on your personal account by mistake — or the other way round — means the wrong person controls the price and sees the revenue.
5. Confirm. The Submit button pays the applicable upload fee and sends the item for moderation approval. After that, the item sits in the Creations tab of the Creator Hub, in a pre-published state, where you can follow the status and adjust the title and description.
The artifact
The document below has two parts. The first is the structure required in the Explorer for each item type — the shape validation expects to find. The second is a checklist to walk before the Submit.
The list exists because of the irreversibility. It looks excessive until the first time an upload fee disappears because the name had a word the filter catches, or because a texture reused from an old test blocked the submission.
Common mistakes
The documentation lists the most frequent conflicts, and they fall into two groups.
The first is technical. For a validation error, hovering over it shows the specific failure output — and that is what tells you what to fix, not the generic message. Most of those problems require adjusting the model in your modelling program and importing it into Studio again; they are not fixable inside Studio. There is even a dedicated error for when the FaceControls object is not detected in a head animation.
The second group is metadata and ownership, and it is the one that burns fees for nothing:
- Studio's text filter identifies improper words in the name or the description. It is broader than it looks, and it catches innocent combinations.
- Using an
AssetIDorTextureIDthat belongs to another asset already on the Marketplace blocks the submission. That is the classic case of someone reusing a texture from a previous project without remembering where it came from. - Using an
AssetIDorTextureIDstill pending moderation also blocks it. Here there is no mistake on your part: the texture is yours, you uploaded it, and it simply has not been cleared yet. The solution is to wait, not to fix.
And closing the circle: that is why the documentation insists on testing thoroughly before submitting. On a platform where a submission can be redone, testing is good practice. Here, where it cannot and where every attempt costs, testing is the only step that actually saves money.
Next step
With the item in the queue, the next step is understanding what happens inside it. Moderation has criteria of its own, and a rejection there costs the upload fee and returns nothing — which makes the Marketplace policy a reading with a direct return, not an obligation.
Once the item is approved, the real second stage arrives: setting the price and putting it on sale. That is where the publishing advance comes in, which is a cost separate from the upload and works by opposite rules — it comes back, in instalments, as the item sells.
And it is worth building your own archive of what went wrong. The documentation's conflict list is generic on purpose; your list, with the two or three mistakes you have already made, is the one that prevents the third.
Two bench practices round the subject off well, and neither is written down anywhere because they are habit, not rule.
The first: keep a separate Studio file purely for submission, with the item assembled in its final structure and nothing else inside. The working file accumulates tests, copies, old textures and references you do not remember putting there — and that is exactly where the reused TextureID that blocks validation comes from. A clean file makes the error visible before it costs.
The second: read the name and the description out loud before the Submit, hunting for what the filter might catch. It sounds silly and it works, because the filter reacts to combinations, not isolated words — and reading out loud is the quickest way to hear a combination your eyes normalised after the tenth time reading it.
Finally, it is worth understanding the logic of the free limited ceiling before planning a launch at volume. Only the first sales enabling counts against the ceiling, so taking an already published item off and putting it back is free. Anyone planning a large collection organises the calendar around that: the bottleneck is each piece's debut, not managing what has already debuted.
Sources
Ready-to-use artifact
EXPLORER STRUCTURE, by Marketplace item type.
Checked against the official documentation on 23/09/2026.
1) ACCESSORY or CLOTHING (3D)
Accessory <- MUST be an Accessory, not a Model
└── Handle (MeshPart)
├── SpecialMesh / its own mesh and texture
└── (layered) WrapLayer / Cage
2) SHOES — two separate accessories, grouped in a Model
Model
├── LeftShoeAccessory <- the NAME matters, exactly like this
│ └── Handle
└── RightShoeAccessory <- same
└── Handle
3) BODY or HEAD
Model <- MUST be a Model, not an Accessory
├── (body parts)
├── BodyColors <- optional: sets the default skin colour
└── FaceControls <- on a head: without it, validation flags
a missing facial animation control
CHECK BEFORE SUBMIT — the upload is IRREVERSIBLE, you cannot edit the
asset or the thumbnail afterwards. Walk the list with the file open:
[ ] the root object is the right type (Accessory vs Model) for this item
[ ] shoes: both accessories exist and carry the exact names
[ ] head: FaceControls present
[ ] your own thumbnail already attached (it does not change later either)
[ ] no AssetID or TextureID reused from another item
[ ] no texture still pending moderation
[ ] name and description read out loud, hunting for what the filter catches
[ ] creator chosen: user or group — it is who will set the price and see
the sales, and that is not fixed later with a message
[ ] tested on the avatar, in a pose, from both directions

