4 min read

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

Texture specifications

A texture is a digital image applied to the surface of a 3D object to simulate and enhance its visual appearance. Roblox supports various texture types that you import with a custom 3D object, or upload directly as individual image files. For details on implementing basic textures, see textures and decals.

Roblox also supports physically-based rendering (PBR) textures which override a mesh's existing TextureID and can be used to create immersive environments and objects.

Note

For information on how to properly connect textures to your model in Blender and Maya for import into Studio, see Blender / Maya texture settings.

See the following requirements when creating your own basic and advanced textures:

Note

Roblox default materials follow a similar texel resolution pattern:

Surface appearance

You can add a surface appearance to your mesh in Studio to add PBR texture options. The SurfaceAppearance instance uses UV mapping, a form of texture mapping, to accurately map 2D images onto the mesh object.

Note

For information on how to properly connect PBR textures to your model in Blender and Maya for import into Studio, see Blender / Maya texture settings.

See the following requirements for SurfaceAppearance assets:

Texture Files

When possible, texture files should include the appropriate name affix and follow the appropriate image details:

Texture type Texture image details
[Albedo](/docs/roblox-art-modeling-surface-appearance#color-albedo) RGB (24-bit)
[Normal](/docs/roblox-art-modeling-surface-appearance#normal) RGB (24-bit); Roblox only supports **OpenGL format - Tangent Space** normal maps
[Roughness](/docs/roblox-art-modeling-surface-appearance#roughness) Single Channel Grayscale (8-bit)
[Metalness](/docs/roblox-art-modeling-surface-appearance#metalness) Single Channel Grayscale (8-bit)
[Emissive Mask](/docs/roblox-art-modeling-surface-appearance#emissive-mask) Single Channel Grayscale (8-bit)

PBR Texture Budget

Use an appropriate texture map size based on the asset you are texturing to optimize for visual quality and performance. As a general guideline, each asset should have a texture resolution of 256×256 for every 2×2×2 unit space the asset occupies. If larger than a 2×2×2 cube, use the next highest resolution. The following are some baseline texture sizing examples:

Recommended map size Approximate asset size (unit cube) Example assets
64×64–128×128 1×1×1 Jewelry, sunglasses, eyebrows, mustaches.
256×256 2×2×2 Hair, shoes, tank tops, t-shirts, shorts, short skirts.

256x256 is the **maximum budget** for non-albedo maps for [rigid accessories](/docs/roblox-avatar-rigid-accessories-specifications#textures).
512×512 4×4×4 Jackets, pants, overalls, long-sleeve shirts, long skirts.
1024×1024 (maximum) 8×8×8 Full body clothing (onesies, robes), humanoid characters.

Note

When rendering many textures at the same time, Roblox may downsample textures to optimize for performance.

UV mapping

All textures use UV mapping, a 3D modeling process to project a 3D model's surface to a 2D image, or UV atlas. See the following requirements for UV mapping, especially if you're manually editing or optimizing your UV atlas: