Presentamos Unity 2019.1

La primera versión de TECH Stream del año – Unity 2019.1 – ya está disponible. Incluye muchas nuevas características listas para producción, como el Burst Compiler, el Lightweight Render Pipeline (LWRP) y Shader Graph. Además, hay numerosas innovaciones para animadores, desarrolladores móviles y expertos en gráficos, y múltiples actualizaciones que optimizan los flujos de trabajo del proyecto y simplifican las tareas del Editor.
En las próximas semanas también lanzaremos la versión 2018.4 de Soporte a Largo Plazo (LTS) de Unity para aquellos de ustedes con proyectos a punto de ser enviados y que deseen asegurar su producción sobre una base sólida durante un período prolongado.
Unity 2019.1 está repleto de más de 283 nuevas características y mejoras. Al principio de esta publicación encontrarás un resumen, seguido de un recorrido detallado, de las principales nuevas características. Si estás ansioso por instalar y comenzar a usar Unity 2019.1, considera iniciar la descarga (haz clic en el botón de abajo o accede a través del Unity Hub) mientras lees esta publicación.
En Unity 2018.1, introdujimos el Scriptable Render Pipeline (SRP) y Shader Graph en Vista Previa. Con Unity 2019.1, hemos eliminado la etiqueta de Vista Previa y recomendamos LWRP y Shader Graph para producción. Unity 2019.1 también ofrece a los artistas funcionalidad adicional y soporte de plataforma para el GPU Lightmapper (Vista Previa) y una larga lista de mejoras para el High-Definition Render Pipeline (HDRP, Vista Previa) y Post-Processing Stack (Vista Previa).
El Hereje, un nuevo cortometraje del galardonado equipo de Demo de Unity, se estrenó en GDC. La demo está construida sobre Unity 2019.1 y aprovecha la arquitectura de Scriptable Render Pipeline (SRP) de Unity. Usando la última entrega del High-Definition Render Pipeline (HDRP) de Unity con su Post-Processing Stack integrado, el equipo logró un aspecto cinematográfico que emula de cerca cómo funcionan las cámaras físicas – y renderiza en tiempo real.
Continuamos ampliando nuestro enfoque en las herramientas para artistas. En esta versión, estamos introduciendo el rigging de animación en tiempo de ejecución, que te da un mayor control artístico sobre tus animaciones. También hemos realizado mejoras en nuestras herramientas de audio, video, DCC y creación de mundos. Finalmente, Timeline ahora es un paquete validado, y la nueva función de Señales de Timeline ofrece una forma fácil para que Timeline interactúe con objetos en la escena.
Esta versión trae una serie de mejoras para móviles, incluida la capacidad de parchear el paquete de la app en lugar de reconstruirlo. Esto te permite realizar iteraciones más rápidas durante el desarrollo. También estamos presentando Rendimiento Adaptativo Móvil (Vista previa), que te proporciona datos sobre tendencias térmicas, incluida la información sobre si tu juego está vinculado al CPU o la GPU en el tiempo de ejecución, así como depuración y mejoras en los flujos de trabajo para el desarrollo de juegos móviles en general. Finalmente, el Unity Editor para Linux ahora está disponible en vista previa.
Continuamos nuestro progreso construyendo el Stack de Tecnología Orientada a Datos (DOTS) de alto rendimiento multihilo con nuestro Compilador Burst saliendo de la Vista previa en 2019.1. También encontrarás una gama de otras herramientas relacionadas con DOTS que hicieron posible crear la masiva demo de Megacity, que ahora está disponible para descarga aquí.
En solo dos meses, nuestro equipo de DOTS y dos artistas de nuestro grupo de Muestra FPS produjeron este paisaje urbano futurista.
También estamos presentando una solución completa de física para proyectos basados en DOTS en Unity desarrollada en colaboración con Havok. Hemos realizado otras mejoras, incluidos enlaces de seguimiento de pila clicables que te llevan a la línea de código fuente para cualquier llamada de función listada en la pila, una herramienta de búsqueda basada en texto para filtrar tus entradas de consola, y estamos introduciendo el nuevo Recolector de Basura Incremental como una alternativa experimental al Recolector de Basura existente.
Nos encanta un gran rendimiento en tiempo de ejecución, pero el alto rendimiento es igualmente importante cuando trabajas en el Editor, así que seguimos enfocándonos en mejorar el flujo de trabajo. Con el Administrador de Atajos, estamos presentando una interfaz visual interactiva y un conjunto de APIs para facilitarte la gestión de las teclas de acceso rápido del Editor, asignarlas a diferentes contextos y visualizar las vinculaciones existentes en una sola interfaz. Con los nuevos controles de SceneVis, ahora puedes ocultar y mostrar rápidamente objetos en la Vista de Escena, sin cambiar la visibilidad del objeto en el juego. Ahora también puedes usar Elementos de UI para extender el Editor.
Las versiones de Unity comprenden un flujo TECH y un flujo de Soporte a Largo Plazo (LTS). En 2019, tendremos tres versiones del flujo TECH: 2019.1, 2019.2 (verano) y 2019.3 (finales de otoño). 2019.1 es el inicio del nuevo TECH Stream y proporciona acceso a las últimas características.
La versión LTS no tiene nuevas características, cambios de API ni mejoras. Simplemente es una continuación del TECH Stream 2018, con actualizaciones y correcciones. Por eso lo llamamos 2018.4, mientras que el TECH Stream de este año comienza con 2019.1. El LTS Stream es para los usuarios que desean seguir desarrollando y publicando sus juegos/contenido y permanecer en una versión estable durante un período prolongado. Aborda fallos, regresiones y problemas que afectan a la comunidad en general, como problemas de clientes de soporte empresarial, problemas de SDK/XDK de consola, o cualquier cambio importante que impida a un gran número de usuarios publicar su juego. Cada LTS Stream será compatible durante un período de dos años.
El 2018-LTS está actualmente en pruebas y se espera que se publique en las próximas semanas después de 2019.1.0.
Notificaciones móviles (Paquete en vista previa)
Rendimiento adaptativo (Samsung)
SDK y NDK de Android instalados con Unity Hub
Integración de Android Logcat (Vista previa)
Iteración más rápida con parches de Scripts Only Build en Android
Editor de Linux (Vista previa)
Encadenamiento y concatenación de buffers de comandos en PlayStation 4
Soporte ARM64 para Universal Windows Platform
Diálogo de resolución de pantalla (también conocido como Selector de pantalla)
Pila de tecnología basada en datos (DOTS)
Compilador Burst fuera de Vista previa
Nuevo motor de renderizado/mezcla de audio (experimental)
Sistema de física basado en DOTS
Mejoras de física en múltiples escenas
Analizador de Profiler (vista previa)
Recolección de basura incremental (experimental)
Edición de activos Prefab en el Inspector
Mejoras a la consola del editor
Búsqueda rápida (paquete de vista previa)
Rigging de animación (paquete de vista previa)
Unity Hub 2.0 (beta) disponible ahora
Actualizaciones de Package Manager
Soporte del sistema de trabajos de C#
Canal de renderizado ligero (LWRP)
Canal de renderizado de alta definición (HDRP - Vista previa)
Mejoras en el soporte de plataformas
VR de doble ancho ahora disponible
Mejoras en la UI y soporte de cámara
Mejoras en el modo de depuración
Asistente para el canal de renderizado
Nuevo soporte para shaders y Shader Graph
Mejor calidad de iluminación y control
Mejoras en el sistema de reflexión
Soporte de reflexión planar en tiempo real
Integración nativa de Post Processing en HDRP
Mejoras en Visual Effect Graph (Vista previa)
Soporte nativo de plugins de renderizado para Vulkan
GPU Lightmapper (Vista previa)
Se agregó soporte para el Denoiser AI de Optix
Muestreo de Importancia Múltiple para Entorno (MIS Entorno)
Compilación de sombreadores asíncrona en el Editor
Ponderaciones de piel de alta influencia
Mejoras en el importador de Sketchup
Mejoras en el audio de la línea de tiempo
Soporte completo de SRP para grabadora/reproductor de video
Herramientas de visibilidad de escenas
El paquete de vista previa de Notificaciones Móviles te ayuda a implementar mecánicas de retención y jugabilidad basada en temporizadores al agregar soporte para programar notificaciones locales repetibles o únicas en iOS (desde iOS 10) y Android (4.1 y superior). Está disponible como un paquete, y puedes encontrar más información aquí.
La versión de vista previa de Rendimiento Adaptativo ya está disponible para Unity 2019.1.
Uno de los mayores desafíos para los desarrolladores móviles es construir juegos que se vean hermosos y se jueguen sin problemas, pero que no sobrecarguen el hardware, lo que lleva a la reducción de rendimiento (rendimiento pobre e inconsistente) y a una vida útil de la batería más corta. Extender la vida de la batería/reducir la temperatura puede permitir a los jugadores un tiempo de juego más largo, lo que mejora la retención de usuarios y, en última instancia, hace que los juegos sean más exitosos. A diferencia de en una PC o consola, utilizar hardware móvil requiere un equilibrio delicado; utilizar completamente las capacidades de un dispositivo compromete rápidamente el rendimiento.
Para resolver estos problemas, nos asociamos con Samsung, construyendo sobre su GameSDK, para crear Rendimiento Adaptativo, que está disponible para que optimices proyectos para el Galaxy S10 y Galaxy Fold.
Lee más sobre Rendimiento Adaptativo aquí.
El Hub ahora te permite instalar todos los componentes requeridos para Android como parte de la opción de Soporte de Construcción de Android, así que estás seguro de obtener las dependencias correctas y no tienes que instalar nada más. Si eres un usuario avanzado de Android, aún puedes instalar y configurar componentes manualmente y usar Android Studio. Además, ten en cuenta que a partir de 2018.3, el Soporte de Construcción de Android viene con su propio Runtime de Java basado en OpenJDK.

Paquete de Android Logcat es una utilidad compatible con Unity 2019.1 para mostrar mensajes de registro provenientes de dispositivos Android en el Unity Editor, facilitando la depuración al controlar y filtrar mensajes directamente en Unity.

Para realizar iteraciones más rápidas durante el desarrollo, puedes usar la opción Scripts Only Build en el editor. Esto te permite omitir muchos pasos en el proceso de construcción y recompilar solo los scripts, luego construir el paquete final y desplegarlo cuando selecciones Build And Run.
Hemos ampliado esta función para que te permita parchear el paquete de la app (APK, solo Android) en dispositivos de destino en lugar de reconstruirlo y redeplegarlo. Así que cuando estés iterando en tu código C#, solo se envían las bibliotecas recompiladas al dispositivo. Ten en cuenta que debe estar disponible una construcción completa del proyecto antes de que Unity pueda ejecutar un Scripts Only Build.

AR Foundation permite a los desarrolladores de Unity comenzar rápidamente a construir proyectos de AR. Tú eliges qué características incluir en tus experiencias mientras construyes solo una vez para desplegar en dispositivos tanto de ARKit como de ARCore. Disponible en Preview desde el Package Manager, envuelve las API de bajo nivel de ARKit y ARCore en un marco cohesivo que también incluye características adicionales para ayudar a los desarrolladores a superar los mayores desafíos en el desarrollo de AR.
Esta función te permite pasar datos entre un dispositivo y el editor para que no tengas que construir en el dispositivo cada vez que quieras probar la funcionalidad. Incluye grabación y reproducción de sesiones, que te permite grabar sesiones en el dispositivo y reproducirlas en el editor para crear pruebas robustas de tu aplicación o iterar en visualizaciones.
Disponible en GitHub, esta colección de escenas, prefabs y componentes auxiliares está construida sobre AR Foundation para demostrar cómo puedes hacer visualización de planos, colocación de objetos y más. También incluye un ejemplo de cómo usar LWRP con AR Foundation. Contiene todas las piezas fundamentales que necesitas para comenzar a construir para que puedas poner en marcha tus proyectos de AR rápidamente.
Soporte de LWRP para AR y VR
El soporte de AR Foundation para LWRP está disponible como un paquete de vista previa, lo que te permite usar LWRP para experiencias de AR. También con esta versión y en el último paquete verificado de LWRP, ahora puedes aprovechar el Shader Graph, así como las optimizaciones de rendimiento de LWRP, para construir experiencias de VR para todas las plataformas de VR que Unity admite oficialmente. Aprende más sobre nuestras actualizaciones a LWRP en la sección de Gráficos.
Modo de renderizado estereoscópico de respaldo
Cuando la instanciación estereoscópica no es compatible con el dispositivo objetivo, el renderizado estereoscópico automáticamente vuelve al renderizado de paso único (doble ancho). Ahora puedes usar de manera segura el modo de renderizado de instanciación estereoscópica más eficiente sin tener que preocuparte de que la API gráfica de un dispositivo específico no lo soporte. Con versiones anteriores, el modo de renderizado estereoscópico volvería al renderizado de múltiples pasadas.
Soporte de post-procesamiento para la instanciación estereoscópica
Incluido en esta versión y en el último paquete de Post-Procesamiento, todos los efectos de post-procesamiento que son viables para VR ahora funcionan con el modo de renderizado de instanciación estereoscópica.
Soporte integrado para Magic Leap (Lumin OS)
El soporte para construir para Magic Leap One ahora está incluido en esta versión. Esto significa que en lugar de tener que usar una versión especial de vista previa técnica de Unity para el desarrollo de Magic Leap, puedes usar esta versión de Unity.
Con esta versión, WebAssembly es el formato de salida predeterminado para Unity WebGL. Además, asm.js ha sido eliminado de la interfaz de usuario del Editor, que fue desaprobada en 2018.3. Para reflejar estos cambios, la opción de construcción de motor preconstruido específica de asm.js ya no está disponible. Las configuraciones del jugador de WebGL también han sido actualizadas: El objetivo del enlazador y el tamaño de memoria se establecen en WebGLLinkerTarget.Wasm y 32MB respectivamente, y han sido eliminados de la interfaz de usuario del Editor. Sin embargo, todavía es posible modificar estas configuraciones a través del script del Editor.
En esta versión, también introducimos el multihilo experimental de WebAssembly, que se puede habilitar a través de PlayerSettings.WebGL.threadsSupport. Vea este foro post para más información.
El Editor de Unity para Linux ahora está en Vista previa. Puede obtener las últimas versiones de el Unity Hub. Todavía hay algunos detalles por pulir, pero seguirá viendo mejoras con el tiempo. Llevar el Editor de Unity para Linux de experimental a Vista previa significa que ahora estamos en camino a una versión completamente soportada para finales de año. Estamos priorizando el soporte para la siguiente lista de configuraciones:
- Ubuntu 16.04, 18.04
- CentOS 7
- arquitectura x86-64
- entorno de escritorio Gnome ejecutándose sobre el sistema de ventanas X11
- controlador gráfico propietario oficial de Nvidia y controlador gráfico AMD Mesa
- factores de forma de escritorio, ejecutándose en dispositivo/hardware sin emulación o capa de compatibilidad
Recomendamos que utilice una de las configuraciones soportadas arriba para la mejor experiencia de desarrollo.
Hemos introducido algunas mejoras en nuestro soporte para Async Compute para Consolas. Ahora permitimos un mayor rango de funciones de script de Command Buffer que son válidas para Command Buffers que apuntan a colas de computación asíncrona (por ejemplo, funciones que establecen datos de shader globales o gestionan objetivos de renderizado temporales). También mejoramos el manejo de errores para Command Buffers que apuntan a colas de computación asíncrona, dando retroalimentación inmediata si se utilizan funciones de script de Command Buffer inválidas; esto facilita la depuración para usted.
Con la cadena y concatenación de Command Buffer, optimizamos cómo se envía el trabajo a la GPU, específicamente para trabajos gráficos nativos donde el método anterior incurrió en un pequeño sobrecosto de GPU.
Hemos añadido soporte para UWP en dispositivos ARM64. Simplemente elige ARM64 para tu arquitectura de destino y despliega en laptops ARM64 basadas en Windows.
Basado en datos de usuarios e investigación de clientes, el Diálogo de Resolución de Pantalla está "deshabilitado" por defecto a partir de esta versión. Aún puedes habilitarlo a través del menú desplegable del Diálogo de Resolución de Pantalla en la Configuración de tu Proyecto. Lo encontrarás en Player, Resolución y Presentación, en el grupo de Opciones del Reproductor Independiente. Más información sobre la evolución del Diálogo de Resolución de Pantalla se compartirá en un futuro cercano.
En 2018.1, introdujimos el Burst Compiler, una nueva tecnología de compilador basada en LLVM que toma trabajos de C# y produce código de máquina altamente optimizado para tu plataforma de destino. Con esta versión, está fuera de Vista Previa y disponible para producción.
Con el Compilador Burst, no necesitas hacer el trabajo pesado de escribir código de bajo nivel para obtener los beneficios de rendimiento que ofrecen los lenguajes de ensamblaje afinados a mano. Puedes seguir escribiendo tu código en C#.

