Unity 2020.2

Ferramentas de programador

Melhore seus fluxos de trabalho de scripts com o Unity 2020.2. Use nossas ferramentas aprimoradas para programadores para iterar mais rapidamente e otimizar seus projetos para o desempenho máximo. 

Novidades no 2020.2

Descubra algumas das principais melhorias e novos recursos para programadores no Unity 2020.2. Para obter mais detalhes, confira as notas de lançamento.

Melhore os tempos de compilação com compilação determinística

Enquanto a complexidade dos projetos aumenta, novas alterações de códigos podem demorar muito para serem compiladas e pesam sobre a produtividade da sua equipe. O Unity 2020.2 oferece uma opção de compilação “determinística” ao compilar scripts C#. Esta opção permite que você evite recompilação desnecessária de referências de definição da montagem (.asmdef) se os metadados públicos para a montagem não mudarem ao compilar scripts para o Editor. Isso é particularmente útil para reduzir o tempo de iteração quando você está fazendo alterações nas montagens que têm muitas referências diretas e/ou indiretas.

Saiba mais

Suporte para C# 8

O Unity 2020.2 suporta todos os recursos e melhorias mais recentes de C# 8, exceto métodos de interface padrão. Isso inclui tipos de referência que podem ser anulados, o que possibilita ao compilador mostrar um alerta sempre que você tentar atribuir nulidade a uma variável de tipo de referência. Alternar a expressão com correspondência de padrão oferece a você uma maneira mais simplificada de escrever código condicional.

Para ter uma visão geral completa de tudo que há de novo no C# 8, verifique a documentação da Microsoft.

C#_8_support.cs (C#)
public static RGBColor FromRainbow(Rainbow colorBand) =>
    colorBand switch
    {
        Rainbow.Red    => new RGBColor(0xFF, 0x00, 0x00),
        Rainbow.Orange => new RGBColor(0xFF, 0x7F, 0x00),
        Rainbow.Yellow => new RGBColor(0xFF, 0xFF, 0x00),
        Rainbow.Green  => new RGBColor(0x00, 0xFF, 0x00),
        Rainbow.Blue   => new RGBColor(0x00, 0x00, 0xFF),
        Rainbow.Indigo => new RGBColor(0x4B, 0x00, 0x82),
        Rainbow.Violet => new RGBColor(0x94, 0x00, 0xD3),
        _              => throw new ArgumentException(message: "invalid enum value", paramName: nameof(colorBand)),
    };
Consulte o guia C# 8 da Microsoft

Namespace raiz disponível nas configurações de definição da montagem

Os namespaces em C# oferecem uma maneira eficiente de organizar seu código e evitar colisões de nomenclatura de classe com outros pacotes e bibliotecas. O namespace raiz agora está disponível como um novo campo no inspetor asmdef e é usado para adicionar automaticamente um namespace ao criar um novo script no Unity, no Visual Studio e Rider.

Lembre-se de atualizar os pacotes do Visual Studio e do Rider para a versão mais recente se você planeja usar esta funcionalidade.

Saiba mais
Comparação do tempo de conversão de IL2CPP serial e paralelo de dois projetos antes e depois da conversão com multithread. A linha vermelha é uma demonstração interna, e a linha laranja é um projeto de um estúdio externo.

Compilação de build mais rápida

O Unity 2020.2 vem com melhorias significativas para o tempo de compilação de build. Se você fizer alterações que não envolvam código, por exemplo, materiais, shaders ou prefabs, a conversão do IL2CPP de montagens .NET para C++ agora serão totalmente ignoradas aos criar um novo jogador. 

No Unity 2020.2, a conversão IL2CPP aproveita a vantagem dos processadores multinúcleo modernos ao ir de single para multithread, diminuindo drasticamente o tempo geral de build de jogador IL2CPP conforme demonstrado nos dados do projeto de teste acima. 

Saiba mais

Time.deltaTime consistente

O Unity 2020.2 ajusta os valores de Time.deltaTime que levam a movimentos "gaguejantes" de objetos durante a jogabilidade. A interface do TimeManager foi refatorada de modo que agora os cálculos de tempo de quadro estão mais estáveis, fornecendo um movimento de objeto muito mais suave quando o jogo está em execução a uma taxa de quadros estável. O Unity 2020.2 suporta essas melhorias de estabilidade de tempo no iOS, macOS, PS4, Switch, tvOS, UWP, Windows e Xbox One. Melhorias no Android, Windows/Linux no Vulkan e XR virão mais tarde. Confira a publicação do blog para obter mais detalhes.

