Apresentando o Unity 2019.1

O primeiro lançamento do TECH Stream do ano – Unity 2019.1 – já está disponível. Ele inclui muitos novos recursos prontos para produção, como o Burst Compiler, o Lightweight Render Pipeline (LWRP) e o Shader Graph. Além disso, há inúmeras inovações para animadores, desenvolvedores móveis e especialistas em gráficos, e várias atualizações que simplificam os fluxos de trabalho de projetos e as tarefas do Editor.
Nas próximas semanas, também lançaremos a versão de Suporte de Longo Prazo (LTS) 2018.4 do Unity para aqueles de vocês com projetos prestes a serem lançados e que desejam fixar sua produção em uma base sólida por um período prolongado.
O Unity 2019.1 vem com mais de 283 novos recursos e melhorias. No início desta postagem, você encontrará um resumo, seguido por uma análise detalhada, das principais novas características. Se você está ansioso para instalar e começar a usar o Unity 2019.1, considere iniciar o download (clique no botão abaixo ou acesse via Unity Hub) enquanto lê esta postagem.
No Unity 2018.1, introduzimos o Scriptable Render Pipeline (SRP) e o Shader Graph em visualização. Com o Unity 2019.1, removemos o rótulo de Pré-visualização e recomendamos o LWRP e o Shader Graph para produção. O Unity 2019.1 também traz aos artistas funcionalidades adicionais e suporte a plataformas para o GPU Lightmapper (Pré-visualização) e uma longa lista de melhorias para o High-Definition Render Pipeline (HDRP, Pré-visualização) e o Post-Processing Stack (Pré-visualização).
O herege, um novo curta-metragem da premiada equipe de demonstrações da Unity, estreou na GDC. A demonstração é construída na Unity 2019.1 e utiliza a arquitetura do Unity’s Scriptable Render Pipeline (SRP) . Usando a versão mais recente do High-Definition Render Pipeline (HDRP) do Unity com seu Post-Processing Stack integrado, a equipe alcançou uma aparência cinematográfica que emula de perto o funcionamento de câmeras físicas – e renderiza em tempo real.
Continuamos a expandir nosso foco em ferramentas para artistas. Nesta versão, estamos introduzindo o rigging de animação em tempo de execução, que oferece maior controle artístico de suas animações. Também fizemos melhorias em nossas ferramentas de áudio, vídeo, DCC e construção de mundos. Por fim, o Timeline agora é um pacote validado, e o novo recurso Timeline Signals oferece uma maneira fácil de o Timeline interagir com objetos na cena.
Esta versão traz uma série de melhorias para dispositivos móveis, incluindo a capacidade de corrigir o pacote do aplicativo em vez de reconstruí-lo. Isso permite que você realize iterações mais rápidas durante o desenvolvimento. Também estamos introduzindo Desempenho Adaptativo Móvel (Pré-visualização), que fornece dados sobre tendências térmicas, incluindo informações sobre se seu jogo está vinculado à CPU ou à GPU em tempo de execução, e melhorias de depuração e fluxo de trabalho para o desenvolvimento de jogos móveis em geral. Por fim, o Unity Editor para Linux agora está em Pré-visualização.
Continuamos nosso progresso construindo o multithreading de alto desempenho Pilha de tecnologia orientada a dados (DOTS) com nosso compilador Burst saindo da visualização preliminar na versão 2019.1. Você também encontrará uma variedade de outras ferramentas relacionadas ao DOTS que tornaram possível criar o enorme Democracia Megacity, que agora está disponível para baixe aqui.
Em apenas dois meses, nossa equipe DOTS e dois artistas de nosso grupo FPS Sample produziram essa cidade futurista.
Também estamos introduzindo uma solução de física completa para projetos baseados em DOTS no Unity, desenvolvida em colaboração com a Havok. Fizemos outras melhorias, incluindo links de rastreamento de pilha clicáveis que o levam à linha do código-fonte de qualquer chamada de função listada na pilha, uma ferramenta de pesquisa baseada em texto para filtrar as entradas do console e estamos introduzindo o novo Coletor de Lixo Incremental como uma alternativa experimental ao Coletor de Lixo existente.
Adoramos um ótimo desempenho em tempo de execução, mas um alto desempenho é igualmente importante quando você está trabalhando no Editor, então continuamos a nos concentrar em melhorar o fluxo de trabalho. Com o Gerenciador de Atalhos, estamos introduzindo uma interface visual interativa e um conjunto de APIs para facilitar o gerenciamento de teclas de atalho do Editor, atribuí-las a diferentes contextos e visualizar as vinculações existentes em uma interface. Com os novos controles do SceneVis, agora você pode ocultar e exibir rapidamente objetos na Visualização de Cena, sem alterar a visibilidade do objeto no jogo. Agora você também pode usar Elementos da Interface do Usuário para estender o Editor.
As versões do Unity compreendem um fluxo TECH e um fluxo de Suporte de Longo Prazo (LTS). Em 2019, teremos três lançamentos do fluxo TECH: 2019.1, 2019.2 (verão) e 2019.3 (final do outono). A versão 2019.1 é o início do novo fluxo TECH e oferece acesso às funcionalidades mais recentes.
A versão LTS não tem novas funcionalidades, alterações na API ou melhorias. É simplesmente uma continuação do fluxo TECH de 2018, com atualizações e correções. É por isso que a chamamos de 2018.4, enquanto o fluxo TECH deste ano começa com a 2019.1. O fluxo LTS é para utilizadores que pretendem continuar a desenvolver e a lançar os seus jogos/conteúdos e a manter-se numa versão estável durante um período prolongado. Aborda falhas, regressões e problemas que afetam a comunidade em geral, como problemas de suporte empresarial, problemas de SDK/XDK de consola ou quaisquer alterações importantes que impeçam um grande número de utilizadores de lançar o seu jogo. Cada fluxo LTS será suportado durante um período de dois anos.
A 2018-LTS está atualmente a ser testada e espera-se que seja lançada nas próximas semanas após a 2019.1.0.
Saiba mais sobre qual fluxo de lançamento é a solução certa para si no nosso post do blog.
Notificações Móveis (Pacote de Pré-visualização}
Desempenho Adaptativo (Samsung)
SDK e NDK do Android instalados com o Unity Hub
Integração com o Android Logcat (Pré-visualização)
Iteração mais rápida com a correção de compilação apenas de scripts no Android
Exemplos de AR para dispositivos portáteis
Editor Linux (Pré-visualização)
Melhorias no processamento assíncrono
Cadeia de buffers de comando e concatenação no PlayStation 4
Suporte à plataforma universal do Windows ARM64
Caixa de diálogo de resolução de exibição (também conhecida como seletor de tela)
Pilha de tecnologia orientada a dados (DOTS)
Compilador Burst fora da pré-visualização
Novo mecanismo de renderização/mixagem de áudio (experimental)
Sistema de física baseado em DOTS
Melhorias na física de várias cenas
Analisador de perfil (visualização preliminar)
Coleta de lixo incremental (experimental)
Edição de ativos de pré-fabricados no Inspector
Melhorias no Console do Editor
Pesquisa rápida (Pacote de visualização)
Rigging de animação (Pacote de visualização)
Unity Hub 2.0 (beta) já disponível
Atualizações do Gerenciador de pacotes
Elementos da interface do usuário
Suporte ao sistema de tarefas C#
Pipeline de renderização leve (LWRP)
Pipeline de renderização de alta definição (HDRP - Visualização)
Suporte aprimorado à plataforma
VR de largura dupla agora disponível
Melhoria na interface do usuário e suporte à câmera
Melhorias no modo de depuração
Assistente de Pipeline de Renderização
Novo suporte a shaders e Shader Graph
Melhoria na qualidade e controle da iluminação
Melhorias no sistema de reflexões
Suporte a reflexões planas em tempo real
Integração nativa de Pós-processamento no HDRP
Melhorias no Visual Effect Graph (Visualização)
Suporte nativo ao plugin de renderização para Vulkan
GPU Lightmapper (Visualização)
Suporte adicionado ao Optix AI Denoiser
Amostragem de Importância Múltipla para Ambiente (MIS Environment)
Outras melhorias de iluminação
Compilação Assíncrona de Shaders no Editor
Pesos de pele de alta influência
Melhorias no Importador do Sketchup
Melhorias no áudio da Timeline
Suporte completo ao SRP para gravador/reprodutor de vídeo
Ferramentas de Visibilidade de Cena
O pacote de pré-visualização de Notificações Móveis ajuda você a implementar mecânicas de retenção e jogabilidade baseada em temporizador, adicionando suporte para agendamento de notificações locais repetitivas ou únicas no iOS (a partir do iOS 10) e Android (4.1 e superior). Está disponível como um pacote e você pode encontrar mais informações aqui.
A versão de visualização do Desempenho Adaptativo já está disponível para o Unity 2019.1.
Um dos maiores desafios para os desenvolvedores de jogos para dispositivos móveis é criar jogos que sejam bonitos e funcionem bem, mas que não sobrecarreguem o hardware, o que leva à redução de desempenho (desempenho ruim e inconsistente) e à redução da vida útil da bateria. A extensão da vida útil da bateria/redução do calor pode permitir que os jogadores joguem por mais tempo, o que melhora a retenção de usuários e, em última análise, torna os jogos mais bem-sucedidos. Ao contrário de um PC ou console, utilizar o hardware móvel requer um equilíbrio delicado; utilizar totalmente as capacidades de um dispositivo compromete rapidamente o desempenho.
Para resolver esses problemas, fizemos uma parceria com a Samsung – com base no GameSDK deles – para criar o Desempenho Adaptativo, que está disponível para você otimizar projetos para o Galaxy S10 e Galaxy Fold.
Leia mais sobre Desempenho Adaptativo aqui.
O Hub agora permite que você instale todos os componentes necessários para o Android como parte da opção de Suporte de Compilação para Android, para que você tenha certeza de obter as dependências corretas e não precise instalar mais nada. Se você é um usuário avançado do Android, ainda pode instalar e configurar componentes manualmente e usar o Android Studio. Além disso, observe que, a partir da versão 2018.3, o Suporte de Compilação para Android vem com seu próprio Runtime Java baseado no OpenJDK.

Pacote do Android Logcat é um utilitário compatível com o Unity 2019.1 para exibir mensagens de log provenientes de dispositivos Android no Editor do Unity, facilitando a depuração ao controlar e filtrar mensagens diretamente no Unity.

Para realizar iterações mais rápidas durante o desenvolvimento, você pode usar o Opção de compilação apenas para scripts no Editor. Isso permite que você pule várias etapas do processo de compilação e recompila apenas os scripts, em seguida, compila o pacote final e faz a implantação quando você seleciona Compilar e Executar.
Nós expandimos esse recurso para que ele permita corrigir o pacote do aplicativo (APK, apenas para Android) nos dispositivos de destino, em vez de recompilá-lo e reimplantá-lo. Então, quando você está fazendo iterações no seu código C#, apenas as bibliotecas recompiladas são enviadas para o dispositivo. Observe que uma compilação completa do projeto deve estar disponível antes que o Unity possa executar uma Compilação apenas de scripts.

AR Foundation permite que os desenvolvedores do Unity comecem rapidamente a criar projetos de RA. Você escolhe quais recursos incluir em suas experiências, construindo apenas uma vez para implantar em dispositivos ARKit e ARCore. Disponível em Pré-visualização no Package Manager, ele envolve as APIs de baixo nível do ARKit e ARCore em um framework coeso que também inclui recursos adicionais para ajudar os desenvolvedores a superar os maiores desafios de desenvolvimento de RA.
Esse recurso permite que você passe dados entre um dispositivo e o Editor, para que você não precise compilar para o dispositivo toda vez que quiser testar a funcionalidade. Ele inclui Gravação e reprodução de sessões, que permite gravar sessões no dispositivo e reproduzi-las no Editor para criar testes robustos do seu aplicativo ou iterar em visualizações.
Disponível no GitHub, esta coleção de cenas, pré-fabricados e componentes auxiliares é construída na AR Foundation para demonstrar como você pode fazer visualização de planos, colocação de objetos e muito mais. Ele também inclui um exemplo de como usar LWRP com AR Foundation. Ele contém todas as peças fundamentais que você precisa para começar a construir, para que você possa colocar seus projetos de RA em funcionamento rapidamente.
Suporte ao LWRP para RA e VR
O suporte da AR Foundation ao LWRP está disponível como um pacote de visualização, permitindo que você use o LWRP para experiências de RA. Além disso, com este lançamento e no pacote LWRP verificado mais recente, você pode agora aproveitar o Shader Graph, bem como as otimizações de desempenho do LWRP, para criar experiências de VR para todas as plataformas de VR que o Unity suporta oficialmente. Saiba mais sobre nossas atualizações para LWRP na seção Gráficos.
Modo de renderização estéreo de fallback
Quando a instanciamento estéreo não é suportado no dispositivo de destino, a renderização estéreo retorna automaticamente para a renderização de um único passe (de largura dupla). Agora você pode usar com segurança o modo de renderização de instanciamento estéreo mais eficiente sem se preocupar com a possibilidade de a API gráfica de um dispositivo específico não oferecer suporte a ele. Com versões anteriores, o modo de renderização estéreo voltaria ao renderização em várias etapas.
Suporte a pós-processamento para instanciamento estéreo
Incluído nesta versão e no pacote de pós-processamento mais recente, todos os efeitos de pós-processamento viáveis para VR agora funcionam com o modo de renderização de instanciamento estéreo.
Suporte integrado ao Magic Leap (Lumin OS)
O suporte para a criação de Magic Leap One agora está incluído nesta versão. Isso significa que, em vez de ter que usar uma versão especial de pré-visualização técnica do Unity para o desenvolvimento do Magic Leap, você pode usar esta versão do Unity.
Com esta versão, o WebAssembly é o formato de saída padrão para o Unity WebGL. Além disso, o asm.js foi removido da interface do usuário do Editor, que foi desativado em 2018.3. Para refletir essas alterações, a opção de compilação Use PreBuilt Engine específica para asm.js não está mais disponível. As configurações do Player WebGL também foram atualizadas: Linker Target e Memory Size estão definidos como WebGLLinkerTarget.Wasm e 32MB, respectivamente, e foram removidos da interface do usuário do Editor. No entanto, ainda é possível modificar essas configurações por meio do script do Editor.
Nesta versão, também introduzimos o multithreading experimental do WebAssembly, que pode ser ativado por meio de PlayerSettings.WebGL.threadsSupport. Veja isso postagem do fórum para obter mais informações.
O Editor do Unity para Linux agora está em Pré-visualização. Você pode obter as versões mais recentes a partir de o Unity Hub. Ainda há alguns problemas, mas você continuará a ver melhorias ao longo do tempo. Levar o Editor do Unity para Linux de experimental para Pré-visualização significa que agora estamos no caminho para uma versão totalmente suportada até o final do ano. Estamos priorizando o suporte para a seguinte lista de configurações:
- Ubuntu 16.04, 18.04
- CentOS 7
- arquitetura x86-64
- ambiente de desktop Gnome em execução no sistema de janelas X11
- driver gráfico proprietário oficial da Nvidia e driver gráfico AMD Mesa
- fator de forma de desktop, em execução em dispositivos/hardware sem emulação ou camada de compatibilidade
Recomendamos que você use uma das configurações compatíveis acima para a melhor experiência de desenvolvimento.
Introduzimos algumas melhorias ao nosso suporte para Computação Assíncrona para Consoles. Agora permitimos que uma gama maior de funções de script de Buffer de Comando seja válida para Buffers de Comando direcionados a filas de computação assíncrona (por exemplo, funções que definem dados de shader globais ou gerenciam alvos de renderização temporários). Também melhoramos o tratamento de erros para Buffers de Comando direcionados a filas de computação assíncrona, fornecendo feedback imediato se funções de script de Buffer de Comando inválidas forem usadas; isso facilita a depuração para você.
Com a cadeia e concatenação de buffers de comando, otimizamos a forma como o trabalho é enviado para a GPU, especificamente para trabalhos gráficos nativos onde o método anterior gerava uma pequena sobrecarga na GPU.
Adicionamos suporte a dispositivos ARM64 para UWP. Basta escolher ARM64 como arquitetura de destino e implantar em laptops ARM64 baseados em Windows.
Com base em dados de usuários e pesquisas com clientes, a caixa de diálogo de resolução de exibição está "desativada" por padrão a partir desta versão. Você ainda pode ativá-la por meio do menu suspenso da caixa de diálogo de resolução de exibição nas configurações do projeto. Você encontrará isso em Player, Resolution and Presentation, no grupo Standalone Player Options. Mais informações sobre a evolução da caixa de diálogo de resolução de exibição serão compartilhadas em breve.
Na versão 2018.1, introduzimos o Compilador Burst, uma nova tecnologia de compilador de back-end baseada em LLVM que utiliza trabalhos do C# e produz código de máquina altamente otimizado para a sua plataforma de destino. Com esta versão, ele saiu da pré-visualização e está disponível para produção.
Com o Compilador Burst, você não precisa fazer o trabalho árduo de codificação de baixo nível para obter os ganhos de desempenho que vêm com linguagens de montagem ajustadas manualmente. Você pode continuar a escrever seu código em C#.

O DSPGraph é o novo mecanismo de renderização/mixagem de áudio, construído com base no sistema de tarefas C# do Unity. É totalmente extensível em C# e pode ser usado com o compilador Burst. No projeto Megacity, ele alimenta 100.000 emissores de som 3D/espacial espalhados de forma única, incluindo letreiros de néon, ventiladores de ar condicionado e carros, produzindo uma paisagem sonora rica e realista.
Observe que o DSPGraph é uma API experimental interna que estamos planejando aprimorar e publicar como um pacote de visualização ainda este ano. Esta será a base do futuro sistema de áudio da Pilha de Tecnologia Orientada a Dados (entre outros). Por favor, junte-se a nós no novo Data-Oriented Technology Stack fórum de áudio se você tem explorado o DSPGraph no contexto do nosso projeto Megacity. É o lugar perfeito para fazer perguntas ou compartilhar suas necessidades de áudio conosco.
As Sub Scenes fazem parte da caixa de ferramentas criada para o Megacity projeto. Esse recurso preenche a lacuna entre GameObjects e DOTS, utilizando cenas de GameObject como um mecanismo de agrupamento para a conversão em lote de GameObjects para entidades.
As Sub Scenes são especialmente úteis quando você trabalha em projetos de grande escala como Megacity, onde milhões de GameObjects são convertidos em entidades. Como você só precisa trabalhar em um número limitado de Sub Scenes de cada vez, seu projeto fica muito mais gerenciável e com melhor desempenho no Editor. Referimo-nos a isso como um fluxo de trabalho “híbrido”.

Além de melhorar o fluxo de trabalho do Editor, você também pode usar as Sub Scenes convertidas como unidades de streaming. Elas podem ser carregadas e descarregadas durante o jogo e também são carregadas de forma assíncrona no Editor.
Você pode converter um grupo de GameObjects em entidades adicionando o componente SubScene a um GameObject raiz. Quando você quiser editar os GameObjects em uma Sub Scene, basta abri-la e fazer as alterações. O grupo de GameObjects é convertido automaticamente para entidades quando você termina de editar e quando fecha o GameObject SubScene.
As alterações feitas nos GameObjects em uma Sub Scene não afetam a cena raiz, facilitando a colaboração de vários membros da equipe em SubScenes separadas simultaneamente.
O recurso de Subcenas faz parte do pacote Entities, que você pode encontrar no Package Manager. O recurso atualmente é experimental e sem documentação, então use-o com cautela.
Em apenas dois meses, nossa equipe ECS e dois artistas de nosso grupo de Amostra FPS produziram Megacity, uma cidade futurista cheia de veículos voadores, centenas de milhares de objetos de jogo altamente detalhados e fontes de áudio únicas. Eles aproveitaram a Data-Oriented Technology Stack (DOTS), o nome de todos os projetos sob o banner Performance by Default, incluindo o Entity Component System (ECS), o C# Job System e o Burst Compiler.
Megacity mostra como DOTS pode ser usado hoje para produções complexas, começando com o Unity 2019.1, e o Novos fluxos de trabalho de Prefab, que foram introduzidos no Unity 2018.3. A demo é agora disponível para download para que você possa começar a explorar as oportunidades que o DOTS oferece para seus futuros projetos.
Se você está interessado em aprender como alguns desenvolvedores da Nordeus assumiram a demonstração Megacity para mostrar como você pode usar DOTS e LWRP para escalar facilmente um projeto de PC de alta resolução para plataformas móveis. Você pode baixar o projeto completo aqui.

Na GDC 2019, anunciamos nossa parceria com a Havok para criar uma solução completa para projetos baseados em DOTS no Unity. Se o seu projeto usa a nova estrutura DOTS, o Unity Physics (Preview) é o seu sistema de física padrão. Este sistema é escrito usando a estrutura DOTS em C# e utiliza o compilador Burst e o sistema de tarefas C# para oferecer simulações de alto desempenho. Ao usar um design sem estado, sem caches, o solucionador é muito mais simples, permitindo que construamos um sistema de física mais amigável à rede que pode ser facilmente estendido, ajustado e modificado para atender às suas necessidades de produção. O Unity Physics está disponível para o Unity 2019.1 por meio do Package Manager.
Em junho de 2019, também ofereceremos o pacote Havok Physics como uma integração para projetos baseados em DOTS com necessidades muito complexas de simulação física. Ele usa a mesma estrutura DOTS em C# que o Unity Physics, mas é suportado pelo motor de física proprietário e de código fechado Havok Physics, escrito em C++ nativo. Criamos tanto o Unity Physics quanto o Havok Physics para usar o mesmo protocolo de dados, o que significa que você pode criar seu conteúdo e código de jogo uma vez e esses dados são compartilhados entre ambos os sistemas. Isso permitirá que você alterne perfeitamente entre ambas as soluções de física baseadas em DOTS ou até mesmo as use ao mesmo tempo no seu projeto.

Se você está usando o framework GameObject e MonoBehaviour para seus projetos, o PhysX será seu sistema de física padrão. Isso não mudará, e continuaremos a oferecer suporte e avaliar as atualizações do PhysX no Unity para projetos baseados em GameObject/MonoBehaviour.
Adicionamos várias melhorias à nossa solução PhysX para projetos que não utilizam DOTS. Por exemplo, o tecido agora pode aplicar sua própria gravidade, independente da gravidade da cena, para ajustes mais fáceis. Também atualizamos as cores da visualização de depuração da física para uma melhor experiência e consistência com as cores dos gizmos. Há uma nova seção no inspetor do componente Rigidbody que exibe informações internas úteis para depuração, como velocidades lineares e angulares, centro de massa e tensor de inércia.

