El sistema de validación UGC es el mecanismo técnico de Roblox que verifica si los activos de avatar cumplen con las especificaciones de la plataforma antes de que puedas subirlos y publicarlos en el Marketplace. Este proceso asegura que los cuerpos de avatar, cosméticos, ropa y accesorios se comporten de manera consistente en toda la plataforma.
El sistema de validación UGC se ejecuta cada vez que:
- Intentas subir un activo de avatar al Marketplace a través de Studio.
- Llamas a las API AvatarCreationService para la creación de activos de avatar en la experiencia.
Durante este proceso, el sistema de validación UGC examina tu activo para ver si cumple con los requisitos en categorías de validación que son específicas para su tipo de activo. Para una lista completa de estos requisitos, consulta Especificaciones del cuerpo, Especificaciones de cabezas dinámicas, Especificaciones de maquillaje, Especificaciones de accesorios rígidos y Especificaciones de accesorios en capas.
Cuando un activo de avatar pasa la validación, puedes proceder con el proceso de carga en Studio pagando la tarifa de carga, enviando el activo para moderación y vendiéndolo en el Marketplace, o el jugador puede proceder a comprar el activo de avatar que creó dentro de una experiencia.

Cuando un activo de avatar no pasa la validación, tú o el jugador reciben mensajes de error con información sobre por qué el activo de avatar no pasó la validación. Para asistencia con la solución de problemas, la validación UGC tiene herramientas de visualización con comprobaciones que proporcionan guías visuales específicas del activo sobre cómo arreglar o mejorar tu activo para que pueda pasar la validación.

Categorías de validación
El sistema de validación UGC organiza la validación en varias categorías de alto nivel. Para información sobre estas categorías y algunas áreas que validan, revisa la siguiente tabla.
| Categoría | Lo que valida |
|---|---|
| Esquema |
|
| Geometría de la malla |
|
| Textura / materiales |
|
| Rigging / skinning |
|
| Cámaras internas y externas |
|
| Adjuntos |
|
| Cabeza dinámica |
|
| Seguridad / moderación |
|
Comprobaciones de visualización
El sistema de validación UGC incluye herramientas de visualización opcionales con comprobaciones para ayudarte a identificar, entender, diagnosticar y solucionar activos de avatar que aún no están listos para estar en el Marketplace. Cuando están activas, las comprobaciones de visualización proporcionan información sobre errores de validación para activos no conformes y evaluaciones de calidad para activos conformes que podrían necesitar mejoras.


Para acceder a las herramientas de visualización del sistema de validación UGC, primero debes habilitar la característica beta. Para habilitar y usar las comprobaciones de visualización opcionales:
En Studio, navega a Archivo > Características beta.
Habilita Visualizando la validación UGC.
Reinicia Studio, luego en el entreplano, haz clic en el icono de más para agregar una pestaña personalizada. Se mostrará una nueva pestaña.

En tu pestaña personalizada, haz clic en el botón Agregar herramientas. Se mostrará la ventana emergente Agregar herramientas.

Habilita Validación UGC para agregarla a tu barra de herramientas, luego cierra la ventana.
Navega de nuevo a tu pestaña personalizada y selecciona el botón Validación UGC para ejecutar el complemento. Se mostrará una ventana Validación UGC.
En la ventana Explorador, selecciona un cuerpo de personaje, cabeza dinámica, accesorio rígido o accesorio en capas, luego regresa a la ventana Validación UGC y haz clic en el botón Ejecutar validación. Se mostrará una ventana emergente.
En la ventana emergente:
Confirma el tipo de activo del activo de avatar que seleccionaste. Por ejemplo, si seleccionaste un accesorio en capas de Enum.AccessoryType.Pants, usa el menú desplegable para seleccionar PantsAccessory.

