Avatar Characters



Every Roblox user is represented by a customizable character called an avatar. Avatars are character models with many specialized features that allow users to interact with the world and customize themselves with a wide range of clothing and accessories from the Marketplace.

Custom avatars are first created in 3D modeling programs, such as Blender or Maya, before importing into Studio. To create a custom Roblox avatar character for your own experience, it's important to start with the following:

Components of an Avatar

All avatar character models are made up of several fundamental components that provide users the functionality and flexibility to interact with their world. Many of these components are never made visible to the user, but they enable powerful avatar features that enhance social and environmental interactions. When creating avatar characters, all of these components are typically created first in your modeling software and then converted to their appropriate Roblox Studio instance on import.

Each avatar character is made up of the following rendered and non-rendered components:

15 body part meshes make up the physical aspects of the character model
Texture image maps apply a surface color and appearance. Transparency allows underlying part colors to be exposed, such as custom skin tones.

Body Parts

Each avatar character is made up of 15 separate mesh objects
These meshes must follow a standard naming convention

Roblox avatar characters are made up of 15 body parts, pieces of geometry that define the shape and contours of your avatar character. In Studio, these geometries are represented as MeshPart objects and are nested under a single Model.

Textures

Textures apply color and surface details to your character model.
A texture image map's opacity can combine with the MeshPart.Color to apply custom skin tones to characters.

Textures are image files that define the surface appearance of your character. You can create textures using a texture painting program or a 3D modeling software. In Studio, you must import textures as image files and access them through the SurfaceAppearance instance, or set as a MeshPart.TextureID property.

Rigging Armature

The armature is made up of 16 bones, 1 for each body part geometry and a root bone
Bones must follow a specific hierarchy and naming convention

An armature allows each character to articulate its limbs and move naturally through the environment. Often referred to as bones or joints, this rigging character information includes skinning data which allows connected limbs, like the knees or elbows to bend organically. In Studio, each bone of the character armature is represented by Bone objects that connect the character MeshPart objects together.

Face Animation Data

Each avatar character face is rigged and skinned to create various expressions
Each pose is mapped to a pose name within the Custom Properties (Extra Attributes in Maya) of the Head_Geo object

Each required face pose is saved as a keyframe in the animation timeline.
Facial animation data allow each character to use global facial expressions. Each character includes facial bones and skinning, animation timeline data, and mapped pose data that allows it. In Studio, these facial animation elements are represented by a FaceControls instance.

Cage Meshes

Head and Upper Torso cage mesh objects (wireframe)
Cage objects must exist for each of the 15 body parts

This outer cage sets the invisible surface on which layerable accessories, such as clothing, will stretch and fit over the body. These cage meshes allow clothes to fit over models of different shapes and sizes without having to remodel the clothing item. In Studio, outer cage mesh objects are represented by a WrapTarget instance.

If you are caging your own non-template character model, it's important to use one of Roblox's body cage project files to ensure you are using a Roblox standard cage mesh. Removing or adding vertices from this standard mesh can cause issues with clothing fit and import.

Attachments

Each character has common attachment points for equipping rigid cosmetics
Each avatar character must include their associated 19 attachment points

Attachment points define where rigid 3D accessories and equipables attach to the character's body. These are not rendered to the end-user but are represented as sphere geometries in 3D modeling software and, when imported into Studio, these geometries are created as Attachment instances using the standardized names.

When wearing layered clothing, the clothing isn't attached directly to the attachment, but it does reference the associated attachment point during ragdoll and dismemberment animations.

Creation Process

When designing an avatar model, you must export all of the avatar components in a single .fbx or .gltf for import into Studio. Since 3D creation isn't a linear process and always requires reiteration and testing, the process of creating an avatar character model can differ between individuals and various creation workflows.

In general, the creation process follows these typical workflows:

Basic Creation with Templates
Customize a Roblox template character that already includes all the necessary components. See Creating with Templates for guides and instructions.
Advanced Creation from Scratch
Create characters from scratch, allowing full customization of the avatar character's components.

Resources

There are a variety of resources available for creators of all backgrounds to get started with character creation.

If you are interested in specific avatar creation topics, use the following table to find guides and resources that best match your needs: