13 min read

Source: Roblox Creator Hub · CC BY 4.0 · View source · Code samples: MIT Imported 2026-10-03. Formatting adapted for this site.

Character body specifications

Character body models require a specific set of components and configuration standards to ensure all avatar features work as expected across the platform. Before you start the export process, verify that your model meets the following modeling specifications and guidelines for proper Studio compatibility.

When you're ready to export your character body, reference all export setting requirements for Blender and Maya.

Note

For other types of 3D models:

Geometry

Character body models for avatars are made up of 15 separate mesh objects and require additional geometry requirements to import into Studio and publish successfully. In addition to body scale types, body parts, and triangle budget specifications, ensure that your models also fulfill the following general requirements when modeling your character's body:

Body scale

Roblox supports 3 standards of character body scales: Normal, Slender, and Classic. These standards allow developers to create games and spaces with consistent body sizes for standardizing movement and interactions. You can select a body scale on import using Rig Scale options, or modify the body scale manually. Body scale persists when the asset is uploaded to the Marketplace.

A visualization of how Roblox combines the 15 body parts into 6 distinct assets.

Note

Since body assets partially overlap with each other, the total body dimensions do not represent the sum of the avatar's asset dimensions. The total body dimension is the most important factor of each body scale to ensure a standard avatar size and scale.

Normal

A Rthro Normal body scale downloadable mannequin.

In the Importer, use Rig Type > Rthro to import your model as a Normal body scale.


Minimum (in studs)
Part X (width) Y (height) Z (depth)
Head .5 .5 .5
Arm .25 1.5 .25
Torso .85 1.7 .7
Leg .25 1.4 .5
**Total** **1.35** **3.6** **.7**
Maximum (in studs)
Part X (width) Y (height) Z (depth)
Head 3 2 2
Arm 2 4.5 2
Torso 4.6 3.5 2.25
Leg 1.5 4 2
**Total** **8.6** **9.5** **2.25**

Slender

A Rthro Slender (Narrow) body scale downloadable mannequin.

In the Importer, use Rig Type > Rthro Narrow to import your model as a Slender body scale.


Minimum (in studs)
Part X (width) Y (height) Z (depth)
Head .5 .5 .5
Arm .25 1.5 .25
Torso .85 1.7 .7
Leg .25 1.4 .5
**Total** **1.35** **3.6** **.7**
Maximum (in studs)
Part X (width) Y (height) Z (depth)
Head 2 2 2
Arm 1.5 4 2
Torso 3 3.5 2
Leg 1.5 4 2
**Total** **6** **9.5** **2**

Classic

A Classic body scale downloadable mannequin.

In the Importer, use Rig Type > Default to import your model as a Classic body scale.


Minimum (in studs)
Part X (width) Y (height) Z (depth)
Head .5 .5 .5
Arm .25 1.5 .25
Torso .85 1.7 .7
Leg .25 1.4 .5
**Total** **1.35** **3.6** **.7**
Maximum (in studs)
Part X (width) Y (height) Z (depth)
Head 1.5 1.8 2
Arm 2 3 2
Torso 4 3.8 2
Leg 1.5 3.5 2
**Total** **8** **9.1** **2**

Triangle budgets

Although character body model geometries are typically created using quads, the Roblox Engine converts imported assets into tris. Each asset of your character model must not exceed our maximum tri budget. To quickly get the number of expected tris in your third-party modeling application, you can double the number of quads in your model.

Note

When character body models are uploaded to Studio and created into assets for the Marketplace, the body is split into 6 individual assets: DynamicHead, Torso, LeftArm, RightArm, LeftLeg, RightLeg.

Asset type Included mesh objects Maximum triangles
DynamicHead Head 4000
Torso UpperTorso, LowerTorso 1750
LeftArm LeftUpperArm, LeftLowerArm, LeftHand 1248
Right Arm RightUpperArm, RightLowerArm, RightHand 1248
LeftLeg LeftUpperLeg, LeftLowerLeg, LeftFoot 1248
Right Leg RightUpperLeg, RightLowerLeg, RightFoot 1248
Total Head, UpperTorso, LowerTorso, LeftUpperArm, LeftLowerArm, LeftHand, RightUpperArm, RightLowerArm, RightHand, LeftUpperLeg, LeftLowerLeg, LeftFoot, RightUpperLeg, RightLowerLeg, RightFoot 10,742

Body parts

See the following specifications for the individual mesh objects that make up a character body model:

Note

Interested in creating a higher-fidelity avatar?



Higher-fidelity character body models require the same 15 mesh objects and naming structure. The only difference is that the mesh objects in higher-fidelity character body models can have additional internal joints in their rigging armatures. When these joints are present in a character body model, their corresponding mesh objects need to be skinned for accurate deformation.

Face accessories

Face accessories, such as eyebrows and eyelashes, are unique layered accessories that you can bundle with an avatar character body upload. Eyebrows and eyelashes cannot be uploaded as standalone accessories and must be bundled either with a character body or makeup assets. For more information on face accessories, see Layered accessory specifications - Face accessories.

Visibility

To ensure that avatar sizes are visually consistent, you must standardize body part visibility with the following requirements:

An acceptable head mesh example that takes up a majority of the bounding box in the front view

    <img src="https://prod.docsiteassets.roblox.com/assets/art/avatar/Invalid-Visibility.png" />

A non-acceptable head mesh example that does not take up the appropriate amount of bounding box space in the front view

Attachments

Attachments are points that determine the specific location where accessories and in-game equippable objects attach to the character's body. Like many character components, attachment points are set up in third-party modeling software and imported as Attachment objects.

The Importer automatically recognizes and converts mesh objects as attachment points if the objects include the affix \_Att and follow the naming conventions below. This only applies when importing meshes with caging data, such as bodies (accessory attachment points are created using the Accessory Fitting Tool). Check out examples of this implementation in any of Roblox's downloadable reference models.

Generally, when placing attachment points, position them so they overlap halfway with the character model's mesh part.

  <img src="https://prod.docsiteassets.roblox.com/assets/modeling/meshes/Collar-Attachment-1.png" />

Incorrect placement of collar attachments

  <img src="https://prod.docsiteassets.roblox.com/assets/modeling/meshes/Collar-Attachment-2.png" />

Correct placement of collar attachments

Attachments must follow a specific naming convention and positional consistency:

Mesh part Attachment name Details
Head FaceCenter_Att Anywhere within mesh bounding box
FaceFront_Att Front half of mesh bounding box
Hat_Att Top half of mesh bounding box, can overlap with Hair_Att
Hair_Att Top half of mesh bounding box, can overlap with Hat_Att
UpperTorso LeftCollar_Att Left top half of mesh bounding box
RightCollar_Att Right top half of mesh bounding box
Neck_Att Top half of mesh bounding box
BodyBack_Att Back half of mesh bounding box
BodyFront_Att Front half of mesh bounding box
LowerTorso Root_Att Must set to `0`, `0`, `0` position
WaistFront_Att Front half of mesh bounding box, can overlap with WaistCenter_Att
WaistBack_Att Back half of mesh bounding box
WaistCenter_Att Anywhere in mesh bounding box, can overlap with WaistFront_Att
RightUpperArm RightShoulder_Att Top half of mesh bounding box
RightHand RightGrip_Att Anywhere in mesh bounding box.

Orient grip attachments **perpendicular** to the lower arm bone. For example, for I-Pose (arms pointing down), set the grip attachment to `90`, `0`, `0` (grip attachment pointing forward).

LeftUpperArm LeftShoulder_Att Top half of mesh bounding box
LeftHand LeftGrip_Att Anywhere in mesh bounding box.

Orient grip attachments **perpendicular** to the lower arm bone. For example, for I-Pose (arms pointing down), set the grip attachment to `90`, `0`, `0` (grip attachment pointing forward).

RightFoot RightFoot_Att Anywhere in mesh bounding box
LeftFoot LeftFoot_Att Anywhere in mesh bounding box

Rigging

Unlike generic rigs, humanoid models require a specific hierarchy and naming conventions for the internal bone or joint structure.

<img src="https://prod.docsiteassets.roblox.com/assets/animation/importing-custom-3d-rigs/Birdcaller-Imported.jpeg" />

Humanoid rig model

<img src="https://prod.docsiteassets.roblox.com/assets/animation/importing-custom-3d-rigs/Rig-Hierarchy-Birdcaller-Blender-Bones.png" width="100%" />

Humanoid rig bone structure (Blender)

Standard R15 rigs

The following requirements are for standard R15 rigs.

Blender standard humanoid rig hierarchy with all bones

Maya standard humanoid rig hierarchy with all joints

Advanced R15 rigs

Advanced R15 rigs have the same requirements as standard rigs, but they support up to 37 additional optional bones or joints for a higher level of realism with articulated hands, shoulders, and spine movements.

You do not need to include every optional bone or joint for an advanced R15 rig, but each optional bone or joint you include must follow a specific hierarchy and naming convention for the respective body part.

Torso

Hierarchy Example Rig Setup
  • UpperTorso
    • Spine
      • Chest
        • Head
          • HeadBase
        • RightClavicle
          • RightUpperArm
        • LeftClavicle
          • LeftUpperArm

LeftHand

Hierarchy Example Rig Setup
  • LeftHand
    • LeftHandThumb1
      • LeftHandThumb2
        • LeftHandThumb3
    • LeftHandIndex1
      • LeftHandIndex2
        • LeftHandIndex3
    • LeftHandMiddle1
      • LeftHandMiddle2
        • LeftHandMiddle3
    • LeftHandRing1
      • LeftHandRing2
        • LeftHandRing3
    • LeftHandPinky1
      • LeftHandPinky2
        • LeftHandPinky3

RightHand

Hierarchy Example Rig Setup
  • RightHand
    • RightHandThumb1
      • RightHandThumb2
        • RightHandThumb3
    • RightHandIndex1
      • RightHandIndex2
        • RightHandIndex3
    • RightHandMiddle1
      • RightHandMiddle2
        • RightHandMiddle3
    • RightHandRing1
      • RightHandRing2
        • RightHandRing3
    • RightHandPinky1
      • RightHandPinky2
        • RightHandPinky3

LeftFoot

Hierarchy Example Rig Setup
  • LeftFoot
    • LeftToeBase

RightFoot

Hierarchy Example Rig Setup
  • RightFoot
    • RightToeBase

Blender humanoid rig hierarchy with all optional bones

Maya humanoid rig hierarchy with all optional joints


Note

Make sure that you skin each additional bone or joint's corresponding mesh object for accurate deformation.

After you import an advanced R15 character rig into Studio, you must insert HumanoidRigDescription and/or DigitsRigDescription objects into your rig to be able to sell your character on the Marketplace, and for your animations to work properly:

Both of these object types detect bones or joints by their naming conventions, so it is very important to ensure every optional bone or joint is named correctly following the table above before you import your character rig into Studio. For a set of advanced R15 rigs that you can reference, see Resources - Advanced R15 rigs.

Skinning

Roblox supports skinning for rigged meshes. For more details on implementing skinned meshes in Studio, see Rigging and Skinning.

The following requirements are for skinning character bodies:

Facial animation

For information on required facial animation support, see head specifications.

Textures

Custom skin tone

When texturing an avatar character body model where the user can set their own skin tone, set the exposed skin areas as transparent so a default color or texture is not baked into the texture. When rendering, Studio applies the transparent layer on top without any layer effects. This step applies mostly to human-like characters with exposed skin that you intend users to customize.

The following are examples of skin tone shading for the face, and you can apply this process with any part of an avatar with exposed skin:

Beige

Blue

Brown

Pink

Outer cages

Outer cages on your character model allow your character to wear layered accessories, such as shirts and jackets that stretch and wrap around the body. Review the following list for requirements on adding outer cage meshes to your character body model:

Note

Character bodies only require an outer cage, but layered accessories require both an inner and outer cage to deform properly. For more information, see Layered accessory specifications - Cage meshes.

Marketplace requirements

Along with the other technical requirements listed, your items must meet the following additional specifications before uploading them to the Marketplace to sell: