# Unity

Unity (também conhecida como Unity3D ou UnityEngine), é um motor de jogo proprietário criado pela Unity Technologies.

## Características

A Unity oferece aos usuários a capacidade de criar jogos em 2D e 3D, suportando as seguintes APIs: Direct3D no Windows e Xbox 360; OpenGL no MacOS,e Linux; OpenGL ES no Android e iOS; WebGL na Internet. A Unity usa o MonoDevelop para a criação dos scripts, podendo os programadores usar UnityScript (uma linguagem com sintaxe inspirada pelo ECMAScript, conhecido como JavaScript), C#, ou Boo (que tem uma sintaxe inspirada no Python), Em 2015 a Unity removeu o suporte a linguagem Boo, em 2017 a Unity anunciou que iria encerrar o suporte da linguagem UnityScript, que estava junto do motor (Engine) desde sua criação.
Nos jogos 2D, a Unity permite a importação de sprites e um avançado renderizador de mundo 2D. Para jogos 3D, a Unity permite a especificação de compressão de textura, mipmaps e configurações de resolução para cada plataforma suportada pelo mecanismo de jogo, e fornece suporte para mapeamento de relevo, mapeamento de reflexão, mapeamento de paralaxe, oclusão de ambiente de espaço de tela (SSAO) sombras usando mapas de sombras, efeitos de pós-processamento de renderização para textura e tela inteira. A Unity também oferece serviços para desenvolvedores, como: Unity Ads, Unity Analytics, Unity, Unity Cloud, Unity Everyplay, Unity IAP, Unity Multiplayer, Unity Performance Reporting, Unity Collaborate e Unity Hub.
A Unity suporta a criação de vértices, fragmentos (ou pixels) personalizados, tesselação, shaders de computação e os próprios shaders de superfície do Unity usando o Cg, uma versão modificada do High-Level Shading Language da Microsoft desenvolvida pela Nvidia.

#### Características Principais

* Suporte para o uso de shaders;
* Programação em C# (principal) ou JavaScript (descontinuado);
* Suporte ao PhysX, incluindo detector de colisão, soft body e ragdoll;
* Compatibilidade com os navegadores (via o plugin Unity Web Player): Internet Explorer, Firefox, Safari, Opera, Google Chrome (versões anteriores a 45) e Camino;
* Compatibilidade com Blender, 3ds Max, Maya, Cinema 4D, Cheetah 3D, Softimage, modo, ZBrush, Lightwave, Photoshop, Fireworks, e "Substance".

## Múltiplas plataformas

A Unity é notável por sua capacidade de direcionar jogos para múltiplas plataformas. Dentro de um projeto, os desenvolvedores têm controle sobre a criação dos jogos para dispositivos móveis, web browsers, desktops e consoles. As plataformas suportadas incluem BlackBerry 10, Windows Phone 8, Windows, OS X, Linux (Ubuntu, principalmente), Android, iOS, Unity Web Player (incluindo Facebook, Adobe Flash) PlayStation 3, PlayStation 4, PlayStation Vita, Xbox 360, Xbox One, Wii U, Wii, 3DS, Nintendo Switch, etc.

## Versões
### Unity 1

Unity 1.0 foi anunciada na Apple Worldwide Developers Conference em 2005 e foi lançado em 8 de junho de 2005. A versão inicial foi limitado ao Mac OS, tanto para criação e publicação de jogos. Características no momento incluído um renderizador OpenGL orientada para shader, física alimentada pelo Novodex (agora PhysX) motor de física, suporte a áudio e suporte a C#. O pacote estava disponível em ambos uma edição barato 'Indie', e um com preços mais elevados edição "Pro", que incluiu alguns recursos extras.
Mais de versões 1.x subsequentes, adições significativas incluíram o suporte a construção de jogos para serem executados no Windows, tanto como aplicações independentes e também em navegadores através de um plugin para o navegador.

### Unity 2

Unity 2.0 foi lançado em 11 de outubro de 2007, durante a primeira conferência anual Unity. Adições-chave para o conjunto de recursos incluíram um otimizado motor de terreno e um sistema (com base na RakNet) de renderização de sombra dinâmicas em tempo real. Esta versão também viu a introdução da Unidade de Ativos Server, um produto add-on que destinava permitir que as equipes de desenvolvedores pudessem compartilhar os recursos do projeto com mais facilidade.
Em 4 de outubro de 2008, o add-on para publicação em iPhone foi anunciado. Isto permitiu que os desenvolvedores pudessem criar seus jogos no Mac e publicá-los para iPhone.
Em Unity 2.5, lançado 19 de março de 2009, foi adicionado o suporte para a criação de jogos no Windows.
Na conferência Unity Outubro de 2009, foi anunciado que a Unity Technologies deixaria de cobrar para a edição de 'indie' da Unity, mas torná-lo disponível gratuitamente.

### Unity 3

Unity 3.0 foi lançado em 4 de outubro de 2010. Isso trouxe suporte integrado ao lightmapping usando a tecnologia Besta Illuminate Labs, oclusão abate alimentado por Umbra, efeitos de processamento de áudio em tempo real e suporte para C # 3.5. O lançamento também incluiu uma versão 'pré-visualização de qualidade de suporte à publicação de jogos para Android, vendido como um add-on separado; Suporte Android foi oficialmente declarada 'lançado' em 1 de Março de 2011.
Em 10 de Novembro de 2010, a Asset Store Unity foi lançado como um mercado online para os usuários da Unity vender ativos do projeto - artwork, sistemas de código, áudio, etc -. Uns aos outros.
Unity 3.4 introduziu suporte integrado para o sistema processual material de "substância" do Allegorithmic.
Unity 3.5, lançado 14 de fevereiro de 2012, foi um lançamento notável por trazer várias novas funcionalidades bastante tarde no ciclo de vida da versão: um novo sistema de partículas chamado "Shuriken," um pioneiro integrada e quadro de navegação, gerenciamento de nível de detalhe para os modelos 3D , renderização high dynamic-range, novos recursos globais de iluminação, e uma regravação de apoio oclusão abate. Esta versão também viu a introdução do suporte de pré-visualização para ambos Adobe Flash e Google Native Client como plataformas de publicação.

### Unity 4

Unity 4.0 foi lançado oficialmente em 13 de novembro de 2012. Os principais novos recursos incluem novo sistema 'Mecanim' de animação, suporte a DirectX 11, Linux suporte de publicação e sombras em tempo real em plataformas móveis.
Com o lançamento da Unity 4.0, a empresa anunciou uma mudança para um ciclo de lançamento que iria ver versões ser lançado com menos recursos, mas a um ritmo mais rápido. Como tal, as versões posteriores na linha 4.X entregues novos recursos da seguinte forma.
Unity 4.1, lançado 13 de março de 2013: perfil de memória, suporte para AirPlay no iOS, e uma série de atualizações de recursos menores para Mecanim e edição de shader.
Unity 4.2, lançado 22 de julho de 2013: Suporte para Windows Phone 8, Windows Store e BlackBerry como plataformas de publicação; OpenGL ES 3.0 para suporte plataformas móveis; suporte de controle de versão integrado para Perforce; ea capacidade de cancelar o processo de compilação, uma vez iniciado. (O último deles tem uma rodada de aplausos quando foi anunciado em 2013 do Unite Nordic).
Unity 4.3, lançado 12 de novembro de 2013: um novo quadro 2D, incluindo tanto apoio renderização 2D e um motor de física 2D (criado por Box2D).
Unity 4.5, lançado 27 de maio de 2014: nenhum recursos significativos foram introduzidos, esta versão vem focado em correção de bugs, relatando mais de 450 correções na versão.
Unity 4.6, lançado 26 de novembro de 2014: um novo Quadro UI, Além disso a versão 4.6.2, lançado em 29 de janeiro de 2015, adicionou suporte para aplicativos de 64 bits no iOS.
Em 21 de maio de 2013, CEO David Helgason anunciou que as edições 'Básica' do iPhone e Android móvel add-ons seria agora disponível gratuitamente a partir da Unity 4.2 em diante.

### Unity 5

Unity 5.0 foi lançado gratuitamente em 3 de março de 2015, adicionando a muito esperada iluminação global em tempo real com base na tecnologia Geomerics Enlighten. Outras alterações importantes incluem shaders baseados em física, HDR sky box, sondas de reflexão, um novo mixer de áudio com efeitos e fluxos de trabalho melhorados animador.
Sistema de construção em nuvem foi introduzida (por US $ 25 / mês para não-pro usuários), bem como 'Game relatórios de desempenho "ea beta' Game Analytics '(também US $ 25 / mês para não-usuários Pro), que registra o uso de jogadores e desempenho em jogos lançados, algo que muitos desenvolvedores achavam difícil de implementar nas Unitys 4.x. Anteriores, um desenvolvedor de jogos necessária para codificar o suporte para o jogador fazer logon diretamente no seu motor de jogo.
Adições menores incluem: Um editor de 64 bits para lidar com grandes projetos, suporte a 64 bits iOS, nova renderização adiada, gráficos comando buffers, melhor iluminação linear, HDR, camarote e Cubemap fluxos de trabalho, a melhoria do sistema de agendamento de trabalho, uma nova "Timeline CPU Profiler " permite ver e investigar o uso de múltiplos núcleos, a melhorias no sistema pathfinding NavMesh e intth.
Até Unity 5.0 o motor estava usando uma versão bastante desatualizada do middleware PhysX física da Nvidia. A versão 3.3 incluída na Unity 5.0, que é padrão entre triple-n Unity.
Unity 5.0 traz suporte para Windows, OS X, Linux, Unity Webplayer, Android, Nintendo 3DS, iOS, BlackBerry 10, Windows Phone 8, Tizen, WebGL, PlayStation 3, PlayStation 4, PlayStation Vita, Wii U, Xbox 360, Xbox One, TV Android , Samsung Smart TV, Oculus Rift e Gear VR para um total de 21 plataformas suportadas.

### Unity 2017

A partir da Unity 2017, a companhia não irá mais lançar versões numeradas, tais como Unity 5, 5.2, 5.6, e assim por diante, agora eles apostam as suas versões de acordo com o ano corrente.
Assim como uma mudança na forma de distribuição e versionamento do projeto, a game engine trouxe uma variedade de mudanças em seu motor, dando mais suporte aos desenvolvedores a fim de criar jogos no padrão Triple-A (AAA).
Algumas das novidades são:
Timeline - é uma poderosa ferramenta visual que permite criar conteúdo cinematográfico, como cenas e trailers, sequências de jogabilidade e muito mais.
Cinemachine - é um sistema avançado de câmeras que permite compor seus shorts como um diretor de cinema dentro da Unity, sem nenhum código.
The Post-Processing Stack - permite que você aplique facilmente filtros realistas em cenas usando a terminologia da indústria cinematográfica, controles e formatos de espaço de cores para criar visuais de alta qualidade para um visual mais dramático e realista, para que você possa contar uma melhor história visual.

### Unity 2018

O Unity 2018 foi lançado em 2 de maio de 2018. Nesta versão, o suporte ao Windows XP foi removido.
O Unity apresentou o Scriptable Render Pipeline (SRP) para desenvolvedores criarem gráficos de alta qualidade. Isso incluiu os novos High-Definition Rendering Pipeline (HDRP) para experiências de console e PC, e o Lightweight Rendering Pipeline (LWRP) para dispositivos móveis, realidade virtual (VR) e realidade aumentada (AR).
Unity 2018 também incluiu ferramentas de machine learning, como Imitation Learning, em que os jogos aprendem com os hábitos reais do jogador e suporte para Magic Leap.

### Unity 2019

O Unity 2019 foi lançado em 15 de abril de 2019. Nesta versão, o editor recebeu uma nova interface de usuário, e o desempenho foi drasticamente melhorado em máquinas mais básicas de desenvolvimento.
Algumas das novidades são:
* PhysX 4.1 - Física de objetos melhorada.
* Shader Graph - Editor de shaders através de nodes. (Disponível apenas nos SRPs)
* Visual Effect Graph - Ferramenta de VFX para efeitos de partículas em tempo real por GPU. (Disponível apenas nos SRPs)
* 2D Animation - Para animações 2D.
* 2D Sprite Shape - Esse pacote permite criar mundos 2D facilmente. Ele foi projetado para terrenos e objetos 2D baseados em splines orgânicos e vem com um editor intuitivo para definir a aparência de arestas, cantos e preenchimentos, e cria automaticamente colisões.
* 2D Tilemap - Permite que os criadores de jogos criem grandes mundos 2D com funcionalidade de "mapa de blocos" ou Tiles.

### Unity 2020

O Unity 2020 foi lançado em 10 de setembro de 2019, como alpha. A partir desta edição, foram removidos muitos recursos classificados como (DEPRECATED API's), como por exemplo, o suporte a arquitetura x86 do android, não poder mais compilar algum "APK", no modo interno, sem a necessidade do Gradle. A Asset Store, foi removida parcialmente do editor, utilizando o Package Manager, implementado no Unity 2017. Sendo tratado como um Feature Experimental, onde na Unity 2020, é a maneira principal de se obter Assets oficialmente. A versão finalizada foi lançada em 22 de julho de 2020.

### Unity 2021

O Unity 2021 foi lançado em 23 de março de 2021.

### Unity 2022

O Unity 2022 foi lançado em 9 de maio de 2022.

### Unity 2023

O Unity 2023 foi lançado em 12 de junho de 2023.

## Recepção

Em 2012, VentureBeat disse: "Poucas empresas têm contribuído tanto para o escoamento de jogos produzidos de forma independente como Unity Technologies."
Para os Apple Design Awards na feira WWDC 2006, a Apple, Inc. chama Unity como o vice-campeão para a sua categoria Melhor Uso de Mac OS X Graphics, um ano após o lançamento da Unity na mesmo feira. diz Unity Technologies esta é a primeira vez que uma ferramenta de design de jogo já foi nomeado para este prémio.
Em maio de 2012 uma pesquisa realizada pela revista game Developer Unity indicou como o seu motor de jogo superior para plataformas móveis. Em julho de 2014, a Unity ganhou o "melhor" prêmio Motor no Reino Unido anual Desenvolver Indústria Excellence Awards.