Dynamic heads are rigged avatar character heads that support facial animations and custom expressions. When users purchase dynamic heads on the Marketplace, they can trigger emotes that combine both facial and body animations.
There are four main layers of a dynamic head that structure how the head looks and works on the platform:
- Mesh & textures that make up the head's visual appearance.
- Facial animation data that determine how the character's face moves and expresses the character's personality and emotions.
- Cage meshes that determine how the character's head equips facial accessories that deform with facial expressions, such as facial hair that moves accordingly when the character changes facial expressions.
- Attachments that determine how the character's head attaches accessories like hair and hats.
While you can create each of these layers manually in third-party modeling tools like Blender or Maya, some have strict configuration requirements to meet Roblox's technical dynamic head specifications that guarantee your dynamic head animates consistently from game to game. Before you create your first custom dynamic head, it's recommended to:
- Understand the essential components of a dynamic head and how they work together.
- Review all resources that Roblox provides to standardize and expedite the creation process, such as Blender and Maya project files, Studio tooling, and step-by-step guides.
- Follow the basic dynamic head creation tutorial that covers how to add facial joints, apply skinning data, pose joints into expressions, and map poses on a head model in Blender.
Once you have a custom dynamic head, you can import it with a character body into Studio and use the Avatar Setup tool to process your creation into an avatar asset that's ready to be sold on the Marketplace.
Dynamic head components
All dynamic heads are made up of the same fundamental components that allow users to equip facial accessories that stretch, fit, and layer over a target character's head with consistent behavior.
Mesh part


All dynamic heads require a single mesh object that represents the head's geometry. In Studio, this mesh object is represented as a MeshPart object nested under a single Model.
Textures


Textures are image files that define the surface appearance of your character's head. You can create textures using a texture painting program or 3D modeling software. In Studio, you must import textures as image files and set them to MeshPart objects by a child SurfaceAppearance object or the mesh's TextureID property.
Face animation data



Facial animation data from the character's facial joints allow avatars to express emotions with their eyes, mouth, and teeth. Each character includes facial joints, skinning data, animation timeline data, and mapped pose data that allows these expressions. In Studio, these facial animation elements are represented by a FaceControls instance.
Cage meshes


Cage meshes set the invisible outer boundary for facial accessories to stretch and fit over the character's head, allowing facial accessories to deform as the head animates and emotes. 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 how facial accessories deform and import.
Attachments


Attachment points set the specific points where rigid accessories and in-game equippable objects attach to the character's head. These are not rendered on the platform, but they are represented visually as spheres in 3D modeling software when you use Roblox's R15 Rig and Attachments project file.
When you import a rig with these visual representations, the spheres are created as Attachment objects using standardized names.
Creation process
When designing a dynamic head in Blender or Maya, 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 a dynamic head can differ between individuals and various creation workflows. Some choose to modify a rigged character model to meet Roblox's dynamic head specifications, while others prefer to create one from scratch.
In general, the creation process follows the following workflow:

Resources
There are a variety of resources available for creators of all backgrounds to get started with dynamic head creation. Review the following table for specific topics and resources: