[Update] March 13, 2026
Hi creators,
We’re excited to announce the launch of In-Experience Accessory Auto-Setup in Studio Beta! Last year, we introduced the Studio Beta of In-Experience Auto-Setup for bodies to help streamline the avatar creation process. We are now expanding this tool to include clothing and accessories.
Previously, converting 3D models into usable clothing or accessories required manual setup in Studio. With this update, you can now enable players to transform simple 3D models into platform-ready avatar content – including layered clothing and rigid accessories – all within your experience. When coupled with in-experience creation, these items can be purchased and saved directly to a player’s inventory for use across Roblox.
What’s New?
This update introduces several key capabilities to the AvatarCreationService:
- Support for Clothing & Accessories: You can now process models for items like shirts, pants, shoulder accessories, and hats.
- Automatic Avatar Conversion: The system takes a model made to be an accessory or piece of layered clothing and automatically prepares it to be worn by a Roblox avatar.
- Editable Outputs: Results are provided as
EditableMeshandEditableImage, allowing for further customization of textures or geometry after the setup is complete. - In-Experience Publishing: Combined with
PromptCreateAvatarAsync, these accessories can be purchased and saved to the platform from within your experience.
Why In-Experience Auto-Setup?
We want to empower you to let your players create anywhere on Roblox. By integrating Auto-Setup for clothing and accessories directly into your experiences, we’re lowering the technical hurdles traditionally associated with 3D asset creation. This allows for deeper, user-driven customization by letting players transform raw 3D meshes into fully functional, Roblox-ready wearables on the fly.
How to use In-Experience Accessory Auto-Setup
You can start exploring in-experience Auto Setup for clothing and accessories right now. To help you jump in, we’ve provided a downloadable place file that demonstrates how to implement the API. This file includes a variety of sample 3D meshes and character models, allowing you to see firsthand how raw assets are automatically rigged and converted into Roblox-ready wearables.
To get started with the Studio Beta, follow these steps:
- Open Roblox Studio and navigate to File > Beta Features.
- Enable In-Experience Avatar Auto-Setup and restart Studio.
- Use the
AutoSetupParamstable to define your accessory models and types. - Call
AutoSetupAvatarAsyncon the server to begin the process. - Retrieve the result using
LoadGeneratedAvatarAsyncto get aHumanoidDescriptioncontaining the new accessories.
Implementation Example
Check out our documentation page for detailed information, and see below for an example of how you can set up a server-side request to process a new accessory:
local AvatarCreationService = game:GetService("AvatarCreationService")
-- Define the accessories to be set up
local shirtAccessory = {
AccessoryType = Enum.AccessoryType.Shirt,
IsLayered = true,
Instance = shirtModel, -- Your Model containing MeshParts
}
local accessories = {shirtAccessory}
-- Call the Auto Setup API
local function setupAccessory(player, bodyModel)
local success, generationId = pcall(function()
return AvatarCreationService:AutoSetupAvatarAsync(player, {
Body = bodyModel,
Accessories = accessories
})
end)
if success then
-- Send generationId to client to load the result
print("Setup started! ID:", generationId)
end
end
Next Steps
- Rollout: This is currently a Studio Beta. You can implement and test these APIs within Studio today, with full in-experience support coming shortly.
- Limitations: During beta, ensure all input mesh and texture assets are owned by the same user or group as the experience.
We want to hear how you’re using these tools! Please share your creations and any issues you encounter in the comments below.
Thanks to the team that helped make this release possible: @anonymoose_bin, @HaloArbiter_101, @haomiaojiang, @RadioNoggin, @TheGamer101, @DucVroom, @Ozamanthus, @FarazTheGreat, @timetopretend8