Saiba mais
Descobriu-se que a otimização geral foi entre 12 e mais de 800 vezes mais rápida ao processar de 100 a 5.000 importadores (para ver o aprimoramento geral, consulte o gráfico à direita).

Melhorias no desempenho

O Unity 2020.2 apresenta diversas otimizações significativas, incluindo Prefabs aninhados, resultando em classificações e buscas drasticamente mais rápidas. As pesquisas na função de registro dos importadores com script do Editor foram testadas e provaram ser até 800 vezes mais rápidas. Por fim, a equipe de otimização também refatorou o Camera.main, reduzindo o tempo que leva para consultá-lo a centenas de milissegundos em alguns projetos.

Saiba mais

Corrotinas do Editor e fluxos de trabalho mais rápidos com Entrada no Modo Play configurável

Não sendo mais um recurso experimental, a Entrada no Modo Play configurável permite que você desative uma ou ambas as ações “Domain Reload” (recarregar domínio) e “Scene Reload” (recarregar cena) para acelerar a entrada no Modo Play. Com Corrotinas do Editor agora fora da visualização, você pode iniciar a execução dos métodos do iterador dentro do Editor, de modo semelhante como os scripts de Corrotinas dentro do MonoBehaviour são tratados durante o tempo de execução.

Saiba mais

Remoção de código gerenciado com Unity Linker

O Unity Linker executa análise estática para remover código gerenciado. Ele também reconhece uma quantidade de atributos e permite que você anote as dependências onde é impossível identificá-las. No Unity 2020.2, a ferramenta recebeu atualizações da API para corresponder ao Mono IL Linker. Começando com o Unity 2020.1, o Unity Linker pode detectar alguns padrões simples de reflexão, diminuindo a necessidade de usar arquivos link.xml.

Saiba mais

Atualizações do Profiler

Você pode adicionar gráficos na janela do Profiler para obter mais informações de desempenho e contexto para estatísticas do Profiler existentes ou geradas pelo usuário. Ao mesmo tempo, os eventos de fluxo podem exibir dependências de tarefa serial na Timeline do Profiler e ajudar você a identificar em que tarefa, em uma sequência de operações, seu aplicativo está gastando tempo.

Agora você pode visualizar estatísticas de renderização e memória do Profiler em Players. Exponha as estatísticas existentes do Profiler usando uma API de tempo de execução e leia os valores das estatísticas de desempenho para as áreas existentes do Profiler. como memória, renderização e outros em Players. Use esses dados para exibir heads-up displays (HUDs) de desempenho enquanto executa seu projeto no dispositivo de destino ou cria outra ferramenta de desempenho para suas próprias necessidades.

Saiba mais

Melhorias no analisador Roslyn

O pipeline de compilação agora suporta analisadores Roslyn. Isso permite que você execute analisadores de código C# de maneira assíncrona no plano de fundo dentro do Unity Editor sem interromper o fluxo de trabalho de iteração. Você também pode executá-los de maneira síncrona a partir da linha de comando. 

Os analisadores Roslyn e os arquivos de conjunto de regras nos projetos do Unity são ferramentas avançadas para ajudar a inspecionar seu código e verificar se há problemas de estilo, qualidade e outros. Você pode usar bibliotecas existentes do analisador para inspecionar seu código e escrever seus próprios analisadores a fim de promover as melhores práticas ou convenções dentro de sua organização.

Saiba mais

Modo seguro do Unity

O modo seguro do Unity melhora o modo como o Unity se comporta ao abrir um projeto que tenha erros de compilação de script. Se erros de compilação forem detectados na inicialização do Editor, você será avisado para entrar no modo seguro. Esse modo apresenta um ambiente projetado para resolvê-los, de maneira que você possa retornar rapidamente seu projeto a um estado funcional sem esperar por importações desnecessárias dos assets do projeto. Esse recurso vai simplificar e acelerar o processo de atualização de um projeto para uma nova versão do Unity e ajudará equipes que trabalham em grandes projetos ao reduzir o número de casos nos quais a pasta da biblioteca contenha artefatos de importação incorretos.

Saiba mais

Baixar o Unity 2020.2 agora

Obtenha acesso a todos os itens acima e muito mais hoje.

Usamos cookies para garantir a melhor experiência no nosso site. Visite nossa página da política de cookies para obter mais informações.

Eu entendi