• Juegos
  • Industria
  • Recursos
  • Comunidad
  • Aprendizaje
  • Asistencia
Desarrollo
Motor de Unity
Crea juegos 2D y 3D para cualquier plataforma
DescargarPlanes y precios
Monetización
Compra dentro de la aplicación (IAP)
Descubre y gestiona IAP en todas las tiendas
Mediación
Maximiza los ingresos y optimiza la monetización
Calidad de anuncios
Protege la experiencia del usuario de tu aplicación
Tapjoy
Construye lealtad de usuarios a largo plazo
Todos los productos de monetización
Adquisición de usuarios
Adquisición de usuarios
Hazte descubrir y adquiere usuarios móviles
Unity Vector AI
Conecta a los jugadores con los juegos adecuados
Publicidad en el dispositivo Aura
Alcanza a los usuarios en el dispositivo en el momento de mayor compromiso
Todos los productos de crecimiento
Casos de uso
Colaboración 3D
Construye y revisa proyectos 3D en tiempo real
Capacitación envolvente
Capacitación en entornos envolventes
Experiencias del cliente
Crea experiencias interactivas en 3D
Todas las soluciones de la industria
Industrias
Fabricación
Logra la excelencia operativa
Venta minorista
Transforma las experiencias en tienda en experiencias en línea
Industria automotriz
Eleva la innovación y las experiencias en el automóvil
Todas las industrias
Biblioteca técnica
Documentación
Manuales de usuario oficiales y referencias de API
Herramientas para desarrolladores
Versiones de lanzamiento y rastreador de problemas
Hoja de ruta
Revisar características próximas
Glosario
Biblioteca de términos técnicos
Información útil
Casos de estudio
Historias de éxito en el mundo real
Guías de mejores prácticas
Consejos y trucos de expertos
Todos los recursos
Novedades
Blog
Actualizaciones, información y consejos técnicos
Novedades
Noticias, historias y centro de prensa
Centro de la comunidad
Discusiones
Discute, resuelve problemas y conéctate
Eventos
Eventos globales y locales
Historias de la comunidad
Hecho con Unity
Presentando a los creadores de Unity
Transmisiones en vivo
Únete a desarrolladores, creadores e insiders
Premios Unity
Celebrando a los creadores de Unity en todo el mundo
Para todos los niveles
Unity Learn
Domina las habilidades de Unity de forma gratuita
Capacitación profesional
Mejora tu equipo con entrenadores de Unity
¿No tienes experiencia con Unity?
Primeros pasos
Pon en marcha tu aprendizaje
Rutas esenciales de Unity
¿No tienes experiencia con Unity? Comienza tu viaje
Guías prácticas
Consejos prácticos y mejores prácticas
Educación
Para estudiantes
Impulsa tu carrera
Para docentes
Potencia tu enseñanza
Licencia gratuita para fines educativos
Lleva el poder de Unity a tu institución
Certificaciones
Demuestra tu dominio de Unity
Opciones de soporte
Obtener ayuda
Ayudándote a tener éxito con Unity
Planes de éxito
Alcanza tus metas más rápido con soporte experto
PREGUNTAS FRECUENTES
Respuestas a preguntas comunes
Contáctanos
Conéctate con nuestro equipo
Planes y precios
Idioma
  • English
  • Deutsch
  • 日本語
  • Français
  • Português
  • 中文
  • Español
  • Русский
  • 한국어
Social
Moneda
Comprar
  • Productos
  • Unity Ads
  • Suscripción
  • Tienda de recursos de Unity
  • Distribuidores
Educación
  • Estudiantes
  • Instructores
  • Instituciones
  • Certificación
  • Learn
  • Programa de desarrollo de habilidades
Descargar
  • Unity Hub
  • Descargar archivo
  • Programa beta
Unity Labs
  • Laboratorios
  • Publicaciones
Recursos
  • Plataforma Learn
  • Comunidad
  • Documentación
  • Preguntas y respuestas Unity
  • PREGUNTAS FRECUENTES
  • Estado de servicios
  • Casos de estudio
  • Made with Unity
Unity
  • Nuestra empresa
  • Boletín
  • Blog
  • Eventos
  • Empleos
  • Ayuda
  • Prensa
  • Socios
  • Inversionistas
  • Afiliados
  • Seguridad
  • Impacto social
  • Inclusión y diversidad
  • Contacto
Copyright © 2025 Unity Technologies
  • Legal
  • Política de privacidad
  • Cookies
  • No quiero que se venda ni se comparta mi información personal

"Unity", los logotipos de Unity y otras marcas comerciales de Unity son marcas comerciales o marcas comerciales registradas de Unity Technologies o de sus empresas afiliadas en los Estados Unidos y el resto del mundo (más información aquí). Los demás nombres o marcas son marcas comerciales de sus respectivos propietarios.

Hero background image

Configurando tu proyecto de Unity para un rendimiento más fuerte

Para tu comodidad, tradujimos esta página mediante traducción automática. No podemos garantizar la precisión ni la confiabilidad del contenido traducido. Si tienes alguna duda sobre la precisión del contenido traducido, consulta la versión oficial en inglés de la página web.
Haz clic aquí.

Este es el primero de una serie de artículos que desglosan consejos de optimización para tus proyectos de Unity. Úsalos como guía para funcionar a tasas de fotogramas más altas con menos recursos. Una vez que hayas probado estas mejores prácticas, asegúrate de revisar las otras páginas de la serie:

  • Optimización del rendimiento para gráficos de alta gama
  • Gestión del uso de GPU para juegos de PC y consola
  • Programación avanzada y arquitectura de código
  • Rendimiento de física mejorado para un juego fluido

Consulta nuestras últimas guías de optimización para desarrolladores y artistas de Unity 6:

  • Optimiza el rendimiento de tu juego para móviles, XR y la web en Unity
  • Optimiza el rendimiento de tu juego para consolas y PC en Unity
  • Configura tu proyecto para un rendimiento más fuerte
  • Desactiva configuraciones de Player/Quality innecesarias
  • Cambia a IL2CPP
  • Elige la tasa de fotogramas correcta
  • Reduce o desactiva la frecuencia del acelerómetro
  • Evita jerarquías grandes
  • Comprime tus texturas
  • Aprovecha la configuración de importación de texturas
  • Agrupa tus texturas
  • Verifica tus conteos de polígonos
  • Gestiona la configuración de importación de malla
  • Ve más optimizaciones de malla
  • Audita tus activos
  • Ajusta el búfer de texturas asíncrono
  • Transmite Mip Maps y texturas
  • Usa Addressables

Configura tu proyecto para un rendimiento más fuerte

Un pipeline de activos bien optimizado puede acelerar los tiempos de carga, reducir el uso de memoria y mejorar el rendimiento en tiempo de ejecución. Al trabajar con un artista técnico experimentado, tu equipo puede definir y hacer cumplir formatos de activos, especificaciones y configuraciones de importación para garantizar un flujo de trabajo eficiente y optimizado.

No te bases únicamente en la configuración predeterminada. Aprovecha la pestaña de anulación específica de la plataforma para optimizar activos como texturas, geometría de malla y archivos de audio. Configuraciones incorrectas pueden resultar en tamaños de compilación más grandes, tiempos de compilación más largos y un mal uso de la memoria.

Considera usar Preajustes para establecer configuraciones base adaptadas a las necesidades específicas de tu proyecto. Este enfoque proactivo ayuda a garantizar que los activos estén optimizados desde el principio, lo que lleva a un mejor rendimiento y una experiencia más consistente en todas las plataformas.

Para más orientación, consulta las mejores prácticas para activos artísticos o explora el curso Optimización de Arte 3D para Aplicaciones Móviles en Unity Learn. Estos recursos proporcionan información valiosa que puede ayudarte a tomar decisiones informadas sobre la optimización de activos para compilaciones web de Unity, móviles y aplicaciones XR.

Los tres tipos de atlas al empaquetar sprites 2D en Unity
TRES TIPOS DE ATLAS AL EMPAQUETAR SPRITES 2D EN UNITY

Desactiva configuraciones innecesarias de Player o Quality

En la configuración de Jugador, desactiva API Gráfica Automática para plataformas no compatibles para evitar generar variantes de sombreadores excesivas. Desactiva Arquitecturas de Destino para CPUs más antiguas si tu aplicación no las soporta.

En la configuración de Calidad, desactiva niveles de calidad innecesarios.

Aprende más sobre la API Gráfica.

Configuración de calidad
EN LA CONFIGURACIÓN DE CALIDAD, DESACTIVA NIVELES DE CALIDAD INNECESARIOS.

Cambia a IL2CPP

Cambiar el backend de scripting de Mono a IL2CPP (Lenguaje Intermedio a C++) puede proporcionar un mejor rendimiento general en tiempo de ejecución. Sin embargo, también puede aumentar los tiempos de construcción. Algunos desarrolladores prefieren usar Mono localmente para una iteración más rápida, y luego cambiar a IL2CPP para máquinas de construcción y/o candidatos de lanzamiento. Consulta la documentación sobre la optimización de los tiempos de construcción de IL2CPP para más información sobre cómo reducir tus tiempos de construcción.

Nota: Al usar esta opción, Unity convierte el código IL de scripts y ensamblados a C++ antes de crear un archivo binario nativo (.exe, .apk, .xap) para tu plataforma de destino.

Consulta la Introducción a los internos de IL2CPP o consulta la página del manual de opciones del compilador para aprender cómo las diversas opciones del compilador afectan el rendimiento en tiempo de ejecución.

Elige la tasa de fotogramas correcta

Los proyectos móviles deben equilibrar las tasas de fotogramas con la duración de la batería y la reducción de rendimiento térmico. En lugar de llevar al límite tu dispositivo a 60 fps, considera ejecutar a 30 fps como un compromiso. Unity predetermina a 30 fps para móviles.

Al dirigirse a plataformas XR, las consideraciones de la tasa de fotogramas son aún más críticas. Una tasa de fotogramas de 72 fps, 90 fps o incluso 120 fps, a menudo es necesaria para mantener la inmersión y prevenir el mareo por movimiento. Estas tasas de fotogramas más altas ayudan a garantizar una experiencia fluida y receptiva, lo cual es crucial para la comodidad en entornos de VR. Sin embargo, estos vienen con sus propios desafíos en términos de consumo de energía y gestión térmica, particularmente en auriculares de VR autónomos.

Elegir la tasa de fotogramas adecuada se trata de entender las demandas y limitaciones específicas de tu plataforma objetivo, ya sea un dispositivo móvil, un visor de VR independiente o un dispositivo de AR. Al seleccionar cuidadosamente una tasa de fotogramas apropiada, puedes optimizar tanto el rendimiento como la experiencia del usuario en diferentes plataformas.

También puedes ajustar la tasa de fotogramas dinámicamente durante el tiempo de ejecución con Application.targetFrameRate. Por ejemplo, podrías bajar de 30 fps para escenas lentas o relativamente estáticas y reservar configuraciones de fps más altas para el juego.

Más información está disponible en la documentación.

Reduce o desactiva la frecuencia del acelerómetro

Unity agrupa el acelerómetro de tu móvil varias veces por segundo. Desactiva esto si no se está utilizando en tu aplicación, o reduce su frecuencia para un mejor rendimiento general.

Aprende más sobre el acelerómetro.

Cómo configurar la frecuencia del acelerómetro
DESACTIVA LA FRECUENCIA DEL ACELERÓMETRO SI NO LO UTILIZAS EN TU JUEGO MÓVIL.

Evita jerarquías grandes

Divide tus jerarquías. Si tus GameObjects no necesitan estar anidados en una jerarquía, simplifica la paternidad.

Las jerarquías más pequeñas se benefician del multihilo para actualizar los Transforms en tu escena. Las jerarquías complejas incurren en cálculos de Transform innecesarios y más costos para la recolección de basura.

Consulta Optimización de la jerarquía y esta charla de Unite para obtener consejos sobre Transforms.

Comprime tus texturas

Considera estos dos ejemplos anteriores utilizando el mismo modelo y textura. Los ajustes a la izquierda consumen casi 26 veces la memoria que los de la derecha, sin mucha mejora en la calidad visual.

Utiliza Compresión de Textura Escalable Adaptativa (ATSC) para móvil, XR y la web. La gran mayoría de los juegos en desarrollo tienden a dirigirse a dispositivos de especificaciones mínimas que soportan la compresión ATSC.

Las únicas excepciones son:

  • juegos de iOS dirigidos a dispositivos A7 o inferiores (por ejemplo, iPhone 5, 5S, etc.) – usa PVRTC
  • juegos de Android dirigidos a dispositivos anteriores a 2016 – usaETC2(Compresión de Textura de Ericsson)

Si los formatos comprimidos como PVRTC y ETC no son de calidad suficientemente alta, y si ASTC no es totalmente compatible con tu plataforma objetivo, intenta usar texturas de 16 bits en lugar de texturas de 32 bits.

Consulta el manual para más información sobre el formato de compresión de textura recomendado por plataforma.

Texturas sin comprimir frente a texturas comprimidas DXT1
LAS TEXTURAS SIN COMPRIMIR REQUIEREN MÁS MEMORIA QUE LAS COMPRIMIDAS.

Aprovecha la configuración de importación de texturas

Las texturas pueden potencialmente usar recursos excesivos, por lo que optimizar tus Configuraciones de Importación es crítico. En general, intenta seguir estas pautas:

  • Reduce el Tamaño Máximo:Usa la configuración mínima que produzca resultados visualmente aceptables. Esto es no destructivo y puede reducir rápidamente tu memoria de textura.
  • Usa potencias de dos (POT):Unity requiere dimensiones de textura POT para formatos de compresión de textura.
  • Desactiva la opción Habilitar Lectura/Escritura:Cuando está habilitada, esta opción crea una copia en la memoria direccionable de CPU y GPU, duplicando la huella de memoria de la textura. Desactívala en la mayoría de los casos, y solo habilítala si generas una textura en tiempo de ejecución que necesitas sobrescribir. También puedes forzar esta opción a través de Texture2D.Apply, pasando makeNoLongerReadable configurado en True.
  • Desactiva Mip Maps innecesarios:Los Mip Maps no son necesarios para texturas que permanecen a un tamaño constante en pantalla, como Sprites 2D y Gráficos de UI. Sin embargo, deja habilitados los Mip Maps para modelos 3D que varían en distancia de la Cámara.

Aprende más sobre Configuraciones de Importación de Textura.

Agrupa tus texturas

El atlas es el proceso de agrupar varias texturas más pequeñas en una sola textura más grande. Los Texture Atlases reducen el uso de memoria y requieren menos llamadas de dibujo, disminuyendo así el esfuerzo requerido por la GPU.

  • Para proyectos 2D: Usa un Sprite Atlas (Activo > Crear > 2D > Sprite Atlas) en lugar de renderizar sprites o texturas individuales.
  • Para proyectos 3D: Puedes usar tu paquete de Creación de Contenido Digital (DCC) de elección. Varios herramientas de terceros como MA_TextureAtlasser o TexturePacker también se pueden usar para construir Texture Atlases.

Combina texturas y remapea UVs para cualquier geometría 3D que no requiera mapas de alta resolución. Un editor visual te da la capacidad de establecer y priorizar los tamaños y posiciones en el Texture Atlas o Sprite Sheet.

El Texture Packer consolida los mapas individuales en una gran textura. Unity puede emitir entonces una sola llamada de dibujo para acceder a las texturas empaquetadas con un menor costo de rendimiento.

Lee más sobre Sprite Atlases aquí.

Interfaz de Texture Atlas
USA TEXTURE ATLASES PARA REDUCIR EL NÚMERO DE LLAMADAS DE DIBUJO.

Verifica tus conteos de polígonos

Modelos de mayor resolución significan más uso de memoria y potencialmente tiempos más largos en la GPU. ¿Necesita tu geometría de fondo medio millón de polígonos? Considera reducir modelos en tu paquete DCC de elección. Elimina polígonos no visibles desde el punto de vista de la cámara, y usa texturas y mapas normales para detalles finos en lugar de mallas de alta densidad.

Elimina caras en el modelo
ELIMINA CUALQUIER CARA NO VISTA PARA OPTIMIZAR TUS MODELOS.

Gestiona la configuración de importación de malla

Al igual que las texturas, las mallas pueden consumir una cantidad significativa de memoria, así que elige configuraciones de importación óptimas para ellas. Reduce la huella de memoria de las mallas con las siguientes prácticas:

  • Comprimir la malla: La compresión agresiva puede reducir el espacio en disco (sin embargo, la memoria en tiempo de ejecución no se ve afectada). Ten en cuenta que la cuantización de mallas puede resultar en inexactitudes, así que experimenta con los niveles de compresión para ver qué funciona para tus modelos.
  • Desactivar Lectura/Escritura: Habilitar esta opción duplica la malla en memoria, lo que mantiene una copia de la malla en la memoria del sistema y otra en la memoria de la GPU. En la mayoría de los casos, deberías desactivarla (en Unity 2019.2 y versiones anteriores, esta opción está marcada por defecto).
  • Desactivar rigs y formas de mezcla: Si tu malla no necesita animación esquelética o de formas de mezcla, desactiva estas opciones siempre que sea posible.

Desactivar normales y tangentes: Si estás absolutamente seguro de que el material de la malla no necesitará normales o tangentes, desmarca estas opciones para obtener ahorros adicionales.

Consulta tu configuración de importación de malla.
CONSULTA TU CONFIGURACIÓN DE IMPORTACIÓN DE MALLA

Ve más optimizaciones de malla