A nova função Physics.GetIgnoreCollision permite verificar facilmente se os colisores fornecidos têm colisões desativadas ou não. A velocidade angular máxima padrão dos corpos foi aumentada de 7 para 50. Isso melhorará as simulações com objetos em movimento rápido, bem como a qualidade de resolução das colisões de bonecos em configurações desafiadoras. Isso permitirá que o solucionador gire os corpos mais rapidamente e, assim, satisfaça as restrições em menos iterações.
Até agora, só tínhamos suporte para raycast no contexto de várias cenas. Com esta versão, todas as consultas de cena estão agora disponíveis no contexto de várias cenas. A vista de depuração de Física também suporta cenas com várias físicas, permitindo que veja a que cena de física um objeto selecionado pertence. Também pode ver os objetos que pertencem a uma cena de física específica.
Melhorámos o desempenho em tempo de execução quando a depuração de script está ativada. Além disso, o desempenho do código gerado pelo IL2CPP foi melhorado em até 20%.
Melhorámos a integração do Unity Profiler com perfiladores externos. A compilação de desenvolvimento do Unity agora gera marcadores para Android Systrace, permitindo que você visualize as seções nomeadas de eventos do Unity na ferramenta de rastreamento de todo o sistema Android Systrace. Pode então analisar o seu jogo no contexto da atividade do sistema operativo, como agendamento, estado da CPU e outros processos em execução no sistema. O suporte nativo ao Systrace, anteriormente um plugin, agora faz parte do Unity 2019.1. Todos os threads gerenciados agora são visíveis nos backends de script Mono e IL2CPP, e todos os threads nativos do Unity são exibidos. A atividade nos threads é exibida na visualização Timeline da janela do Profiler, e também registramos automaticamente todos os threads com o Profiler. Além disso, aumentamos o valor padrão para o uso de memória permitido para o Profiler para 4 MB em Players e 64 MB no Editor. Isso permite que você acumule mais dados antes de transmiti-los para o disco ou rede e reduz a sobrecarga. Você também pode controlá-lo com os argumentos da linha de comando “-profiler-maxusedmemory”. Por fim, adicionamos a API UnityEditor.Profiling.HierarchyFrameDataView que permite percorrer rapidamente os dados de perfil da CPU para todos os threads e obter todas as informações disponíveis na visualização Hierarchy da janela do Profiler, juntamente com todos os metadados relevantes (por exemplo, pilhas de chamadas GC.Alloc).
O Analisador de Perfil é um novo pacote de perfil disponível em Pré-visualização. Ele complementa a análise de um único quadro do Unity Profiler, adicionando a capacidade de analisar vários quadros de uma só vez. Isso é útil quando é importante ter uma visão mais ampla do seu desempenho, como ao fazer upgrade das versões do Unity, testar os benefícios da otimização ou acompanhar o desempenho como parte do seu ciclo de desenvolvimento. Ele analisa os dados de quadros e marcadores da CPU que são extraídos do conjunto ativo de quadros atualmente carregados no Unity Profiler ou carregados de uma sessão do Profile Analyzer salva anteriormente. Os dados de quadros e marcadores da CPU analisados são resumidos e transformados em gráficos usando histogramas e gráficos de bigodes e caixas, que complementam uma lista classificável de atividades para cada marcador, incluindo o mínimo, máximo, média, contagem de instâncias, intervalo e em qual quadro o marcador apareceu pela primeira vez.


Nesta versão, estamos introduzindo o Coleta de Lixo Incremental como uma alternativa experimental para o Coleta de Lixo existente (GC). O Coleta de Lixo Incremental é capaz de dividir seu trabalho em várias fatias. Isso significa que, em vez de uma interrupção prolongada do seu programa, o Coleta de Lixo Incremental fará várias interrupções muito mais curtas. Embora isso não torne o GC mais rápido no geral, pode reduzir significativamente o problema dos picos de GC que interrompem a suavidade das animações no seu projeto, pois distribui a carga de trabalho em vários quadros. Para saber mais, leia nosso blog post aqui.
Os ScriptableObjects agora são recarregados durante a importação de ativos. Isso significa que, se um ScriptableObject for carregado antes de uma importação e o recurso subjacente no disco tiver sido modificado, o ScriptableObject será recarregado e terá os novos valores do recurso no disco após a importação. Antes dessa alteração, o ScriptableObject teria sido descarregado após a importação, resultando em um ScriptableObject igual a null ao ser comparado usando o operador de igualdade (==). Essa recarga ocorre apenas para ScriptableObjects e para Prefabs aninhados que já estão carregados antes de uma (re)importação. Para obter mais informações sobre o recarregamento de ScriptableObjects, você pode verificar o exemplo de código disponível aqui.
Com este lançamento, agora é possível para os desenvolvedores de pacotes dependerem condicionalmente do código C# em pacotes usando o novo recurso Define de versão no inspetor do Arquivo de Definição de Assembly.
Referências de arquivo de definição de assembly (asmdef) ausentes agora são ignoradas em vez de produzir um erro de referência ausente. Isso permite que você adicione referências a assemblies asmdef que são opcionais.
Usando os novos recursos de Definição de Versão no Inspetor de Definição de Assembly, você pode definir quais diretivas de pré-processamento de C# são definidas com base em intervalos de versão para pacotes e módulos que estão atualmente resolvidos no projeto. Isso permite que você #if seu código C# para recursos em pacotes opcionais.

Com esta versão, estamos reintroduzindo a capacidade de editar ativos de Prefab no Inspetor depois de selecionar o Prefab na vista do Projeto. Isso significa que você não precisará abrir um Prefab no Modo Prefab ou arrastá-lo para a Cena para editá-lo.
O Gerenciador de Atalhos oferece uma interface visual interativa e um conjunto de APIs para facilitar o gerenciamento das teclas de atalho do Editor, atribuí-las a diferentes contextos e visualizar as vinculações existentes. Para resolver conflitos de vinculação, agora você pode visualizar se vários comandos usam a mesma vinculação e permitir que você remapeie conforme necessário.
Você pode ver quais atalhos estão disponíveis mantendo pressionado Shift + Control. Uma lista de todas as teclas reservadas e não reservadas aparece. Você também pode armazenar teclas de atalho em perfis personalizados para que possam ser salvas, compartilhadas e migradas para outras estações de trabalho. Um novo sistema de contexto permite que você registre comandos dentro de um contexto específico para janelas do Editor. Isso permite que os desenvolvedores de ferramentas definam suas ações personalizadas e as disponibilizem como atalho. Esses atalhos podem ser definidos como contextuais para que fiquem disponíveis apenas no contexto correto. Por fim, você pode visualizar e resolver quaisquer conflitos entre atalhos. Por exemplo, se vários pacotes usarem o mesmo atalho, o Editor exibirá uma notificação e oferecerá opções para lidar com o conflito.
Atualizamos o console do Editor com links de rastreamento de pilha clicáveis que levam você à linha do código-fonte de qualquer chamada de função listada na pilha e uma ferramenta de pesquisa para filtrar as entradas do console.
A nova ferramenta de Pesquisa Rápida facilita a pesquisa em vários provedores de pesquisa (por exemplo, Ativos, Hierarquia, Configurações) no Editor. Ela também é extensível para desenvolvedores que desejam incluir seus próprios provedores de pesquisa. O recurso está atualmente em Pré-visualização. Para saber mais sobre isso, consulte os fóruns e não se esqueça de compartilhar seu feedback se você experimentar.

O novo pacote Animation Rigging oferece mais controle artístico sobre suas animações. Você pode usar um conjunto de restrições de animação predefinidas para construir manualmente uma hierarquia de controle de rig para um personagem genérico. Em tempo de execução, as restrições do rig são convertidas em uma lista de trabalhos de animação que são anexados como operações de pós-processamento ao gráfico de animação controlável. O novo pacote Animation Rigging é baseado em Animation C# jobs, que permitem configurar rigs multithread seguros que podem controlar proceduralmente deformações, simular comportamentos pseudo físicos ou movimento secundário e corrigir animações em geral.
Você pode usar a biblioteca de restrições predefinidas incluída no pacote para construir configurações de rig diferentes com propósitos distintos e, em seguida, misturá-las dinamicamente no momento apropriado durante o jogo para controlar a taxa de transmissão de animação final.
Por fim, o pacote é extensível para que você possa escrever restrições personalizadas adaptadas às suas necessidades específicas de produção. Para obter mais informações, assista ao nosso Palestra da GDC 2019. Junte-se a nós em os fóruns para discutir o pacote Animation Rigging!

A nova arquitetura de UI/UX inclui muitos recursos que ajudam na visibilidade e na pesquisa usando Classificar e Pesquisar e Revelar no Explorer/Finder. Agora você pode redimensionar a janela principal do Hub desktop, gerenciar suas licenças diretamente do Hub e instalar e executar o Hub sem ativar sua licença do Unity primeiro. Esta versão também inclui suporte para localização e internacionalização de idiomas e algumas melhorias na forma como as verificações de conectividade de rede são tratadas. Para obter mais informações, consulte nosso post no fórum.
Como agora você pode gerenciar seus projetos por meio do Unity Hub, o Launcher de projetos integrado não está mais incluído como parte do Editor. Esta é uma mudança importante na forma como você abre/cria projetos e como as licenças são gerenciadas dentro do Editor, então gostaríamos de receber seu feedback enquanto fazemos essa transição.

Observação: A interface de linha de comando do Editor não é afetada por essa mudança e continuará a funcionar como esperado para o gerenciamento de projetos e a ativação de licenças. Se você ainda não baixou/instalado, você pode obter a versão mais recente do Hub aqui. Se o Hub já estiver instalado, certifique-se de que esteja atualizado para pelo menos a versão 1.3 (iniciar/reiniciar o Hub iniciará o processo de atualização automática).
Agora você pode visualizar seus pacotes e dependências principais no Editor, instalar um pacote diretamente de um repositório do GitHub e gerenciar repositórios privados e hospedados pela Unity lado a lado. Esta versão também inclui suporte para referências de definição de Assembly (consulte a seção Version Defines). Participe da discussão no Fórum do Unity Package Manager e consulte o manual da versão 2019.1 para obter mais informações.
Este é um novo sistema de interface do usuário em modo retido que permite aos desenvolvedores criar e editar rapidamente layouts e estilos da interface do usuário. O novo sistema de interface do usuário empresta conceitos do CSS, jQuery, HTML DOM e sistema de eventos da web para facilitar a criação e otimização da interface do usuário no Unity. Ele também oferece um desempenho aprimorado e muitos novos recursos, incluindo folhas de estilo e manipulação de eventos dinâmica/contextual.
Construímos o novo sistema com desempenho e escalabilidade em mente, então ele possui uma API de C# convencional e abrangente que permite aos desenvolvedores criar, modificar e interagir com a interface do usuário. A familiar API de C#, o sistema de eventos, os formatos de importação CSS e XML facilitam a criação de interfaces de usuário. Elementos da interface do usuário substituem o IMGUI para estender e criar a interface do Editor e substituirão o uGUI para criar a interface do usuário em tempo de execução em versões futuras.
Agora você pode manipular dados de partículas usando o sistema de tarefas do C# sem precisar copiar dados de partículas entre o script e o código nativo. Para configurá-lo, crie uma estrutura de trabalho com base em IParticleSystemJob, anexe-a ao sistema de partículas usando SetJob, e ela será chamada de uma thread após a atualização de partículas nativas.
Esta versão inclui várias pequenas melhorias para partículas de malha. Por exemplo, a malha atribuída a cada partícula pode ser consultada e atribuída a partir de um script. A estrutura ParticleSystem.Particle agora contém métodos para obter/definir o índice da malha. O Custom Vertex Streams tem um novo fluxo de índice de malha, que permite enviar o índice da malha para um shader. Você pode usar isso para escrever código de shader adaptado para malhas individuais. O módulo de animação de folha de textura contém um novo modo de linha, que seleciona a linha da animação com base no índice da malha da partícula. Isso permite que você atribua animações específicas a cada malha no efeito.
Pronto para produção nesta versão, o Shader Graph é uma interface visual baseada em nós para a criação de shaders. Ele permite que os artistas personalizem facilmente a aparência das coisas sem escrever qualquer código. O Shader Graph permite que você arraste e solte nós para ver os resultados em tempo real. O feedback instantâneo também torna a depuração e o ajuste fino simples, tanto para especialistas em shaders quanto para iniciantes. Uma nova funcionalidade importante do Shader Graph são os Sub Gráficos Aninhados, que permitem criar visualmente nós personalizados. Sub Graphs também podem ser aninhados, para que você possa definir bibliotecas de conteúdo personalizadas para o seu projeto ou estúdio. Isso oferece aos artistas técnicos controle flexível e não destrutivo sobre todo o pipeline de sombreamento, o que estimula a experimentação e a criatividade. Saiba mais sobre os novos recursos do Shader Graph e os fluxos de trabalho recomendados em esta palestra da GDC 2019.
O LWRP está pronto para produção nesta versão. O LWRP é um pipeline de renderização (SRP) pré-construído otimizado para oferecer alto desempenho de renderização gráfica. É altamente configurável e permite que você controle as configurações de renderização globalmente ou em cada câmera. Ele também oferece a flexibilidade para configurar a profundidade da câmera e a textura de cor para efeitos personalizados, o que é integrado ao Shader Graph. Esta arquitetura altamente extensível plug-and-play permite que você crie passes de renderização personalizados. Você também pode substituir o renderizador para alcançar efeitos específicos. Usar o LWRP oferece flexibilidade e permite escalas de renderização entre plataformas. O código-fonte está disponível no GitHub, permitindo que você personalize ainda mais o LWRP. Na versão 2019.1, também adicionamos suporte à Escalabilidade Dinâmica, com preservação da interface do usuário, o que ajuda a manter a interface do usuário nítida ao renderizar seu jogo em dispositivos móveis com telas de alta DPI. Além disso, adicionamos suporte para SRP Batcher e várias melhorias para Shaders de Partículas, incluindo Partículas Suaves e Distorções. Há também melhorias para Shaders de Terreno, bem como para o Shader Lit assado. Também novo nesta versão é um sistema de Renderizador Personalizado que permite uma maior personalização. Além disso, adicionamos suporte preliminar para Visual Effect Graph e suporte inicial do LWRP está disponível para Shaders Unlit e limitado a plataformas com capacidade de computação.
Saiba mais sobre LWRP no Manual da Unity.
O HDRP é um Pipeline de Renderização Scriptável pré-construído e de alta fidelidade, projetado para plataformas modernas compatíveis com shaders de computação. Por design, ele oferece ferramentas para criar qualquer coisa, desde jogos até demonstrações técnicas, na mais alta resolução. Nesta versão, adicionamos vários novos recursos e melhoramos consideravelmente o fluxo de trabalho para artistas. Uma das desvantagens dessas mudanças é que alguns dados previamente criados não são compatíveis com esta versão e exigirão uma nova criação. Para ajudar você a fazer a atualização a partir de 2018.3, criamos um guia para o processo de migração. Está disponível aqui. Esta versão oferece suporte a DX11 e DX12 para PC, Metal para Mac, Vulkan para PC e Linux, Xbox One e PS4. O HDRP permanecerá em Visualização até 2019.3. Observação: Este lançamento vem com o pacote 5.7.2 do HDRP no modelo HDRP. Para aproveitar os recursos listados aqui, recomendamos que você faça upgrade para o pacote 5.12.0 ou superior após instalar o modelo.
Este lançamento inclui suporte aprimorado para Linux e APIs Vulkan, incluindo menos artefatos. Alguns artefatos permanecem, mas a experiência geral melhorou.
Double-wide é um caminho lento para VR que renderiza duas visualizações lado a lado. Uma versão instanciada de um único passe mais otimizada virá com o 2019.2. Todos os efeitos do HDRP agora são compatíveis, incluindo refração, distorção, espalhamento subsuperficial, decalques e volumétricos. Para obter detalhes sobre os recursos compatíveis, consulte este artigo.
O HDRP agora usa um formato de buffer de cor RGB111110Float em vez de ARGBHalf, resultando em uma execução de shader mais rápida e um desempenho geral aprimorado. Na versão 2019.1, agora temos um caminho rápido quando há apenas uma luz direcional e materiais simples. Para economizar tempo da CPU, os objetos de vetor de movimento não são mais renderizados duas vezes com pré-passagem de profundidade. A distorção foi otimizada com um buffer de stencil, e a remoção de variantes de sombreador foi aprimorada para reduzir o tempo de compilação. A versão 2019.1 também inclui suporte para resolução dinâmica de software, que permite renderizar o mundo em uma escala diferente da interface do usuário em todas as plataformas (o suporte para resolução dinâmica de hardware em plataformas compatíveis será disponibilizado posteriormente). Você só precisa definir sua resolução desejada por meio de um Script C#. Por fim, os materiais transparentes agora podem usar um nome de passagem de renderização de “Baixa resolução” para permitir que sejam renderizados em resolução de um quarto com qualidade visual semelhante. Isso é útil para melhorar o desempenho do overdraw de partículas grandes.

O HDRP agora vem com melhor suporte de multiedição para todos os seus elementos de interface do usuário, melhor documentação e melhores dicas de ferramenta. Ele também adiciona suporte para Multi ViewPort, que permite renderizar várias câmeras no mesmo alvo para obter renderização em tela dividida e outros comportamentos semelhantes.

As configurações de FrameSettings e de ativos do HDRP foram refatoradas para tempos de computação mais rápidos e edição mais fácil. Agora há informações sobre o impacto das configurações de ativos do HDRP na memória e nas variantes de sombreador. Suporte para o SMAA O método de anti-aliasing (SMAA 1X) foi adicionado. Ele oferece um método intermediário entre o desempenho (FXAA) e a qualidade (TAA).

O Após o pós-processamento O render pass agora está disponível para o Shader Unlit. O HDRP renderiza objetos que usam essa passagem de renderização após a passagem de pós-processamento, o que significa que o pós-processamento não os afeta. Isso é útil para renderizar a interface do usuário 3D, por exemplo.
O HDRP agora contém uma opção de depuração para congelar a câmera para o corte, mas mantém-na móvel do ponto de vista do render, permitindo que você veja o que está sendo cortado para uma determinada visualização da cena. Há também um validador de Material PBR e uma substituição de cor emissora.
Este assistente ajuda você a configurar as configurações do projeto para funcionar corretamente ao usar o HDRP. Ele destaca itens configurados incorretamente e fornece botões de correção para corrigi-los. Além disso, você pode configurar novas cenas personalizadas.

Decaque foram aprimorados com melhor controle de gizmo, suporte ao Shader Graph e suporte a Emissão para decalques opacos. O Recorder agora é suportado corretamente e permite que você grave cenas do HDRP. O Tecido O modelo de iluminação para algodão foi aprimorado para refletir o pesquisas recentes da Sony Pictures Imageworks.

Volumétrico névoa foi otimizado e está mais preciso. Também atualizamos o Gizmo para volume de densidade. Camadas de luz, que permitem que você marque luzes e objetos para que apenas objetos com as mesmas tags recebam iluminação de uma luz específica, agora são totalmente funcionais e suportam o controle de sombras corretamente. Perfil de difusão para a dispersão subsuperficial foi alterado na versão 2019.1. Anteriormente, a Lista de Perfis de Difusão em cada projeto era limitada a 16 perfis. Os perfis de difusão agora são ativos individuais que podem ser compartilhados/distribuídos e há uma limitação de 16 perfis por visualização. A lista atual de perfis usados em uma visualização é controlada com as configurações de volume. A 2019.1 migra automaticamente os dados do antigo sistema de perfil de difusão para o novo, mas não para o Shader Graph. Você precisará reautorizar esses perfis de difusão. Esta versão também adiciona suporte para Vectores de Movimento em materiais transparentes. Materiais transparentes podem escrever sua própria velocidade, substituindo o conteúdo anterior do buffer de velocidade. Isso é útil para materiais com alfa finalizados, como cabelo.
A 2019.1 vem com vários novos nós mestre para Shader Graph. O novo HD Unlit Master Node oferece acesso ao conjunto completo de recursos que o Unlit de cross-pipeline não poderia, como distorção ou seleção de passagens de renderização.

Há também um novo Node Mestre AxF projetado para oferecer suporte ao X-Rite AxF formato de material medido. O material AxF só é útil quando é acoplado ao importador AxF que faz parte do nosso Pacote do Unity Industry. O importador AxF é preenchido automaticamente com todas as configurações do Material AxF.

Um novo Nó Mestre de Cabelo também está disponível. Ele depende do modelo de iluminação baseado em Kajiya Kay, amigável para artistas, que apresenta melhor conservação de energia e oferece mais flexibilidade.

Vários novos nós/comportamentos específicos do HDRP foram adicionados. Agora é possível amostrar a Cor da Cena, incluindo mipmaps desfocados, para simular refração ou distorção grosseira (a cor só está disponível para objetos transparentes). O Profundidade da Cena O node também permite acessar profundidade raw, linear (entre 0 e 1) ou eye. A Deslocamento de profundidade A entrada no Lit Master Node foi adicionada para empurrar a profundidade para dentro ou para fora na direção do vetor de visualização. Isso é útil ao usar o novo nó Parallax Occlusion Mapping para obter sombreamento das luzes.

Além disso, todos os nós mestres do HDRP agora suportam a substituição do GI assado. Para ativá-lo, use o Substituir GI Assado caixa de seleção nas configurações do nó mestre. Ele adiciona duas novas entradas no nó mestre: GI pré-calculado e GI pré-calculado e retroativo. Isso permite que você forneça seu próprio GI assado para iluminação difusa indireta e transmissão, respectivamente; ou, em combinação com o Baked GI Node, você pode modificá-lo. O valor padrão para a propriedade Baked GI é equivalente à saída padrão do nó Baked GI.

Fizemos várias melhorias na iluminação. Anteriormente, a iluminação não conseguia usar valores corretos do mundo real/físicos porque o intervalo de exposição e a precisão não permitiam. O cálculo de iluminação agora usa Pre-Exposure. Isso significa que a exposição não é aplicada no final do quadro durante o pós-processamento, mas é aplicada à iluminação em si, o que melhora muito a precisão e permite valores altos para a intensidade da luz, como para o sol. Além disso, Sky, Emissive e algumas luzes agora usam unidades EV100 em vez de EV, que é a unidade geralmente usada para valores de referência em gráficos de iluminação. Como esta é a maior discrepância de iluminação com o 2018.3, atualizar seu projeto para esta versão significa que você pode precisar ajustar algumas intensidades de luz. As propriedades emissivas no Lit/Unlit Shader e no Lit/Unlit Master Node foram aprimoradas para oferecer suporte à unidade EV100 ou Luminância, com um controle de Peso de exposição e um nó de Emissão. Esse controle permite que você force um objeto a brilhar mesmo quando exposto corretamente (por exemplo, para permitir que ele brilhe mesmo em plena luz do dia).