DSPGraph es el nuevo motor de renderización/mezcla de audio, construido sobre el C# Job System de Unity. Es completamente extensible en C# y se puede usar con el Compilador Burst. En el proyecto Megacity, alimenta 100,000 emisores de sonido 3D/espaciales esparcidos de forma única, incluidos carteles de neón, ventiladores de aire acondicionado y autos, produciendo un paisaje sonoro rico y realista.
Ten en cuenta que DSPGraph es una API experimental interna que estamos planeando pulir y publicar como un paquete de vista previa más adelante este año. Esta será la base del próximo sistema de audio de pila de tecnología basada en datos (Data-Oriented Technology Stack, DOTS), entre otros. Por favor, únete a nosotros en el nuevo foro de audio de pila de tecnología basada en datos si has estado explorando DSPGraph en el contexto de nuestro proyecto Megacity. Este es el mejor lugar para hacer preguntas o compartir tus necesidades de audio con nosotros.
Las Sub Escenas son parte de la caja de herramientas creada para el proyecto Megacity. Esta función cierra la brecha entre GameObjects y DOTS utilizando Escenas de GameObject como un mecanismo de agrupación para convertir por lotes GameObjects en entidades.
Las Sub Escenas son especialmente útiles cuando trabajas en proyectos a gran escala como Megacity, donde millones de GameObjects se convierten en entidades. Dado que solo tienes que trabajar en un número limitado de Sub Escenas a la vez, tu proyecto es mucho más manejable y eficiente en el Editor. Nos referimos a esto como un flujo de trabajo "híbrido".

Además de mejorar tu flujo de trabajo en el Editor, también puedes usar las Sub Escenas convertidas como unidades de streaming. Pueden ser cargadas y descargadas durante el juego, y también se cargan de manera asíncrona en el Editor.
Puedes convertir un grupo de GameObjects en entidades añadiendo el componente SubScene a un GameObject raíz. Cuando quieras editar los GameObjects en una Sub Escena, simplemente ábrela y haz tus cambios. El grupo de GameObjects se convierte en entidades automáticamente cuando terminas de editar y cierras la SubEscena de GameObject.
Los cambios realizados en los GameObjects en una Sub Escena no afectan la Escena raíz, lo que facilita que varios miembros del equipo colaboren en diferentes Sub Escenas simultáneamente.
La función de Sub Escenas es parte del paquete de Entidades, que puedes encontrar en el Administrador de Paquetes. La función es actualmente experimental y no documentada, así que úsala con precaución.
En solo dos meses, nuestro equipo de ECS y dos artistas de nuestro grupo de muestra de FPS produjeron Megacity, un paisaje urbano futurista lleno de vehículos voladores, cientos de miles de objetos de juego altamente detallados y fuentes de audio únicas. Aprovecharon el Data-Oriented Technology Stack (DOTS), el nombre para todos los proyectos bajo el banner de Performance by Default, incluyendo el Sistema de Componentes de Entidad (ECS), el Sistema de Trabajo de C# y el Compilador Burst.
Megacity muestra cómo se puede usar DOTS hoy en día para producciones complejas, comenzando con Unity 2019.1, y los nuevos flujos de trabajo de Prefab, que se introdujeron en Unity 2018.3. La demo está ahora disponible para descargar para que puedas comenzar a explorar las oportunidades que DOTS proporciona para tus futuros proyectos.
Si estás interesado en aprender cómo algunos desarrolladores de Nordeus abordaron la demo de Megacity para mostrar cómo puedes usar DOTS y LWRP para escalar fácilmente un proyecto de PC de alta resolución para plataformas móviles. Puedes descargar el proyecto completo aquí.

En GDC 2019, anunciamos nuestra asociación con Havok para construir una solución completa para proyectos basados en DOTS en Unity. Si tu proyecto utiliza el nuevo marco de DOTS, Unity Physics (Preview) es tu sistema de física por defecto. Este sistema está escrito utilizando el marco de C# DOTS y aprovecha el Compilador Burst y el Sistema de Trabajo de C# para ofrecer simulaciones de alto rendimiento. Al usar un diseño sin estado sin cachés, el solucionador es mucho más simple, lo que nos permite construir un sistema de física más amigable para la red que se puede extender, ajustar y modificar fácilmente para adaptarse a las necesidades de tu producción. Unity Physics está disponible para Unity 2019.1 a través del Administrador de Paquetes.
En junio de 2019, también ofreceremos el paquete de Havok Physics como una integración para proyectos basados en DOTS con necesidades de simulación de física muy complejas. Utiliza el mismo marco de C# DOTS que Unity Physics, pero está respaldado por el motor de física Havok de código cerrado y propietario escrito en C++ nativo. Hemos construido tanto Unity Physics como Havok Physics para usar el mismo protocolo de datos, lo que significa que puedes crear tu contenido y código de juego una vez y que esos datos se comparten entre ambos sistemas. Esto te permitirá cambiar sin problemas entre ambas soluciones de física basadas en DOTS o incluso usarlas al mismo tiempo en tu proyecto.

Si actualmente estás utilizando el marco de GameObject y MonoBehaviour para tus proyectos, entonces PhysX será tu sistema de física por defecto. Esto no cambiará, y continuaremos apoyando y evaluando las actualizaciones de PhysX en Unity para proyectos basados en GameObject/MonoBehaviour.
Hemos agregado una serie de mejoras a nuestra solución de PhysX para proyectos no basados en DOTS. Por ejemplo, la tela ahora puede aplicar su propia gravedad, independiente de la gravedad de la escena, para ajustes más fáciles. También hemos actualizado los colores de la vista de depuración de física para una mejor experiencia y consistencia con los colores del gizmo. Hay una nueva sección en el inspector del componente Rigidbody que muestra información interna útil para la depuración, como velocidades lineales y angulares, centro de masa y tensor de inercia.

La nueva función Physics.GetIgnoreCollision te permite verificar fácilmente si los colliders dados tienen colisiones desactivadas o no. La velocidad angular máxima predeterminada de los cuerpos se ha incrementado de 7 a 50. Esto mejorará las simulaciones con objetos de movimiento rápido, así como la calidad de resolución de las colisiones de ragdoll en configuraciones desafiantes. Permitirá al solucionador rotar los cuerpos más rápido y, por lo tanto, satisfacer las restricciones en menos iteraciones.
Hasta ahora, solo apoyábamos raycast en el contexto de múltiples escenas. Con esta versión, todas las consultas de escena ahora están disponibles en el contexto de múltiples escenas. La vista de depuración de física también admite escenas de múltiples físicas, permitiéndote ver a qué escena de física pertenece un objeto seleccionado. También puedes ver objetos que pertenecen a una escena de física dada.
Mejoramos el rendimiento en tiempo de ejecución cuando la depuración de scripts está habilitada. Además, el rendimiento del código generado por IL2CPP se ha mejorado hasta en un 20%.
Hemos mejorado la integración del Profiler de Unity con profilers externos. La compilación de desarrollo de Unity ahora genera marcadores para Android Systrace, permitiéndote visualizar secciones nombradas de eventos de Unity en la herramienta de traza de sistema Android Systrace. Luego puedes analizar tu juego en el contexto de la actividad del sistema como programación, estado de la CPU y otros procesos en ejecución en el sistema. El soporte nativo de Systrace, anteriormente un plugin, ahora es parte de Unity 2019.1. Todos los hilos administrados son ahora visibles en ambos backends de scripting Mono e IL2CPP, y todos los hilos nativos de Unity están expuestos. La actividad en los hilos se muestra en la vista de Línea de tiempo de la ventana del Profiler, y también registramos automáticamente todos los hilos con el Profiler. Además, hemos aumentado el límite predeterminado para el uso de memoria permitido para el Profiler a 4 MB en los Jugadores y 64 MB en el Editor. Eso te permite acumular más datos antes de transmitirlos a disco o red, y reduce la sobrecarga. También puedes controlarlo con argumentos de línea de comandos “-profiler-maxusedmemory”. Finalmente, añadimos la API UnityEditor.Profiling.HierarchyFrameDataView que te permite recorrer rápidamente los datos de perfilado de CPU para todos los hilos y obtener toda la información disponible en la vista de Jerarquía de la ventana del Profiler, junto con todos los metadatos relevantes (por ejemplo, pilas de llamadas de GC.Alloc).
El Analizador de Perfiles es un nuevo paquete de perfilado disponible en Vista previa. Complementa el análisis de un solo fotograma del Profiler de Unity al agregar la capacidad de analizar múltiples fotogramas a la vez. Esto es útil cuando es importante tener una visión más amplia de tu rendimiento, como al actualizar versiones de Unity, probar beneficios de optimización o rastrear el rendimiento como parte de tu ciclo de desarrollo. Analiza los datos de fotograma y marcador de CPU que se extraen del conjunto activo de fotogramas actualmente cargados en el Profiler de Unity o cargados desde una sesión de Analizador de Perfiles guardada previamente. Los datos de fotograma y marcador de CPU analizados se resumen y grafican utilizando histogramas, y gráficos de caja y bigote, que complementan una lista ordenable de actividad para cada marcador, incluyendo el mínimo, máximo, media, conteo de instancias, rango y en qué fotograma apareció por primera vez el marcador.


En esta versión, estamos introduciendo el Recolector de Basura Incremental como una alternativa experimental al Recolector de Basura (GC) existente. El Recolector de Basura Incremental puede dividir su trabajo en múltiples porciones. Eso significa que en lugar de una larga interrupción de tu programa, el Recolector de Basura Incremental hará múltiples interrupciones, mucho más cortas. Si bien esto no hará que el GC sea más rápido en general, puede reducir significativamente el problema de los picos de GC que rompen la suavidad de las animaciones en tu proyecto porque distribuye la carga de trabajo a través de múltiples fotogramas. Para obtener más información, lee nuestra publicación en el blog aquí.
Los ScriptableObjects ahora se recargan durante la importación de activos. Esto significa que si un ScriptableObject se carga antes de una importación y el activo subyacente en el disco ha sido modificado, entonces el ScriptableObject se recargará y tendrá los nuevos valores del activo en el disco después de que se complete la importación. Antes de este cambio, el ScriptableObject se habría descargado después de la importación, lo que resultaría en que el ScriptableObject sería igual a nulo cuando se compara usando el operador de igualdad (==). Esta recarga solo ocurre para ScriptableObjects y para Prefabs anidados que ya están cargados antes de una (re)importación. Para más información sobre la recarga de ScriptableObjects, puedes consultar el ejemplo de código disponible aquí.
Con esta versión, ahora es posible que los desarrolladores de paquetes dependan condicionalmente del código C# en paquetes utilizando la nueva función de Definiciones de Versión en el inspector de Archivo de Definición de Ensamblaje.
Las referencias de Archivo de Definición de Ensamblaje (asmdef) faltantes ahora se ignoran en lugar de producir un error de referencia faltante. Esto te permite agregar referencias a ensamblajes asmdef que son opcionales.
Usando las nuevas funciones de Definiciones de Versión en el Inspector de Definición de Ensamblaje, puedes definir qué directivas de preprocesador C# se establecen según los rangos de versión para paquetes y módulos que actualmente están resueltos en el proyecto. Esto te permite #if tu código C# para características en paquetes opcionales.

Con esta versión, estamos reintroduciendo la capacidad de editar Activos Prefab en el Inspector una vez que hayas seleccionado el Prefab en la vista del Proyecto. Esto significa que no tendrás que abrir un Prefab en Modo Prefab o arrastrarlo a la Escena para editarlo.
El Gestor de Atajos te proporciona una interfaz visual interactiva y un conjunto de APIs para facilitar la gestión de teclas de acceso rápido del Editor, asignarlas a diferentes contextos y visualizar las vinculaciones existentes. Para abordar conflictos de vinculación, ahora puedes visualizar si múltiples comandos utilizan la misma vinculación y permitirte reasignar en consecuencia.
Puedes ver qué accesos directos están disponibles manteniendo presionada la tecla Shift + Control. Aparece una lista de todas las teclas reservadas y no reservadas. También puedes almacenar teclas rápidas en perfiles personalizados para que puedan ser guardadas, compartidas y migradas a otras estaciones de trabajo. Un nuevo sistema de contexto te permite registrar comandos dentro de un contexto específico para las ventanas del Editor. Esto permite a los desarrolladores de herramientas definir sus acciones personalizadas y hacerlas disponibles como un acceso directo. Estos accesos directos pueden definirse como conscientes del contexto para que solo estén disponibles dentro del contexto correcto. Finalmente, puedes visualizar y abordar cualquier conflicto entre accesos directos. Por ejemplo, si múltiples paquetes utilizan el mismo acceso directo, el Editor activará una notificación y ofrecerá opciones para manejar el conflicto.
Actualizamos la consola del Editor con enlaces de seguimiento de pila que te llevan a la línea de código fuente para cualquier llamada de función listada en la pila, y una herramienta de búsqueda para filtrar tus entradas de consola.
La nueva herramienta de Búsqueda rápida facilita la búsqueda a través de múltiples proveedores de búsqueda (por ejemplo, Activos, Jerarquía, Configuraciones) en el Editor. También es extensible para desarrolladores que quieran incluir sus propios proveedores de búsqueda. La función está actualmente en vista previa. Para obtener más información al respecto, consulta los foros y asegúrate de compartir tus comentarios si lo pruebas.

El nuevo paquete de Rigging de animación te da más control artístico sobre tus animaciones. Puedes usar un conjunto de restricciones de animación predefinidas para construir manualmente una jerarquía de rig de control para un personaje genérico. En tiempo de ejecución, las restricciones de rig se convierten en una lista de trabajos de Animación que se añaden como operaciones de post-procesamiento al gráfico jugable del controlador. El nuevo paquete de rigging de animación está basado en Animation C# jobs, lo que te permite configurar varios rigs multiproceso que pueden controlar de forma procedimental las deformaciones, simular comportamientos pseudofísicos o movimientos secundarios, y corregir las animaciones globales.
Puedes usar la biblioteca de restricciones predefinidas incluidas en el paquete para construir diferentes configuraciones de rig con propósitos distintos, y luego mezclarlas dinámicamente en el momento apropiado durante el juego para controlar el rendimiento final de la animación.
Finalmente, el paquete es extensible, por lo que puedes escribir restricciones personalizadas adaptadas a tus requisitos de producción específicos. Para más información, mira nuestra charla de GDC 2019. ¡Únete a nosotros en los foros para discutir el paquete de rigging de animación!

La nueva arquitectura de UI/UX incluye muchas características que ayudan con la visibilidad y la búsqueda utilizando Ordenar y Buscar y Revelar en el Explorador/Buscador. Ahora puedes redimensionar la ventana principal del escritorio del Hub, gestionar tus licencias directamente desde el Hub, e instalar y ejecutar el Hub sin activar primero tu licencia de Unity. Esta versión también incluye soporte para localización e internacionalización de idiomas y algunas mejoras en cómo se manejan las comprobaciones de conectividad de red. Para más información, por favor revisa nuestro post en el foro.
Dado que ahora puedes gestionar tus proyectos a través del Unity Hub, el Launcher de proyectos integrado ya no está incluido como parte del Editor. Este es un cambio importante en cómo abres/creas proyectos y cómo se gestionan las licencias dentro del Editor, así que agradeceríamos tus comentarios mientras iteramos a través de esta transición.

Nota: La interfaz de línea de comandos del Editor no se ve afectada por este cambio y seguirá funcionando como se espera para la gestión de proyectos y la activación de licencias. Si aún no lo has descargado/instalado, puedes obtener la última versión del Hub aquí. Si ya tienes el Hub instalado, asegúrate de que esté actualizado a al menos la versión v1.3 (lanzar/reiniciar el Hub activará el proceso de actualización automática).
Ahora puedes visualizar tus paquetes y dependencias principales en el Editor, instalar un paquete directamente desde un repositorio de GitHub, y gestionar registros privados y alojados por Unity lado a lado. Esta versión también incluye soporte para referencias de definición de ensamblado (ver la sección de Definiciones de Versión). Únete a la discusión en el foro del Administrador de Paquetes de Unity y consulta el manual 2019.1 para más información.
Este es un nuevo sistema de GUI de modo retenido que permite a los desarrolladores crear y editar rápidamente diseños y estilos de UI. El nuevo sistema de GUI toma conceptos del CSS, jQuery, HTML DOM y el sistema de Eventos de la web para facilitar la creación y optimización de UI en Unity. También proporciona un rendimiento mejorado y muchas nuevas características, incluyendo hojas de estilo y manejo de eventos dinámicos/contextuales.
Construimos el nuevo sistema con el rendimiento y la escalabilidad en mente, por lo que tiene una API de C# convencional y completa que permite a los desarrolladores construir, modificar e interactuar con la UI. La familiar API de C#, el sistema de Eventos, los formatos de importación de CSS y XML facilitan la construcción de interfaces de usuario. Elementos de UI reemplaza IMGUI para extender y crear UI del Editor, y reemplazará uGUI para crear UI en tiempo de ejecución en futuras versiones.
Ahora puedes manipular datos de partículas utilizando el Sistema de Trabajo de C# sin tener que copiar datos de partículas entre el script y el código nativo. Para configurarlo, crea una estructura de trabajo basada en IParticleSystemJob, adjúntala al Sistema de Partículas usando SetJob, y se llamará desde un hilo después de que se haya ejecutado la actualización nativa de partículas.
Esta versión incluye una serie de pequeñas mejoras en partículas de malla. Por ejemplo, la malla asignada a cada partícula puede ser consultada y asignada desde un script. La estructura ParticleSystem.Particle ahora contiene métodos para obtener/establecer el índice de la malla. Flujos de vértices personalizados tienen un nuevo flujo de Índice de Malla, permitiéndote enviar el índice de la malla a un shader. Puedes usar esto para escribir código de shader adaptado a mallas individuales. El módulo de Animación de Hoja de Textura contiene un nuevo Modo de Fila, que selecciona la fila de la animación basada en el índice de malla de la partícula. Eso te permite asignar animaciones específicas a cada malla en el efecto.
Listo para producción en esta versión, Shader Graph es una interfaz visual basada en nodos para construir shaders. Permite a los artistas personalizar fácilmente cómo se ven las cosas sin escribir ningún código. Shader Graph te permite arrastrar y soltar nodos para ver los resultados en tiempo real. La retroalimentación instantánea también facilita la depuración y el ajuste fino, tanto para expertos en shaders como para principiantes. Una nueva característica clave de Shader Graph son los Subgráficos Anidados, que te permiten crear nodos personalizados visualmente. Los Subgráficos también son anidables, por lo que puedes definir bibliotecas de contenido personalizadas para tu proyecto o estudio. Esto le da a los artistas técnicos un control flexible y no destructivo sobre toda una tubería de shaders, lo que fomenta la experimentación y la creatividad. Aprende más sobre las nuevas características de Shader Graph y los flujos de trabajo recomendados en esta charla de GDC 2019.
LWRP está listo para producción en esta versión. LWRP es una tubería de renderizado Scriptable preconstruida (SRP) que está optimizada para ofrecer un alto rendimiento de renderizado gráfico. Es altamente configurable y te permite controlar la configuración de renderizado de manera global o por cámara. También te da la flexibilidad de configurar la profundidad de la cámara y la textura de color para efectos personalizados, que está integrada con Shader Graph. Esta arquitectura altamente extensible y lista para usar te permite crear pases de renderizado personalizados. También puedes anular el renderizador para lograr efectos específicos. Usar LWRP te da flexibilidad y permite escalas de renderizado entre plataformas. El código fuente está disponible en GitHub, lo que te permite personalizar aún más LWRP. En 2019.1, también hemos agregado soporte para Escalado Dinámico, con preservación de UI, lo que te ayuda a mantener tu UI nítida mientras renderizas tu juego en dispositivos móviles con pantallas de alta DPI. Además, agregamos soporte para SRP Batcher y varias mejoras a los Shaders de Partículas, incluyendo Partículas Suaves y Distorsiones. También hay mejoras en los Shaders de Terreno, así como en el Shader Lit horneado. También es nuevo en esta versión un sistema de Renderizador Personalizado que permite una mayor personalización. Además, hemos agregado soporte preliminar para el Graph de Efectos Visuales y el soporte inicial de LWRP está disponible para Shaders Sin Iluminación y limitado a plataformas capaces de computación.
Aprende más sobre LWRP en el Manual de Unity.
HDRP es un Pipeline de Renderizado Scriptable de alta fidelidad preconstruido diseñado para dirigirse a plataformas modernas compatibles con shaders de computación. Por diseño, te proporciona herramientas para crear cualquier cosa, desde juegos hasta demostraciones técnicas con la resolución más alta. En esta versión, hemos agregado varias nuevas características y mejorado considerablemente el flujo de trabajo para los artistas. Uno de los inconvenientes de estos cambios es que algunos datos previamente creados no son compatibles con esta versión y requerirán ser recreados. Para ayudarte a actualizar desde 2018.3, creamos una guía para el proceso de migración. Está disponible aquí. Esta versión soporta DX11 y DX12 para PC, Metal para Mac, Vulkan para PC y Linux, Xbox One y PS4. HDRP permanecerá en Vista Previa hasta 2019.3. Nota: Esta versión viene con el paquete 5.7.2 de HDRP en la plantilla HDRP. Para aprovechar las características enumeradas aquí, recomendamos que actualices al paquete 5.12.0 o superior después de instalar la plantilla.
Esta versión incluye un mejor soporte para Linux y las API de Vulkan, incluyendo menos artefactos. Algunos artefactos permanecen, pero la experiencia general ha mejorado.
Doble ancho es un camino lento para VR que renderiza dos vistas una al lado de la otra. Una versión instanciada de paso único más optimizada vendrá con 2019.2. Todos los efectos de HDRP ahora son compatibles, incluyendo refracción, distorsión, dispersión subsuperficial, calcomanías y volumétricos. Para detalles sobre las características compatibles, consulta este artículo.
HDRP ahora utiliza un formato de Color Buffer de RGB111110Float en lugar de ARGBHalf, lo que resulta en una ejecución de shader más rápida y un rendimiento general mejorado. En 2019.1, ahora tenemos un camino rápido cuando solo hay una luz direccional y materiales simples. Para ahorrar tiempo de CPU, los objetos de vector de movimiento ya no se renderizan dos veces con el prepaso de profundidad. La distorsión ha sido optimizada con un buffer de plantilla, y se ha mejorado la eliminación de variantes de shader para reducir el tiempo de construcción. 2019.1 también incluye soporte para resolución dinámica de software, que te permite renderizar el mundo a una escala diferente a la de la UI en cada plataforma (el soporte para resolución dinámica de hardware en plataformas compatibles vendrá más tarde). Solo necesitas controlar tu resolución deseada a través de un script de C#. Por último, los materiales transparentes ahora pueden usar un nombre de pase de renderizado de “Baja Resolución” para permitir que se rendericen a un cuarto de resolución con calidad visual similar. Esto es útil para mejorar el rendimiento de sobrecarga de partículas grandes.

HDRP ahora viene con mejor soporte de edición múltiple para todos sus elementos de interfaz de usuario, mejor documentación y mejores descripciones emergentes. También agrega soporte para Multi ViewPort, que te permite renderizar varias cámaras en el mismo objetivo para lograr renderizado en pantalla dividida y otros comportamientos similares.

Los ajustes de FrameSettings y los ajustes de HDRP Asset han sido reestructurados para tiempos de cálculo más rápidos y una edición más fácil. Ahora hay información sobre el impacto de los ajustes de HDRP Asset en la memoria y variantes de sombreadores. Se ha añadido soporte para el método de anti-aliasing SMAA (SMAA 1X). Proporciona un método intermedio entre rendimiento (FXAA) y calidad (TAA).

El pase de renderizado After Post-Process ahora está disponible para el sombreado Unlit. HDRP renderiza objetos que utilizan este pase de renderizado después del pase de post-procesamiento, lo que significa que el post-procesamiento no los afecta. Esto es útil para renderizar UI 3D, por ejemplo.
HDRP ahora contiene una opción de depuración para congelar la cámara para el culling, pero la mantiene movible desde el punto de vista de renderizado, permitiéndote ver qué se está eliminando para una vista de escena dada. También hay un validador de Material PBR y una anulación de color emisivo.
Este asistente te ayuda a configurar los ajustes del proyecto para que funcionen correctamente al usar HDRP. Destaca los elementos configurados incorrectamente y proporciona botones de corrección para corregirlos. Además, puedes configurar nuevas escenas personalizadas.

Decals han sido mejorados con mejor control de gizmo, soporte para Shader Graph y soporte emisivo para calcomanías opacas. El Recorder ahora está correctamente soportado y te permite grabar metraje de HDRP. El modelo de iluminación Fabric para algodón ha sido mejorado para reflejar la investigación reciente de Sony Pictures Imageworks.

La neblina volumétrica ha sido optimizada y es más precisa. También hemos actualizado el Gizmo para el volumen de densidad. Las capas de luz, que te permiten etiquetar luces y objetos para que solo los objetos con las mismas etiquetas reciban iluminación de una luz específica, ahora son totalmente funcionales y soportan el control de sombras correctamente. El Perfil de Difusión para la dispersión subsuperficial ha cambiado con 2019.1. Anteriormente, la lista de Perfiles de Difusión en cada proyecto estaba limitada a 16 perfiles. Los perfiles de difusión ahora son activos individuales que pueden ser compartidos/distribuidos y hay una limitación de 16 perfiles por vista. La lista actual de perfiles utilizados en una vista se controla con configuraciones de volumen. 2019.1 migra automáticamente los datos del antiguo sistema de Perfiles de Difusión al nuevo, pero no para Shader Graph. Necesitarás volver a autorizar esos perfiles de difusión. Esta versión también agrega soporte para Vectores de Movimiento en materiales transparentes. Los materiales transparentes pueden escribir su propia velocidad, sobrescribiendo el contenido anterior del búfer de velocidad. Esto es útil para materiales con alpha como el cabello.
2019.1 viene con varios nuevos Nodos Master para Shader Graph. El nuevo Nodo Master HD Unlit te da acceso a todo el conjunto de características que el Unlit de cross-pipeline no podía, como distorsión o selección de pase de renderizado.

También hay un nuevo Nodo Master AxF diseñado para soportar el formato de material medido X-Rite AxF. El material AxF solo es útil cuando se acopla con el importador AxF que es parte de nuestro Paquete de Unity Industry. El importador AxF se llena automáticamente con todas las configuraciones para el Material AxF.

Un nuevo Nodo Master Hair también está disponible. Se basa en el modelo de iluminación Kajiya Kay, amigable para los artistas, que presenta una mejor conservación de energía y proporciona más flexibilidad.

Se han añadido varios nuevos nodos/comportamientos específicos de HDRP. Ahora es posible muestrear el Color de Escena, incluidos mipmaps borrosos, para simular refracción o distorsión rugosa (el color solo está disponible para objetos transparentes). El nodo Profundidad de Escena también te permite acceder a la profundidad cruda, lineal (entre 0 y 1) o la profundidad del ojo. Se ha añadido una entrada de Desplazamiento de Profundidad en el Nodo Maestro Iluminado para empujar la profundidad hacia adentro o hacia afuera en la dirección del vector de vista. Esto es útil al usar el nuevo nodo Mapeo de Oclusión por Parallax para obtener sombras de las luces.

Además, todos los Nodos Maestros de HDRP ahora soportan la anulación de la GI horneada. Para habilitarlo, usa la casilla de verificación Anular GI Horneada en la configuración del Nodo Maestro. Añade dos nuevas entradas en el nodo maestro: GI horneada y GI Horneada de Fondo. Esto te permite proporcionar tu propia GI horneada para la iluminación difusa indirecta y la transmisión respectivamente; o, en combinación con el Nodo de GI Horneada, puedes modificarla. El valor predeterminado para la propiedad GI Horneada es equivalente a la salida predeterminada del nodo de GI Horneada.

Hemos realizado numerosas mejoras en la iluminación. Anteriormente, la iluminación no podía usar valores correctos del mundo real/físicos porque el rango de exposición y la precisión no lo permitían. El cálculo de iluminación ahora utiliza Pre-Exposición. Esto significa que la exposición no se aplica al final del fotograma durante el post-procesamiento, sino que se aplica a la iluminación misma, lo que mejora enormemente la precisión y permite valores altos para la intensidad de la luz, como para el sol. Además, el Cielo, Emisivo y algunas Luces ahora utilizan unidades EV100 en lugar de EV, que es la unidad que se usa generalmente para valores de referencia en gráficos de iluminación. Como esta es la mayor discrepancia de iluminación con 2018.3, actualizar tu proyecto a esta versión significa que puede que tengas que ajustar algunas intensidades de luz. Las propiedades emisivas en ambos Shader Lit/Unlit y el nodo Master Lit/Unlit se han mejorado para soportar EV100 o unidad de Luminancia, con un control adicional de Exposición Peso y nodo de Emisión. Este control te permite forzar a un objeto a brillar incluso cuando está correctamente expuesto (por ejemplo, para permitir que brille incluso en plena luz del día).