Opciones adicionales de optimización de mallas están disponibles en la Configuración del Jugador:

  • Compresión de vértices establece la compresión de vértices de cada canal. Por ejemplo, puedes habilitar la compresión para todo excepto posiciones y UVs de mapas de luz. Esto puede reducir el uso de memoria en tiempo de ejecución de tus mallas.
  • Nota: La configuración de Compresión de Malla en la Configuración de Importación de cada malla anula la configuración de Compresión de Vértices. En ese caso, la copia en tiempo de ejecución de la malla se descomprime y puede usar más memoria.
  • Optimizar datos de malla elimina cualquier dato de las mallas que no es requerido por el material aplicado a ellas (como tangentes, normales, colores y UVs).

Audita tus activos

Al automatizar el proceso de auditoría, puedes evitar cambiar accidentalmente la configuración de los activos. El Postprocesador de activos puede ayudarte a estandarizar tus configuraciones de importación o analizar activos existentes. Te permite ejecutar scripts al importar activos y, esencialmente, te solicita personalizar configuraciones antes y/o después de importar modelos, texturas, audio y más.

Lee más sobre Auditoría de activos en la Guía de comprensión de optimización.

Ajusta el búfer de texturas asíncrono

Unity utiliza un búfer circular para enviar texturas a la GPU. Puedes ajustar manualmente este búfer de texturas asíncronas a través de QualitySettings.asyncUploadBufferSize.

Si la tasa de carga es demasiado lenta o el hilo principal se detiene mientras carga varias texturas a la vez, ajusta estos búferes de texturas. Por lo general, puedes establecer el valor (en MB) al tamaño de la textura más grande que necesitas cargar en la escena.

Ten en cuenta que cambiar los valores predeterminados puede llevar a una alta presión de memoria. Además, no puedes devolver la memoria del búfer circular al sistema después de que Unity la haya asignado. Si la memoria de la GPU se sobrecarga, la GPU descarga la textura más reciente y menos utilizada, y obliga a la CPU a volver a cargarla la próxima vez que entre en el frustum de la cámara.

Explora todas las restricciones de memoria para los búferes de texturas en el tutorial de gestión de memoria, y consulta Optimización del rendimiento de carga para ver cómo puedes mejorar los tiempos de carga.

Transmite Mip Maps y texturas

El sistema Streaming de Mip Map te da control sobre qué niveles de Mip Map deben cargarse en memoria. Actívalo yendo a la configuración de Calidad de Unity (Editar > Configuración del proyecto > Calidad) y marca la opción Streaming de texturas. Puedes habilitar Streaming de Mip Maps en la Configuración de importación de texturas bajo Avanzado.

Este sistema reduce la cantidad total de memoria necesaria para las texturas porque solo carga los Mip Maps necesarios para renderizar la posición actual de la cámara. De lo contrario, Unity carga todas las texturas por defecto.

El Streaming de texturas intercambia una pequeña cantidad de recursos de CPU para ahorrar una cantidad potencialmente grande de memoria de GPU. También reduce automáticamente los niveles de Mip Map para mantenerse dentro del Presupuesto de Memoria definido por el usuario.

Puedes usar la API de Streaming de Mip Map para un mayor control.

Opciones del streaming de texturas
AJUSTES DEL STREAMING DE TEXTURAS

Usa Addressables

El Sistema de Activos Direccionables proporciona una forma simplificada de gestionar tu contenido. Este sistema unificado carga AssetBundles por "dirección" o alias, de forma asíncrona desde una ruta local o una red de entrega de contenido (CDN) remota.

Si divides tus activos no relacionados con el código (modelos, texturas, Prefabs, audio e incluso escenas completas) en un AssetBundle, puedes separarlos como contenido descargable (DLC).

Luego, usa Addressables para crear una construcción inicial más pequeña para tu aplicación móvil. Cloud Content Delivery te permite alojar y entregar el contenido de tu juego a los jugadores a medida que avanzan en el juego.

Consulta el tutorial Comenzar con Addressables en Unity Learn para una visión rápida de cómo puede funcionar el Sistema de Activos Direccionables en tu proyecto.

Y haz clic aquí para ver cómo el Sistema de Activos Direccionables puede eliminar las complicaciones de la gestión de activos.

Carga activos por "dirección" utilizando el Sistema de Activos Direccionables.
CARGA ACTIVOS POR "DIRECCIÓN" UTILIZANDO EL SISTEMA DE ACTIVOS DIRECCIONABLES
Más prácticas recomendadas de Unity
Más consejos para Unity 6

Encuentra más prácticas recomendadas y consejos para desarrolladores y creadores avanzados de Unity en el centro de prácticas recomendadas de Unity. Elige entre más de 30 guías, creadas por expertos de la industria, ingenieros de Unity y artistas técnicos, que te ayudarán a desarrollar de manera eficiente con las herramientas y sistemas de Unity.

Más prácticas recomendadas