As luzes de área retangular foram aprimoradas para oferecer suporte a cookie e sombras de área aproximada. Esse recurso é "caro" e deve ser usado principalmente para modo de alta qualidade ou cinemática. Suporte para máscara de sombra Foi adicionada, fornecendo sombras suaves pré-renderizadas de alta qualidade, mantendo o realce especular.

Agora, a GPU pré-renderiza os Probes de reflexão, o que acelera o pré-rendizado. Além disso, os Probes de reflexão são integrados ao fluxo de trabalho de iluminação para simplificar o processo de pré-rendizado dos Probes de reflexão, permitindo que você pré-renderize todos os Probes de reflexão carregados na janela de iluminação.
Foi adicionado suporte para reflexão planar em tempo real. Durante a reprodução, o HDRP renderiza apenas os Probes de reflexão e Planar em tempo real visíveis, que agora têm controles individuais em FrameSettings para renderização em tempo real ou offline.
Em 2019.1, integramos o pós-processamento diretamente no HDRP e incluímos um conjunto personalizado de efeitos de pós-processamento baseados em shaders de computação, especialmente feitos com desempenho e qualidade em mente para plataformas de console e desktop de alta qualidade. Este novo conjunto de ferramentas de pós-processamento é compatível com o sistema RT Handle e suporta os recursos de resolução dinâmica. Observe que as novas configurações de pós-processamento não são compatíveis com o Post-Processing Stack V2 (PPv2), o que significa que você precisa reautorizar todo o pós-processamento ao fazer a atualização para a versão 2019.1. Isso também significa que o HDRP não oferece mais suporte ao PPv2. O anti-aliasing de pós-processamento, que vem com FXAA, SMAA, anti-aliasing temporal e dithering de 8 bits, ajuda a suavizar gradientes e remover bandas de cores de 8 bits. Você define-os diretamente na câmera. Aberração cromática, distorção da lente e vinheta são os mesmos que no PPv2. O efeito de grão de filme foi retrabalhado para usar texturas de referência de grão em vez de ruído procedural. Também adicionamos um novo efeito de Projeção Panini .
Efeito de Projeção Panini. Bloom agora usa um limite baseado no valor pré-exposto. Isso significa que apenas os objetos que estão superexpostos terão o efeito de Bloom, em vez de objetos que estão acima de uma intensidade específica. Ajuste de cores tem uma versão aprimorada do modo "Ajuste de HDR" do PPv2. O grande painel de gradação de cores foi dividido em componentes de volume separados para reduzir a desordem no Inspector. Profundidade de campo foi completamente reformulado e agora oferece controle paramétrico da forma da abertura, permitindo que você configure facilmente o número de lâminas, sua curvatura, corte de barril e anamorfismo. O efeito agora é independente da resolução. Motion Blur também foi completamente reformulado para melhorar a qualidade e o desempenho. Isso inclui novas modificações algorítmicas que permitem desfoques mais precisos e amplos, ao mesmo tempo em que reduzem artefatos.


Em 2019.1, agora você pode acessar os buffers de profundidade e normais do HDRP. Além disso, os efeitos visuais podem acessar buffers de renderização internos do HDRP, como profundidade ou cor para a câmera principal, e usá-los como texturas de entrada durante a etapa de simulação. Isso permite que você configure facilmente recursos como colisão de buffer de profundidade e transformação de cena com partículas.
O Gráfico de Efeito Visual é um sistema baseado em nós, fácil de usar e flexível, inspirado nas principais ferramentas de efeitos visuais para cinema. Ele permite que você crie efeitos impressionantes para jogos e outros conteúdos criativos rapidamente. Em 2019.1, adicionamos várias melhorias e novos recursos, além de produzirmos várias amostras para ajudá-lo a começar a criar efeitos visuais de última geração. Um novo Pré-aquecimento Esse recurso permite que você pré-simule uma parte de um efeito até um determinado tempo, para que ele esteja em seu estado totalmente desenvolvido. Isso pode ser usado para criar efeitos como uma pilha de fumaça que se acumulou ao longo do tempo. Também atualizamos os Probes de luz e Volumes de Proxy de Probes de Luz. As funções de ruído foram aprimoradas com perlin (ruídos de valor e celulares e suas variações de curvatura). Os operadores de tempo de geração e contagem de geração agora permitem que você conte o número de partículas geradas de uma vez no quadro anterior.
Agora temos suporte nativo de plugin de renderização para Vulkan. Veja documentação para obter mais informações e nossos exemplos.
O GPU Lightmapper está agora em versão de pré-visualização, com funcionalidade adicional e suporte a plataformas. Está ativado no macOS e no Linux e suporta bandeiras de GI de dupla face em materiais, bem como projeção e recebimento de sombras em malhas.

O GPU Lightmapper agora usa a mesma GPU que o Editor por padrão para garantir que a GPU dedicada de alto desempenho seja usada. Se necessário, você pode alterar para uma GPU diferente usando a linha de comando; veja o documentação para obter detalhes.

O Optix AI Denoiser é um denoiser baseado em aprendizado profundo treinado em uma biblioteca de imagens rastreadas por caminhos. É uma melhoria substancial em relação às opções de filtragem, especialmente em contagens de baixa amostra, e é resistente a vazamentos e desfoque. Pode ser combinado com filtros para obter lightmaps ainda mais suaves. O uso do novo Denoiser ajuda a reduzir substancialmente a contagem de amostras para obter renderizações muito mais rápidas do que era possível anteriormente. Atualmente, ele está disponível apenas no Windows e com GPUs Nvidia compatíveis.

O Ambiente MIS é um novo método para amostrar as áreas mais importantes do cubemap/HDRI. Essa técnica evita o disparo de um grande número de raios GI no hemisfério e, em vez disso, concentra-os nas áreas importantes, como pontos brilhantes (como o sol). Com esse recurso, é possível renderizar cenas com mapas de ambiente HDRI medidos que são altamente não uniformes. Um novo parâmetro Amostras de Ambiente foi adicionado à janela Iluminação. Esse valor controla quantos raios são rastreados diretamente para o ambiente por texel do lightmap.


Os Gizmos de sonda de luz agora são afetados pela correção de exposição. Isso facilita a iteração em sondas de luz ao usar o HDRP e iluminação de alta intensidade.

Com o novo parâmetro Limitar Contagem de Lightmap, você pode especificar um número máximo de lightmaps gerados para um grupo específico de objetos. Isso é particularmente útil ao desenvolver jogos para plataformas móveis, onde os recursos podem ser limitados. Realtime GI: Async Readback remove a necessidade de a CPU aguardar por uma leitura de volta da GPU. Isso pode melhorar o desempenho e reduzir picos de CPU. Gere automaticamente não é mais padrão em novas cenas. Também adicionamos um link na barra de status inferior para mostrar se você está no modo Gerar automaticamente ou não.

O LookDev, um recurso experimental para visualizar ativos, foi removido. Vamos melhorá-lo e adicioná-lo novamente para SRP (com suporte para LWRP e HDRP) ainda este ano.
O Unity Editor adia a compilação de shaders até que a renderização precise de uma variante de shader específica pela primeira vez. No entanto, isso pode causar travamentos no Editor, pois a ida e volta do compilador de shaders pode levar muito tempo. O novo recurso de Compilação Assíncrona de Shaders elimina essas interrupções ao desacoplar a compilação da renderização e usa um shader de substituição fictício de cor azul-claro até que a compilação seja concluída. Este é um recurso exclusivo do Editor e não afeta seu jogo, mas apenas acelera seus tempos de compilação.
Agora você pode ter 32 influências de osso por vértice e até 255 com API para renderizadores de malhas esquinadas. Isso mantém a fidelidade dos pesos de pele consistente em tempo de execução com o conteúdo de origem em programas externos. Isso é especialmente útil para rigging de rosto baseado em osso, onde áreas de alto detalhe, como cantos da boca e olhos, exigem mais de 4 influências de osso. Isso também aumentará a qualidade dos rigs que usam decomposição de pele suave para que você possa obter um resultado mais suave com menos ossos.
O Importador do Sketchup Agora possui uma interface de usuário atualizada. Também adicionamos suporte para importação de Câmera para todos os tipos de câmera disponíveis no Sketchup (ortográfica, perspectiva e dois pontos). Finalmente, melhoramos o desempenho da interface do usuário da guia de materiais do Importador de Modelos.
Os Sinais da Timeline oferecem uma maneira fácil para a Timeline interagir com objetos em uma cena. Usando um emissor de sinal e um recurso de sinal, você pode acionar um receptor de sinal que definirá um conjunto de reações pré-configuradas (Unity Events) para sua Timeline. Os emissores de sinal são usados para acionar uma mudança no estado da cena quando a linha do tempo passa por um determinado ponto no tempo.
Escolhemos a palavra “sinais” em vez de “eventos” porque “sinais” apoia a ideia de “transmissão”; também evita confusão com os Unity Events e Animation Events existentes.
Também introduzimos “marcadores” para usuários interessados em criar quadros-chave personalizados com comportamentos específicos. Você pode usar marcadores para adicionar e manipular objetos em uma linha do tempo da mesma maneira que clipes: selecionar, copiar-colar, modos de edição, etc. Os marcadores também têm especializações, assim como clipes de animação, clipes de ativação, clipes de controle, etc. Veja este fórum para aprender a criar seus próprios marcadores personalizados.
Adicionamos várias melhorias de áudio à Timeline. Por exemplo, agora você pode controlar/definir chaves para uma faixa de áudio individual enquanto trabalha em uma edição da Timeline. Agora você também tem controles simples de volume e panorâmica em uma faixa, bem como animação de Volume e Pan por faixa.

Esta versão introduz suporte ao codec de vídeo H.265. Isso permite que você reproduza filmes H.265 e transcodifique outros formatos de vídeo compatíveis para o formato de codec H.265.
H.265, ou High Efficiency Video Coding (HEVC), é um padrão de compressão de vídeo que é o sucessor do Advanced Video Coding (H.264). Em comparação com o H.264, o H.265 oferece melhor qualidade na mesma taxa de bits.
O SRP agora é totalmente compatível com nosso Visualizador de Vídeo e Gravador de Vídeo. Isso permite que o Visualizador de Vídeo reproduza vídeos durante a renderização via HDRP ou LWRP. Além disso, o Gravador de Vídeo foi atualizado para lidar com a entrada de câmeras quando você usa o SRP. No processo de adição de suporte ao SRP no Visualizador de Vídeo, também corrigimos alguns erros importantes que afetavam os modos de renderização da câmera (plano distante/próximo) e também corrigimos o suporte a vídeos 360 (estéreo).
Você pode usar os controles SceneVis do Unity para ocultar e exibir rapidamente objetos na visualização da Cena, sem alterar a visibilidade dos objetos no jogo. À medida que uma cena se torna mais detalhada, muitas vezes é útil ocultar temporariamente objetos específicos; o novo modo Isolate permite que você visualize e edite sem obstruções. O SceneVis possibilita essa funcionalidade por meio de ferramentas de hierarquia e atalhos de teclado, além de um botão de alternância na barra de ferramentas que permite ativar ou desativar os efeitos rapidamente.
O pacote Sprite Shape apresenta várias melhorias. Por exemplo, você pode fazer com que o collider 2D final do Sprite Shape seja mais semelhante à representação visual do sprite, permitindo que você adicione colliders de polígono e borda que se encaixam melhor no Sprite Shape Renderer.
Também adicionamos tangentes contínuas não espelhadas para pontos de controle de forma, permitindo que você crie formas curvas para ajudar a alcançar com mais precisão a aparência desejada.

Ao usar o novo pacote 2D Animation (v2.1, acessível por meio do Package Manager), você notará um aumento de desempenho ao animar um sprite no Editor e também em tempo de execução, pois ele é construído com o C# Job System e o Burst Compiler. Essa atualização também melhora o desempenho quando você tem vários personagens na tela que são animados usando essa ferramenta.
Observação: Esta versão não é compatível com versões anteriores do 2018.3. Para projetos que usam o Unity 2018.3, continue usando o pacote 2D Animation v2.0.
Todas as consultas de física 2D agora permitem que você forneça um buffer de resultados como uma "Lista" .Net,” quando anteriormente você precisava de uma matriz. Isso tem a mesma vantagem da matriz, pois nenhuma memória é alocada se a capacidade da lista for grande o suficiente para conter os resultados da consulta. Ele oferece a vantagem adicional de que a capacidade da lista aumentará automaticamente (com a alocação de memória associada) para garantir que ela possa conter todos os resultados da consulta, enquanto aloca apenas a memória necessária. Se você reutilizar a mesma lista, as alocações serão mantidas no mínimo e/ou, eventualmente, não ocorrerão mais alocações.
Os lançamentos da Unity compreendem um fluxo TECH e um fluxo de Suporte de Longo Prazo (LTS).
O fluxo TECH, que inclui todos os recursos mais recentes, tem três grandes lançamentos por ano. Os fluxos TECH deste ano são as versões 2019.1, 2019.2 e 2019.3, cada uma das quais adiciona novos recursos e funcionalidades.

A 2018.3 foi a última do ciclo de fluxo TECH 2018.x e, com este lançamento, ela se torna parte do fluxo LTS com um novo número de versão (2018.4). Isso marca o ponto em que o cronograma de suporte de dois anos começa.
Ao contrário do fluxo TECH, o fluxo LTS não terá novos recursos, alterações na API ou melhorias. Em vez disso, ele abordará falhas, regredirá e resolverá problemas que afetam a comunidade em geral, SDKs/XDKs de console ou quaisquer problemas importantes que impeçam um grande número de desenvolvedores de lançar seus jogos.
Há um lançamento semanal do fluxo TECH com correções de bugs, enquanto há um lançamento bimestral do fluxo LTS com correções de bugs. O fluxo LTS é para desenvolvedores que desejam continuar a desenvolver e lançar seus jogos/conteúdos em uma versão estável por um período prolongado. O fluxo TECH, por outro lado, é para desenvolvedores que desejam usar os recursos mais recentes e ter acesso aos recursos mais recentes do Unity.
Em primeiro lugar, um agradecimento especial à nossa comunidade beta por usar todos os novos recursos e fornecer ótimos feedbacks, o que nos ajudou a finalizar e lançar o 2019.1.
Se você ainda não é um testador beta, considere se tornar um. Você terá acesso antecipado aos novos recursos mais recentes e poderá garantir que seu projeto será compatível com a nova versão. Você também pode ajudar a influenciar o futuro do Unity compartilhando seu feedback com nossas equipes de P&D em nosso fóruns ou em pessoa. Além disso, você terá a oportunidade de ser convidado para eventos do Unity e ganhar brindes exclusivos.
Comece por baixando nossa versão alpha ou beta mais recente e dê uma olhada nisso Guia sobre como ser um testador beta eficaz. Se você deseja receber ocasionalmente e-mails com notícias, atualizações e dicas sobre o beta, inscreva-se aqui.
A versão completa inclui quase 300 novos recursos e melhorias – muitos para mencionar aqui. Você sempre pode encontrar a lista completa de novos recursos, melhorias e correções no notas de lançamento.