Las luces de área rectangulares se han mejorado para soportar cookie y sombras de área aproximadas. Esta es una característica "costosa" y debe usarse principalmente para modo de alta calidad o cinemáticas. Se ha añadido soporte de máscara de sombra, proporcionando sombras suaves horneadas de alta calidad mientras se mantiene el brillo especular.

La GPU ahora hornea Probes de Reflexión, lo que acelera el horneado. Además, los Probes de Reflexión están integrados con el flujo de trabajo de iluminación para agilizar el proceso de horneado de Probes de Reflexión, permitiéndote hornear todos los Probes de Reflexión cargados desde la ventana de iluminación.
Se ha añadido soporte para reflexión planar en tiempo real. Durante la reproducción, HDRP solo renderiza Reflexiones en tiempo real y Probes Planar visibles, que ahora tienen controles individuales en FrameSettings tanto para renderizado en tiempo real como fuera de línea.
En 2019.1, integramos el post-procesamiento directamente en HDRP e incluimos un conjunto personalizado de efectos de post-procesamiento basados en shaders de cómputo especialmente diseñados con rendimiento y calidad en mente para plataformas de consola y escritorio de alta gama. Este nuevo conjunto de herramientas de post-procesamiento es compatible con el sistema RT Handle y soporta las características de resolución dinámica. Ten en cuenta que la nueva configuración de post-procesamiento no es compatible con Post-Processing Stack V2 (PPv2), lo que significa que debes volver a autorizar todo el post-procesamiento cuando actualices a 2019.1. También significa que HDRP ya no soporta PPv2. El anti-aliasing de post-procesamiento, que viene con FXAA, SMAA, anti-aliasing temporal y dithering de 8 bits, ayuda a suavizar los gradientes y eliminar el banding de color de 8 bits. Los configuras directamente en la cámara. La aberración cromática, la distorsión de lente y el viñeteado son los mismos que en PPv2. El grano de película ha sido reestructurado para usar texturas de búsqueda de grano en lugar de ruido procedural. También añadimos un nuevo efecto de Proyección Panini.
efecto de Proyección Panini. Bloom ahora utiliza un umbral basado en el valor pre-expuesto. Esto significa que solo los objetos que están sobreexpuestos brillarán en lugar de los objetos que están por encima de una intensidad específica. Corrección de Color tiene una versión mejorada del modo “HDR Grading” de PPv2. El gran panel de corrección de color se ha dividido en componentes de volumen separados para reducir el desorden en el Inspector. Profundidad de Campo ha sido completamente reestructurado y ahora proporciona control paramétrico de la forma de apertura, permitiéndote configurar fácilmente el número de aspas, su curvatura, el recorte del barril y la anamorfosis. El efecto ahora es independiente de la resolución. Desenfoque de Movimiento también ha sido completamente reestructurado para mejorar la calidad y el rendimiento. Esto incluye modificaciones algorítmicas novedosas que permiten desenfoques más precisos y amplios, mientras reducen los artefactos.


En 2019.1, ahora puedes acceder a los buffers de profundidad y normal desde HDRP. Además, los efectos visuales pueden acceder a los buffers de renderizado internos de HDRP, como profundidad o color para la cámara principal y usarlos como texturas de entrada durante la pasada de simulación. Esto te permite configurar fácilmente características como colisión de buffer de profundidad y morfología de escena con partículas.
El Visual Effect Graph es un sistema basado en nodos fácil de usar y flexible, inspirado en las herramientas líderes para VFX en cine. Te permite crear efectos impresionantes para juegos y otro contenido creativo rápidamente. En 2019.1, añadimos varias mejoras y nuevas características, así como produjimos varios ejemplos para ayudarte a comenzar a crear efectos visuales de próxima generación. Una nueva característica de Precalentamiento te permite pre-simular una parte de un efecto hasta un cierto tiempo, para que esté en su estado completamente desarrollado. Esto se puede usar para crear efectos como una pila de humo que se ha acumulado con el tiempo. También actualizamos las Probes de Luz y Volúmenes Proxy de Probes de Luz. Las funciones de ruido han mejorado con ruidos perlin (ruidos de valor y celulares, y sus variaciones de curl). Los operadores de tiempo de aparición y conteo de aparición ahora te permiten contar el número de partículas generadas a la vez en el fotograma anterior.
Ahora tenemos soporte nativo para plugins de renderizado para Vulkan. Ver documentación para más información y nuestros ejemplos.
El Lightmapper de GPU ahora está en Vista Previa, con funcionalidad adicional y soporte de plataforma. Está habilitado en macOS y Linux y soporta banderas de GI de doble cara en materiales, así como proyección y recepción de sombras en mallas.

El Lightmapper de GPU ahora utiliza la misma GPU que el Editor por defecto para asegurar que se use la GPU dedicada de alto rendimiento. Si es necesario, puedes cambiar a una GPU diferente usando la línea de comandos; consulta la documentación para más detalles.

El Denoiser AI Optix es un denoiser basado en aprendizaje profundo entrenado en una biblioteca de imágenes trazadas por caminos. Es una mejora sustancial sobre las opciones de filtrado, especialmente en conteos de muestras bajos, y es resistente a fugas y desenfoques. Se puede combinar con filtros para lograr mapas de luz aún más suaves. Usar el nuevo Denoiser ayuda a reducir significativamente los conteos de muestras para lograr cocciones mucho más rápidas que las posibles anteriormente. Actualmente solo está disponible en Windows y con GPUs Nvidia compatibles.

MIS Entorno es un nuevo método para muestrear las áreas más importantes en el cubemap/HDRI. Esta técnica evita disparar un gran número de rayos de GI en el hemisferio, y en su lugar los enfoca en las áreas importantes como puntos brillantes (como el sol). Con esta función, es posible hornear escenas con mapas de entorno HDRI medidos que son altamente no uniformes. Se ha añadido un nuevo parámetro de Muestras de Entorno a la ventana de Iluminación. Este valor controla cuántos rayos se trazan directamente en el entorno por texel de lightmap.


Los Gizmos de la sonda de luz ahora se ven afectados por la corrección de exposición. Esto facilita la iteración en las sondas de luz al usar HDRP y iluminación de alta intensidad.

Con el nuevo parámetro de Limitar el Conteo de Lightmaps, puedes especificar un número máximo de lightmaps generados para un grupo específico de objetos. Esto es particularmente útil cuando estás construyendo juegos para plataformas móviles donde los recursos pueden ser limitados. GI en tiempo real: La Lectura Asíncrona elimina la necesidad de que la CPU espere a que la GPU realice una lectura. Esto puede mejorar el rendimiento y reducir los picos de CPU. Generación Automática ya no es predeterminado en nuevas escenas. También hemos añadido un enlace a la barra de estado inferior para mostrar si estás en modo de Generación Automática o no.

LookDev, una función experimental para ver activos, ha sido eliminada. Estaremos mejorándolo y volviéndolo a añadir para SRP (con soporte para LWRP y HDRP), más adelante este año.
El Editor de Unity pospone la compilación de shaders hasta que el renderizado necesite un variante de shader particular por primera vez. Sin embargo, esto podría causar bloqueos en el Editor porque el tiempo de ida y vuelta del compilador de shaders puede llevar un tiempo significativo. La nueva función de Compilación Asíncrona de Shaders elimina estos bloqueos desacoplando la compilación del renderizado y utiliza un shader dummy de color cian como reemplazo hasta que la compilación haya terminado. Esta es una función exclusiva para el editor y no afecta tu juego, sino que solo acelera tus tiempos de compilación.
Ahora puedes tener 32 influencias de hueso por vértice, y hasta 255 con API para renderizadores de malla con piel. Esto mantiene la fidelidad de los pesos de piel consistente en tiempo de ejecución con el contenido fuente en programas externos. Esto es especialmente útil para el rigging facial basado en huesos donde áreas de alto detalle, como las esquinas de la boca y los ojos, requieren más de 4 influencias de hueso. Esto también aumentará la calidad de los rigs que utilizan descomposición de suavizado de piel para que puedas lograr un resultado más suave con menos huesos.
El Importador de Sketchup ahora cuenta con una interfaz de usuario actualizada. También añadimos soporte para la importación de cámaras para todos los tipos de cámaras disponibles en Sketchup (ortográfica, perspectiva y de dos puntos). Finalmente, mejoramos el rendimiento de la pestaña de materiales de la interfaz de usuario del importador de modelos.
Las señales de la línea de tiempo ofrecen una forma sencilla para que la línea de tiempo interactúe con objetos en una escena. Usando un emisor de señales y un activo de señal, puedes activar un receptor de señales que definirá un conjunto de reacciones preconfiguradas (Eventos de Unity) a tu línea de tiempo. Los emisores de señales se utilizan para activar un cambio en el estado de la escena cuando la línea de tiempo pasa un punto dado en el tiempo.
Elegimos la palabra "señales" en lugar de "eventos" porque "señales" apoya la idea de "difusión"; también evita confusiones con los Eventos de Unity y los Eventos de Animación existentes.
También hemos introducido "marcadores" para los usuarios que están interesados en crear fotogramas clave personalizados con comportamientos específicos. Puedes usar marcadores para agregar y manipular objetos en una línea de tiempo de la misma manera que clips: seleccionar, copiar-pegar, modos de edición, etc. Los marcadores también tienen especializaciones, al igual que los clips de animación, clips de activación, clips de control, etc. Consulta este foro para aprender a crear tus propios marcadores personalizados.
Hemos añadido varias mejoras de audio a la línea de tiempo. Por ejemplo, ahora puedes controlar/establecer claves para una pista de audio individual mientras trabajas en una edición de la línea de tiempo. Ahora también tienes controles simples de volumen y paneo en una pista, así como animación de Volumen y Paneo por pista.

Esta versión introduce soporte para el códec de vídeo H.265. Esto te permite reproducir películas H.265 y transcodificar otros formatos de vídeo compatibles al formato de códec H.265.
H.265, o Codificación de Vídeo de Alta Eficiencia (HEVC), es un estándar de compresión de vídeo que es el sucesor de la Codificación de Vídeo Avanzada (H.264). En comparación con H.264, H.265 proporciona mejor calidad a la misma tasa de bits.
SRP ahora es totalmente compatible en nuestro Reproductor de Vídeo y Grabadora de Vídeo. Esto permite que el Reproductor de Vídeo reproduzca vídeos al renderizar a través de HDRP o LWRP. Además, la Grabadora de Vídeo se actualizó para manejar la entrada de cámaras cuando usas SRP. En el proceso de añadir soporte a SRP en el Reproductor de Vídeo, también solucionamos algunos errores importantes que afectaban los modos de renderizado de la cámara (plano lejano/cercano) y también arreglamos el soporte para vídeo 360 (estéreo).
Puedes usar los controles de SceneVis de Unity para ocultar y mostrar rápidamente objetos en la vista de escena, sin cambiar la visibilidad de los objetos en el juego. A medida que una escena se vuelve más detallada, a menudo ayuda ocultar temporalmente objetos específicos; el nuevo modo Aislar te permite ver y editar sin obstrucciones. SceneVis habilita esta funcionalidad a través de herramientas de jerarquía y atajos de teclado, además de un interruptor en la barra de herramientas que te permite habilitar o deshabilitar rápidamente los efectos.
El paquete Sprite Shape presenta muchas mejoras. Por ejemplo, puedes hacer que el colisionador 2D final de Sprite Shape se asemeje más a la representación visual del sprite, permitiéndote agregar colisionadores de polígonos y bordes que se ajusten más al Sprite Shape Renderer.
También agregamos tangentes continuas no reflejadas para los puntos de control de forma, lo que te permite crear formas curvas para ayudarte a lograr más precisamente el aspecto deseado.

Cuando usas el nuevo paquete de animación 2D (v2.1, accesible a través del Administrador de Paquetes), notarás un aumento en el rendimiento al esqueletar un sprite en el Editor y también en tiempo de ejecución, porque está construido con el Sistema de Trabajo de C# y el Compilador Burst. Esta actualización también mejora el rendimiento cuando tienes varios personajes en la pantalla que están animados usando esta herramienta.
Nota: Esta versión no es compatible hacia atrás con 2018.3. Para proyectos que utilizan Unity 2018.3, por favor continúa usando el paquete de animación 2D v2.0.
Todas las consultas de física 2D ahora te permiten proporcionar un búfer de resultados como una "Lista" de .Net, cuando anteriormente necesitabas un arreglo. Esto tiene la misma ventaja que el arreglo, en que no se asigna memoria si la capacidad de la lista es lo suficientemente grande para contener los resultados de la consulta. Proporciona la ventaja adicional de que la capacidad de la lista aumentará automáticamente (con la asignación de memoria asociada) para asegurarse de que puede contener todos los resultados de la consulta mientras solo asigna la memoria requerida. Si reutilizas la misma lista, las asignaciones se mantendrán al mínimo y/o eventualmente no ocurrirán más asignaciones.
Las versiones de Unity comprenden un flujo TECH y un flujo de Soporte a Largo Plazo (LTS).
El flujo TECH, que incluye todas las últimas características, tiene tres lanzamientos importantes al año. Las versiones de TECH de este año son 2019.1, 2019.2 y 2019.3, cada una de las cuales agrega nuevas características y funcionalidades.

2018.3 fue la última en el ciclo de la versión 2018.x de TECH, y con esta versión, se convierte en parte de la versión LTS con un nuevo número de versión (2018.4). Este es el punto en el que comienza el calendario de soporte de dos años.
A diferencia de la versión de TECH, la versión LTS no tendrá nuevas características, cambios de API ni mejoras. En su lugar, abordará los errores fatales, las regresiones y los problemas que afectan a la comunidad en general, los SDK/XDK de consolas, o cualquier problema importante que impida que un gran número de desarrolladores publiquen sus juegos.
Hay una versión semanal de TECH con correcciones de errores, mientras que hay una versión quincenal de LTS con correcciones de errores. La versión LTS es para desarrolladores que desean continuar desarrollando y publicando sus juegos/contenido en una versión estable durante un período prolongado. La versión de TECH, por otro lado, es para desarrolladores que quieren usar las últimas características y tener acceso a las últimas capacidades de Unity.
Primero que nada, un agradecimiento especial a nuestra comunidad beta por usar todas las nuevas características y proporcionar excelentes comentarios, lo que nos ayudó a finalizar y lanzar 2019.1.
Si aún no eres un probador beta, considera convertirte en uno. Tendrás acceso anticipado a las últimas nuevas características y podrás asegurarte de que tu proyecto sea compatible con la nueva versión. También puedes ayudar a influir en el futuro de Unity compartiendo tus comentarios con nuestros equipos de I+D en nuestros foros o en persona. Además, tendrás la oportunidad de recibir invitaciones a eventos de Unity y ganar artículos exclusivos.
Comienza descargando nuestra última alfa o beta y echa un vistazo a esta guía sobre cómo ser un probador beta efectivo. Si deseas recibir correos electrónicos ocasionales con noticias beta, actualizaciones y consejos y trucos, regístrate aquí.
La versión completa incluye casi 300 nuevas características y mejoras, demasiadas para mencionarlas aquí. Siempre puedes encontrar la lista completa de nuevas características, mejoras y correcciones en las notas de la versión.