Haz clic en el botón Ejecutar validación.
El servicio de validación se ejecutará en segundo plano y reportará resultados en la ventana Validación UGC como una combinación de errores y/o advertencias dependiendo del estado de tu activo. Para información sobre cada comprobación de validación visual, revisa las siguientes subsecciones.
Measure_Cage_Distance_Head
Measure_Cage_Distance_Head es una comprobación de validación que califica cuán cerca está la cámara externa de la cabeza del avatar de la malla de la cabeza, comprobando que la cámara no flote demasiado lejos de la malla ni se hunda dentro de ella.
| Código de error | Severidad |
|---|---|
| No se puede calcular correctamente la puntuación de calidad debido a que los datos de entrada son incorrectos o incompletos. Por favor, revisa tu modelo o presenta un informe de error. | Bloquea la validación |
| La cámara de la cabeza interseca con la malla de la cabeza. {negativeSDFPercent}% de los vértices de la cámara de la cabeza están dentro de la malla de la cabeza. | Bloquea la validación |
| La cámara de la cabeza está demasiado lejos de la malla de la cabeza. La distancia máxima entre la cámara de la cabeza y la malla es {max_sdf}, que está por encima del umbral permitido {max_sdf_threshold} | Bloquea la validación |
| Advertencia de calidad del activo: La puntuación de distancia de la cámara de la cabeza es {score}. La distancia máxima entre la cámara de la cabeza y la malla es {max_distance}, {negative_sdf_percent}% de los vértices de la cámara de la cabeza están dentro de la malla de la cabeza. | Advertencia |
Measure_Cage_Mesh_Distance
Measure_Cage_Mesh_Distance es una comprobación de validación que califica cuán cerca de la malla renderizada sigue la cámara externa de la ropa en capas, señalando cuando una cámara se aleja demasiado o se empuja dentro de la malla.
| Código de error | Severidad |
|---|---|
| No se puede calcular correctamente la puntuación de calidad debido a que los datos de entrada son incorrectos o incompletos. Por favor, revisa tu modelo o presenta un informe de error. | Bloquea la validación |
| La cámara externa interseca con la malla de renderizado. {negativeSDFPercent}% de los vértices de la cámara externa están dentro de la malla de renderizado. | Bloquea la validación |
| La cámara externa está demasiado lejos de la malla de renderizado. La distancia máxima entre la cámara externa y la malla es {max_sdf}, que está por encima del umbral permitido {max_sdf_threshold}. | Bloquea la validación |
| Advertencia de calidad del activo: La puntuación de distancia de la cámara a la malla es {score}. La distancia máxima entre la cámara externa y la malla es {max_distance}, {negative_sdf_percent}% de los vértices de la cámara externa están dentro de la malla de renderizado. | Advertencia |
Measure_Cage_Mesh_Distance_Avatar
Measure_Cage_Mesh_Distance_Avatar es una comprobación de validación que califica cuán cerca la cámara externa completa sigue la malla del cuerpo, señalando cuando una cámara flota demasiado lejos de la superficie o interseca con ella.
| Código de error | Severidad |
|---|---|
| No se puede calcular correctamente la puntuación de calidad debido a que los datos de entrada son incorrectos o incompletos. Por favor, revisa tu modelo o presenta un informe de error. | Bloquea la validación |
| La cámara del cuerpo interseca con la malla del cuerpo. {negativeSDFPercent}% de los vértices de la cámara del cuerpo están dentro de la malla del cuerpo. | Bloquea la validación |
| La cámara del cuerpo está demasiado lejos de la malla del cuerpo. La distancia máxima entre la cámara del cuerpo y la malla es {max_sdf}, que está por encima del umbral permitido {max_sdf_threshold}. | Bloquea la validación |
| Advertencia de calidad del activo: La puntuación de distancia de la cámara del cuerpo es {score}. La distancia máxima entre la cámara del cuerpo y la malla es {max_distance}, {negative_sdf_percent}% de los vértices de la cámara del cuerpo están dentro de la malla del cuerpo. | Advertencia |
Measure_Cage_Relevancy
Measure_Cage_Relevancy es una comprobación de validación que califica cuánta de la cámara externa que moviste realmente se asienta sobre el accesorio, para que las ediciones de la cámara permanezcan donde las necesita la prenda.
| Código de error | Severidad |
|---|---|
| No se puede calcular correctamente la puntuación de calidad debido a que los datos de entrada son incorrectos o incompletos. Por favor, revisa tu modelo o presenta un informe de error. | Bloquea la validación |
| {outer_cage_face_irrelevant_percent}% de los vértices de la cámara externa modificada no cubren el accesorio. Asegúrate de estar moviendo la cámara externa solo donde sea necesario. | Bloquea la validación |
| Advertencia de calidad del activo: La puntuación de relevancia de la cámara es {score}. {irrelevant_percent}% de los vértices de la cámara externa modificada no cubren el accesorio. | Advertencia |
Measure_Cage_UV
Measure_Cage_UV es una comprobación de validación que verifica si las UVs de la cámara interna y externa coinciden con la plantilla de ropa en capas; las UVs que no coinciden con la plantilla de ropa en capas rompen cómo se envuelve el activo sobre el cuerpo.
| Código de error | Severidad |
|---|---|
| No se puede calcular correctamente la puntuación de calidad debido a que los datos de entrada son incorrectos o incompletos. Por favor, revisa tu modelo o presenta un informe de error. | Bloquea la validación |
| Hay {incorrect_uv_count} valores UV en la cámara {cage_name} que son incorrectos o no pertenecen a la plantilla. Por favor, corrige las UV de la cámara. | Bloquea la validación |
| Advertencia de calidad del activo: La puntuación de UV de la cámara es {score} para {cage_name}. Recuento de UV incorrectos: {incorrect_uv_count}. | Advertencia |
Measure_Cage_UV_Avatar
Measure_Cage_UV_Avatar es una comprobación de validación que verifica que cada parte del cuerpo tenga una cámara que mantenga sus UVs en la plantilla estándar; las UVs de cámara incorrectas distorsionan cómo se envuelve la ropa en capas sobre el cuerpo.
| Código de error | Severidad |
|---|---|
| No se puede calcular correctamente la puntuación de calidad debido a que los datos de entrada son incorrectos o incompletos. Por favor, revisa tu modelo o presenta un informe de error. | Bloquea la validación |
| Hay {incorrect_uv_count} valores UV en la cámara {cage_name} que son incorrectos o no pertenecen a la plantilla. Por favor, corrige las UV de la cámara. | Bloquea la validación |
| Advertencia de calidad del activo: La puntuación de UV de la cámara es {score} para {cage_name}. Recuento de UV incorrectos: {incorrect_uv_count}. | Advertencia |
Measure_Degen_Triangles
Measure_Degen_Triangles es una comprobación de validación que califica cada parte de la malla por triángulos degenerados (caras con área cero o casi cero); los triángulos degenerados no añaden superficie y pueden romper el renderizado.
| Código de error | Severidad |
|---|---|
| Calidad del activo: {partName} tiene {degenerate_triangle_percent}% triángulos degenerados (puntuación: {score}). | Advertencia |
| No se pudo calcular la puntuación de calidad para {measureName} porque los datos de entrada estaban incompletos o eran inválidos. Esto no bloquea tu carga. | Advertencia |
Measure_Dynamic_Head
Measure_Dynamic_Head es una comprobación de validación que verifica si una cabeza dinámica es animable. Las cabezas dinámicas que son animables tienen una cámara de cabeza, datos FACS, puntos de referencia alineados y pueden cerrar los ojos, abrir la boca y expresar emociones.
| Código de error | Severidad |
|---|---|
| No se puede calcular correctamente la puntuación de calidad debido a que los datos de entrada son incorrectos o incompletos. Por favor, revisa tu modelo o presenta un informe de error. | Bloquea la validación |
| Las cabezas dinámicas en el Marketplace deben tener una cámara adecuada para que los vértices de los ojos y la boca en la cámara se alineen con los vértices de la malla. Por favor, mejora tu cámara y su alineación con la malla. | Bloquea la validación |
| No se puede detectar la expresión de sonrisa para la cabeza dinámica. Por favor, ajusta los puntos de referencia de la cámara para que la boca coincida con donde está la boca en la cabeza y asegúrate de que pueda mostrar una expresión de sonrisa. | Bloquea la validación |
| No se puede detectar la expresión de cierre del ojo izquierdo para la cabeza dinámica. Por favor, ajusta los puntos de referencia de la cámara para que el ojo izquierdo coincida con donde está el ojo izquierdo en la cabeza y asegúrate de que pueda cerrarse. | Bloquea la validación |
| Las cabezas dinámicas en el Marketplace no tienen cámaras de cabeza. Por favor, crea una cámara de cabeza para la cabeza dinámica. | Bloquea la validación |
| No se puede detectar la expresión de apertura de boca para la cabeza dinámica. Por favor, ajusta los puntos de referencia de la cámara para que la boca coincida con donde está la boca en la cabeza y asegúrate de que pueda abrirse. | Bloquea la validación |
| Las cabezas dinámicas en el Marketplace deben ser animadas, pero esta cabeza no tiene datos FACS. | Bloquea la validación |
| No se puede detectar la expresión de cierre del ojo derecho para la cabeza dinámica. Por favor, ajusta los puntos de referencia de la cámara para que el ojo derecho coincida con donde está el ojo derecho en la cabeza y asegúrate de que pueda cerrarse. | Bloquea la validación |
| No se puede detectar la expresión de fruncir el ceño para la cabeza dinámica. Por favor, ajusta los puntos de referencia de la cámara para que la boca coincida con donde está la boca en la cabeza y asegúrate de que pueda mostrar una expresión de fruncir el ceño. | Bloquea la validación |
| Advertencia de calidad del activo: la puntuación de expresión de la cabeza dinámica es {score}. | Advertencia |
Measure_Joint_Number
Measure_Joint_Number es una comprobación de validación que califica la configuración de juntas del rig del cuerpo contra la configuración esperada. La configuración de juntas del rig del cuerpo incluye los recuentos de juntas en las manos izquierda y derecha para rigs de mayor fidelidad.
| Código de error | Severidad |
|---|---|
| Calidad del activo: configuración de juntas puntuada {score} (juntas: {joint_number}, mano izquierda: {left_hand_joint_number}, mano derecha: {right_hand_joint_number}). | Advertencia |
| No se pudo calcular la puntuación de calidad para {measureName} porque los datos de entrada estaban incompletos o eran inválidos. Esto no bloquea tu carga. | Advertencia |
Measure_Mesh_Manifold
Measure_Mesh_Manifold es una comprobación de validación que puntúa cada parte de la malla por integridad del manifold, capturando agujeros, bordes no manifold y problemas de topología similares en la geometría.
| Código de error | Severidad |
|---|---|
| Calidad del activo: {partName} tiene problemas de manifold de malla (puntuación: {score}). | Advertencia |
| No se pudo calcular la puntuación de calidad para {measureName} porque los datos de entrada estaban incompletos o eran inválidos. Esto no bloquea tu carga. | Advertencia |
Measure_Mesh_Outside_OuterCage
Measure_Mesh_Outside_OuterCage es una comprobación de validación que puntúa cuánto de la malla renderizada de un accesorio permanece entre sus cámaras; una malla que sobresale fuera de la cámara externa se deforma mal al ser usada.
| Código de error | Severidad |
|---|---|
| No se puede calcular correctamente la puntuación de calidad debido a que los datos de entrada son incorrectos o incompletos. Por favor, revisa tu modelo o presenta un informe de error. | Bloquea la validación |
| {mesh_outside_outer_cage_percent}% de los vértices de la malla para el accesorio están fuera de su cámara externa. Haz ajustes para colocar más del accesorio entre las cámaras. | Bloquea la validación |
| Advertencia de calidad del activo: la puntuación de contención de la malla es {score}. {mesh_outside_outer_cage_percent}% de los vértices de la malla están fuera de la cámara externa. | Advertencia |
Measure_Texture_Complexity
Measure_Texture_Complexity es una comprobación de validación que puntúa cada textura por complejidad visual, señalando texturas planas o casi vacías que añaden poco detalle al activo.
| Código de error | Severidad |
|---|---|
| No se pudo calcular la puntuación de calidad para {measureName} porque los datos de entrada estaban incompletos o eran inválidos. Esto no bloquea tu carga. | Advertencia |
| Calidad del activo: la textura {textureName} tiene baja complejidad (puntuación: {score}). | Advertencia |
Measure_Texture_Resolution
Measure_Texture_Resolution es una comprobación de validación que puntúa cada textura según sus dimensiones en píxeles, recompensando resoluciones lo suficientemente altas como para mantener el activo nítido en el cuerpo.
| Código de error | Severidad |
|---|---|
| No se pudo calcular la puntuación de calidad para {measureName} porque los datos de entrada estaban incompletos o eran inválidos. Esto no bloquea tu carga. | Advertencia |
| Calidad del activo: la textura {textureName} tiene una resolución {texture_width}x{texture_height} (puntuación: {score}). | Advertencia |
Measure_Triangle_Intersection
Measure_Triangle_Intersection es una comprobación de validación que puntúa cada parte de la malla por triángulos auto-intersectantes en los que las caras se cruzan entre sí y crean una geometría desordenada y superpuesta.
| Código de error | Severidad |
|---|---|
| No se pudo calcular la puntuación de calidad para {measureName} porque los datos de entrada estaban incompletos o eran inválidos. Esto no bloquea tu carga. | Advertencia |
| Calidad del activo: {partName} tiene {intersecting_tri_face_percent}% caras de triángulo intersectantes (puntuación: {score}). | Advertencia |
Measure_UV_Bound
Measure_UV_Bound es una comprobación de validación que mide cuántos de los vértices UV de una malla están fuera del espacio de textura 0-1; informa una puntuación pero nunca bloquea la carga.
| Código de error | Severidad |
|---|---|
| No se pudo calcular la puntuación de calidad para {measureName} porque los datos de entrada estaban incompletos o eran inválidos. Esto no bloquea tu carga. | Advertencia |
| Calidad del activo: {partName} tiene {uv_outside_bound_vert_percent}% vértices UV fuera de límites (puntuación: {score}). | Advertencia |
Measure_Vertex_Similarity
Measure_Vertex_Similarity es una comprobación de validación que mide la proporción de vértices casi duplicados en una malla; informa una puntuación pero nunca bloquea la carga.
| Código de error | Severidad |
|---|---|
| No se pudo calcular la puntuación de calidad para {measureName} porque los datos de entrada estaban incompletos o eran inválidos. Esto no bloquea tu carga. | Advertencia |
| Calidad del activo: {partName} tiene {similar_vertex_percent}% vértices similares (puntuación: {score}). | Advertencia |