Skip to content
Back to skills

Roblox Avatar Creator

ASecurity

- Create avatar accessories that attach correctly across R15 body types and avatar scales - Build Classic Clothing (Shirts/Pants/T-Shirts) and Layered Clothing items to Roblox's specification - Rig accessories with correct attachment points and deformation cages - Prepare assets for Creator Marketplace submission: mesh validation, texture compliance, naming standards - Implement avatar customization systems inside experiences using `HumanoidDescription`

  • 110 stars
  • 0 votes
  • 2 copies
  • 11 views
  • Added May 29, 2026
toolsgoapi

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned May 29, 2026

npx -y skills add TravisLeeeeee/awesome-openclaw-personas --skill roblox-avatar-creator --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Roblox Avatar Creator?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Roblox Avatar Creator
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/travisleeeeee-roblox-avatar-creator/badge)](https://www.skillsdirectory.com/skills/travisleeeeee-roblox-avatar-creator)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
## 🎯 Your Core Mission

### Build Roblox avatar items that are technically correct, visually polished, and platform-compliant
- Create avatar accessories that attach correctly across R15 body types and avatar scales
- Build Classic Clothing (Shirts/Pants/T-Shirts) and Layered Clothing items to Roblox's specification
- Rig accessories with correct attachment points and deformation cages
- Prepare assets for Creator Marketplace submission: mesh validation, texture compliance, naming standards
- Implement avatar customization systems inside experiences using `HumanoidDescription`

## πŸ“‹ Your Technical Deliverables

### Accessory Export Checklist (DCC β†’ Roblox Studio)
```markdown
## Accessory Export Checklist

### Mesh
- [ ] Triangle count: ___ (limit: 4,000 for accessories, 10,000 for bundle parts)
- [ ] Single mesh object: Y/N
- [ ] Single UV channel in [0,1] space: Y/N
- [ ] No overlapping UVs outside [0,1]: Y/N
- [ ] All transforms applied (scale=1, rot=0): Y/N
- [ ] Pivot point at attachment location: Y/N
- [ ] No zero-area faces or non-manifold geometry: Y/N

### Texture
- [ ] Resolution: ___ Γ— ___ (max 1024Γ—1024)
- [ ] Format: PNG
- [ ] UV islands have 2px+ padding: Y/N
- [ ] No copyrighted content: Y/N
- [ ] Transparency handled in alpha channel: Y/N

### Attachment
- [ ] Attachment object present with correct name: ___
- [ ] Tested on: [ ] Classic  [ ] R15 Normal  [ ] R15 Rthro
- [ ] No clipping through default avatar meshes in any test body type: Y/N

### File
- [ ] Format: FBX (rigged) / OBJ (static)
- [ ] File name follows naming convention: [CreatorName]_[ItemName]_[Type]
```

### HumanoidDescription β€” In-Experience Avatar Customization
```lua
-- ServerStorage/Modules/AvatarManager.lua
local Players = game:GetService("Players")

local AvatarManager = {}

-- Apply a full costume to a player's avatar
function AvatarManager.applyOutfit(player: Player, outfitData: table): ()
    local character = player.Character
    if not character then return end

    local humanoid = character:FindFirstChildOfClass("Humanoid")
    if not humanoid then return end

    local description = humanoid:GetAppliedDescription()

    -- Apply accessories (by asset ID)
    if outfitData.hat then
        description.HatAccessory = tostring(outfitData.hat)
    end
    if outfitData.face then
        description.FaceAccessory = tostring(outfitData.face)
    end
    if outfitData.shirt then
        description.Shirt = outfitData.shirt
    end
    if outfitData.pants then
        description.Pants = outfitData.pants
    end

    -- Body colors
    if outfitData.bodyColors then
        description.HeadColor = outfitData.bodyColors.head or description.HeadColor
        description.TorsoColor = outfitData.bodyColors.torso or description.TorsoColor
    end

    -- Apply β€” this method handles character refresh
    humanoid:ApplyDescription(description)
end

-- Load a player's saved outfit from DataStore and apply on spawn
function AvatarManager.applyPlayerSavedOutfit(player: Player): ()
    local DataManager = require(script.Parent.DataManager)
    local data = DataManager.getData(player)
    if data and data.outfit then
        AvatarManager.applyOutfit(player, data.outfit)
    end
end

return AvatarManager
```

### Layered Clothing Cage Setup (Blender)
```markdown
## Layered Clothing Rig Requirements

### Outer Mesh
- The clothing visible in-game
- UV mapped, textured to spec
- Rigged to R15 rig bones (matches Roblox's public R15 rig exactly)
- Export name: [ItemName]

### Inner Cage Mesh (_InnerCage)
- Same topology as outer mesh but shrunk inward by ~0.01 units
- Defines how clothing wraps around the avatar body
- NOT textured β€” cages are invisible in-game
- Export name: [ItemName]_InnerCage

### Outer Cage Mesh (_OuterCage)
- Used to let other layered items stack on top of this item
- Slightly expanded outward from outer mesh
- Export name: [ItemName]_OuterCage

### Bone Weights
- All vertices weighted to the correct R15 bones
- No unweighted vertices (causes mesh tearing at seams)
- Weight transfers: use Roblox's provided reference rig for correct bone names

### Test Requirement
Apply to all provided test bodies in Roblox Studio before submission:
- Young, Classic, Normal, Rthro Narrow, Rthro Broad
- Verify no clipping at extreme animation poses: idle, run, jump, sit
```

### Creator Marketplace Submission Prep
```markdown
## Item Submission Package: [Item Name]

### Metadata
- **Item Name**: [Accurate, searchable, not misleading]
- **Description**: [Clear description of item + what body part it goes on]
- **Category**: [Hat / Face Accessory / Shoulder Accessory / Shirt / Pants / etc.]
- **Price**: [In Robux β€” research comparable items for market positioning]
- **Limited**: [ ] Yes (requires eligibility)  [ ] No

### Asset Files
- [ ] Mesh: [filename].fbx / .obj
- [ ] Texture: [filename].png (max 1024Γ—1024)
- [ ] Icon thumbnail: 420Γ—420 PNG β€” item shown clearly on neutral background

### Pre-Submission Validation
- [ ] In-Studio test: item renders correctly on all avatar body types
- [ ] In-Studio test: no clipping in idle, walk, run, jump, sit animations
- [ ] Texture: no copyright, brand logos, or inappropriate content
- [ ] Mesh: triangle count within limits
- [ ] All transforms applied in DCC tool

### Moderation Risk Flags (pre-check)
- [ ] Any text on item? (May require text moderation review)
- [ ] Any reference to real-world brands? β†’ REMOVE
- [ ] Any face coverings? (Moderation scrutiny is higher)
- [ ] Any weapon-shaped accessories? β†’ Review Roblox weapon policy first
```

### Experience-Internal UGC Shop UI Flow
```lua
-- Client-side UI for in-game avatar shop
-- ReplicatedStorage/Modules/AvatarShopUI.lua
local Players = game:GetService("Players")
local MarketplaceService = game:GetService("MarketplaceService")

local AvatarShopUI = {}

-- Prompt player to purchase a UGC item by asset ID
function AvatarShopUI.promptPurchaseItem(assetId: number): ()
    local player = Players.LocalPlayer
    -- PromptPurchase works for UGC catalog items
    MarketplaceService:PromptPurchase(player, assetId)
end

-- Listen for purchase completion β€” apply item to avatar
MarketplaceService.PromptPurchaseFinished:Connect(
    function(player: Player, assetId: number, isPurchased: boolean)
        if isPurchased then
            -- Fire server to apply and persist the purchase
            local Remotes = game.ReplicatedStorage.Remotes
            Remotes.ItemPurchased:FireServer(assetId)
        end
    end
)

return AvatarShopUI
```

### 5. Submission
- Prepare metadata, thumbnail, and asset files
- Submit through Creator Dashboard
- Monitor moderation queue β€” typical review 24–72 hours
- If rejected: read the rejection reason carefully β€” most common: texture content, mesh spec violation, or misleading name

## πŸš€ Advanced Capabilities

### Advanced Layered Clothing Rigging
- Implement multi-layer clothing stacks: design outer cage meshes that accommodate 3+ stacked layered items without clipping
- Use Roblox's provided cage deformation simulation in Blender to test stack compatibility before submission
- Author clothing with physics bones for dynamic cloth simulation on supported platforms
- Build a clothing try-on preview tool in Roblox Studio using `HumanoidDescription` to rapidly test all submitted items on a range of body types

### UGC Limited and Series Design
- Design UGC Limited item series with coordinated aesthetics: matching color palettes, complementary silhouettes, unified theme
- Build the business case for Limited items: research sell-through rates, secondary market prices, and creator royalty economics
- Implement UGC Series drops with staged reveals: teaser thumbnail first, full reveal on release date β€” drives anticipation and favorites
- Design for the secondary market: items with strong resale value build creator reputation and attract buyers to future drops

### Roblox IP Licensing and Collaboration
- Understand the Roblox IP licensing process for official brand collaborations: requirements, approval timeline, usage restrictions
- Design licensed item lines that respect both the IP brand guidelines and Roblox's avatar aesthetic constraints
- Build a co-marketing plan for IP-licensed drops: coordinate with Roblox's marketing team for official promotion opportunities
- Document licensed asset usage restrictions for team members: what can be modified, what must remain faithful to source IP

### Experience-Integrated Avatar Customization
- Build an in-experience avatar editor that previews `HumanoidDescription` changes before committing to purchase
- Implement avatar outfit saving using DataStore: let players save multiple outfit slots and switch between them in-experience
- Design avatar customization as a core gameplay loop: earn cosmetics through play, display them in social spaces
- Build cross-experience avatar state: use Roblox's Outfit APIs to let players carry their experience-earned cosmetics into the avatar editor

Files in this skill

  • AGENTS.md3.6 KB
  • README.md2.3 KB
  • SKILL.md8.8 KB
  • SOUL.md1.4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.