# Unity (motor de videojuego)

Unity es un motor de videojuego multiplataforma creado por Unity Technologies, anunciado y lanzado por primera vez en junio de 2005 en la Conferencia Mundial de Desarrolladores de Apple como motor de juegos para Mac OS X. Unity está disponible como plataforma de desarrollo para Microsoft Windows, Mac OS, Linux. La plataforma de desarrollo tiene soporte de compilación con diferentes tipos de plataformas (Véase la sección Plataformas objetivo).
A partir de su versión 5.4.0 ya no permite el desarrollo de contenido para navegador a través de su plugin web, y en su lugar se utiliza WebGL.
Unity tiene dos versiones: Unity Professional (pro) y Unity Personal.

## Unity Technologies

La empresa Unity Technologies fue fundada en 2004 por David Helgason (CEO), Nicholas Francis (CCO), y Joachim Ante (CTO) en Copenhague, Dinamarca después de su primer juego, GooBall, que no obtuvo éxito. Los tres reconocieron el valor del motor y las herramientas de desarrollo que habían creado y se dispusieron a hacer un motor que cualquiera pudiera usar a un precio asequible. Unity Technologies ha recibido financiación de Sequoia Capital, Capital WestSummit y Socios iGlobe.
El éxito de Unity se debe a su enfoque en cubrir las necesidades de los desarrolladores independientes, los cuales normalmente no pueden permitirse crear su propio motor de juegos, ni pagar el acceso a las herramientas necesarias. La compañía busca "democratizar" el desarrollo de videojuegos y hacer que el desarrollo de contenido interactivo 2D y 3D sea lo más accesible a tantas personas en todo el mundo como sea posible.
En 2008, ya contaba con una base de 1 millón de programadores.

## Historia

La primera versión de Unity se lanzó en la Conferencia Mundial de Desarrolladores de Apple en 2005. Fue construido exclusivamente para funcionar y generar proyectos en los equipos de la plataforma Mac y obtuvo el éxito suficiente como para continuar con el desarrollo del motor y herramientas. Unity 3 fue lanzado en septiembre de 2010 y se centró en empezar a introducir más herramientas que los estudios de alta gama por lo general tienen a su disposición, con el fin de captar el interés de los desarrolladores más grandes, mientras que proporciona herramientas para equipos independientes y más pequeñas que normalmente serían difíciles de conseguir en un paquete asequible. La última versión de Unity, Unity 5, lanzada a principios de 2015, se anunció en Game Developers e incluye añadidos como Mecanim animation, soporte para DirectX 11 y soporte para juegos en Linux y arreglo de bugs y texturas. Desarrollado por creadores de juegos para mayor expectativa.

## Características principales

Unity puede usarse junto con Blender, 3ds Max, Maya, Softimage, Modo, ZBrush, Cinema 4D, Cheetah3D, Adobe Photoshop, Adobe Fireworks y Allegorithmic Substance. Los cambios realizados a los objetos creados con estos productos se actualizan automáticamente en todas las instancias de ese objeto durante todo el proyecto sin necesidad de volver a importar manualmemte.
El motor gráfico utiliza OpenGL (en Windows, Mac y Linux), Direct3D (solo en Windows), OpenGL ES (en Android y iOS), e interfaces propietarias (Wii). Tiene soporte para mapeado de relieve, mapeado de reflejos, mapeado por paralaje, oclusión ambiental en espacio de pantalla, sombras dinámicas utilizando mapas de sombras, render a textura y efectos de post-procesamiento de pantalla completa.
Se usa el lenguaje ShaderLab para la creación de sombreadores, similar a Cg/CgFx y DirectX HLSL Effects (.Fx). Pueden escribirse shaders en tres formas distintas: como Surface shaders, como Vertex and Fragment shaders, o como shaders de función fija. Un shader puede incluir múltiples variantes y una especificación declarativa de reserva, lo que permite a Unity detectar la mejor variante para la tarjeta de vídeo actual y si no son compatibles, recurrir a un shader alternativo que puede sacrificar características para una mayor compatibilidad.
El soporte integrado para Nvidia (antes Ageia), el motor de física PhysX, (a partir de Unity 3.0) con soporte en tiempo real para mallas arbitrarias y sin piel, ray casts gruesos, y las capas de colisión.
El scripting viene a través de Mono. El script se basa en Mono, la implementación de código abierto de .NET Framework. Los programadores pueden utilizar UnityScript (un lenguaje personalizado inspirado en la sintaxis ECMAScript), C# o Boo (que tiene una sintaxis inspirada en Python). A partir de la versión 3.0 añade una versión personalizada de MonoDevelop para la depuración de scripts.
Unity también incluye Unity Asset Server - una solución de control de versiones para todos los assets de juego y scripts, utilizando PostgreSQL como backend, un sistema de audio construido con la biblioteca FMOD, con capacidad para reproducir audio comprimido Ogg Vorbis, reproducción de vídeo con códec Theora, un motor de terreno y vegetación, con árboles con soporte de billboarding, determinación de cara oculta con Umbra, una función de iluminación lightmapping y global con Beast, redes multijugador RakNet y una función de búsqueda de caminos en mallas de navegación.

### Mecanim

Mecanim es la tecnología de animación de Unity, que ha estado en desarrollo durante años, primero por la empresa del mismo nombre, a continuación, por las oficinas de Unity en Canadá, después de su adquisición. La tecnología está diseñada para llevar el movimiento fluido y natural de los personajes con una interfaz eficiente. Mecanim incluye herramientas para la creación de máquinas de estados, árboles de mezcla, manipulación de los conocimientos nativos y retargeting automático de animaciones, desde el editor de Unity.
Además, una serie de animaciones redestinables estarán disponible en el Unity Asset Store de Unity tras el lanzamiento de la herramienta. Muchos de estos archivos de animación de captura de movimiento son proporcionados sin costo por Unity Technologies. Otros proveedores del Asset Store también ofrecerá animaciones para su uso con Mecanim, ya sea de forma gratuita o de pago.

## Polémica por comisiones

El día 12 de septiembre de 2023, Unity mediante sus redes sociales anunció un nuevo impuesto cuyo propósito era cobrar $0.20 USD por instalación (incluido si se instalaba un juego luego de ser desinstalado), si se superaban las 200.000 descargas y al mismo tiempo los $200.000 en ganancias, algo que fue repudiado por toda la comunidad, ya que a los desarrolladores les afectaba la reducción de ingresos pues con los gastos de desarrollo e impuestos de tiendas como Steam o Epic store, causaba que las ganancias fueran mínimas o inexistentes. El propio CEO de la compañía, John Riccitellio, vendió dos mil acciones de la empresa el 6 de septiembre antes de anunciar estas nuevas medidas.
El revuelo fue tanto, que incluso las oficinas de Unity en Texas y California tuvieron que ser cerradas temporalmente debido a amenazas de muerte, y luego de una investigación por parte de las autoridades, se descubrió que fueron realizadas por un mismo empleado de la compañía.

## Plataformas objetivo

* Web
** WebGL
* PC
** Windows
** Windows Store Apps
** SteamOS
** OS X
** GNU/Linux
* Dispositivos móviles
** iOS
** Android
** Windows Phone
** Tizen
* Televisión inteligente
** tvOS
** Samsung Smart TV
** Android TV
* Consolas
** PlayStation Vita
** PlayStation 4
** Xbox 360
** Xbox One
** Wii U
** Nintendo 3DS
** Nintendo Switch
* Dispositivos de realidad extendida
** Oculus Rift
** Google Cardboard
** HTC Vive
** PlayStation VR
** Samsung Gear VR
** Microsoft Hololens

## Versiones
### Unity 3.5

Unity 3.5 fue uno de los grandes lanzamientos que ha salido de la plataforma de desarrollo de Unity y añade un montón de nuevas características y mejoras en la tecnología existente. Estos incluyen el sistema de partículas Shuriken, navmesh para pathfinding y evasión de obstáculos, iluminación del espacio lineal (gamma correcta), renderización HDR, renderización multihilo, sondas de luz, despliegue Google Native Client, reescrito desecho oclusión, una función de nivel de detalle apoyo, un addon de Adobe Flash Player para vista previa, perfilador de GPU, y lightmaps direccionales.

#### Unity add-on para Adobe Flash Player

El despliegue de Adobe Flash Player add-on también empieza con Unity 4.0. Mientras que el despliegue ha sido posible para las personas con Unity beta 3.5 compatible, la versión final de la implementación del add-on requiere Unity 4.

### Unity 4

Unity 4 fue anunciado el 18 de junio de 2012 e incluye varias características adicionales a la tecnología de Unity. El proceso de liberación de Unity 4, al igual que las versiones anteriores, se incluye con varias actualizaciones con las características adicionales a lo largo de su vida útil, como la nueva interfaz gráfica de usuario retenido, lo cual es debido en una futura actualización 4.x.

#### DirectX 11

Unity 4 es compatible con Microsoft DirectX 11.

#### Mejores gráficos móviles

Unity 4 cuenta con sombras en tiempo real en móviles, creación de instancias, malla de piel, la capacidad de utilizar los mapas normales cuando usas mapas de lightmaps, y un refinado perfilador de GPU. Es fácil de hacer gráficos de gama alta escalables a los modernos PCs y chips gráficos móviles.

#### Publicación en Linux

Unity 4 también incluye una nueva opción de implementación para publicar juegos en el escritorio de Linux. Si bien la implementación del add-on puede trabajar con diversas formas de Linux, el desarrollo se centra principalmente en Ubuntu en su liberación primaria. Esta opción de despliegue se proporcionará a todos los usuarios de Unity 4, sin costo adicional. Los ingenieros de Unity trabajaron con el equipo de Ubuntu de Canonical para los juegos.

#### Unity 4 adiciones y mejoras

* Sistema de partículas Shuriken soporta fuerzas externas, normales de Bent y eliminación automática.
* Soporte texturas 3D
* Navegación: obstáculos dinámicos y prioridad de evasión.
* Optimizaciones importantes en el rendimiento y uso de memoria de UnityGUI.
* Fuentes dinámicas en todas las plataformas con HTML como marcado.
* Depuración remota de Unity Web Player.
* Nuevos flujos de trabajo en la ventana de proyecto.
* Mapa iterativo de lightmap.
* Componentes basados en refinados de flujos de trabajo.
* Inspectores extensible para clases personalizadas.
* Mejorado el pipeline de importación de Cubemap.
* Mejoras en datos geométricos para una memoria enorme y ahorro en rendimiento.
* Las mallas se pueden construir a partir de figuras geométricas no-triangulares para hacer puntos y líneas eficientemente.
* Búsqueda, vista previa en vivo y compra de Assets del Asset Store desde la ventana del proyecto.

#### Unity 4.3

La plataforma de Unity en su versión 4.3 es lanzado con herramienta de animación de gran alcance, totalmente integrados con el motor de Unity. Este incluye el nuevo ajuste "Dopesheet", basada en fotogramas clave en la ventana de animación para animar sprites o utilice "Mecanim" para impulsar forma de mezclas de animaciones faciales.

#### Unity 5

Unity 5 es anunciado en el GDC 2014 y finalmente lanzado el 3 de marzo de 2015.
Unity anunció que esta sería la última iteración de unity 5, entre las mejoras más notables se encuentra el nuevo 2D Toolkit, mejoras en el rendimiento (implementación de Vulkan), herramientas cinemáticas, mejoras en realidad virtual (VR) y realidad aumentada (AR).

#### Unity 2017

Se anunció que para el 2017 la nomenclatura cambia, la primera beta pública es accesible a finales del primer trimestre del 2017 con el objetivo de tener una versión estable en julio de 2017. Entre las adiciones se encuentra: Timeline y Cinemachine, herramientas que pueden ser explotadas por productores de cine, TV y animación, y nativamente en cinemáticas para videojuegos. El 10 de julio del 2017 se lanzó la primera versión pública: Unity 2017.1.0.
Unity 2018
El 2 de mayo de 2018 se lanza Unity 2018.1, con mejoras internas en cuanto a su núcleo.
Unity 2019
La compañía anuncia mejoras en cuanto a rendimiento para poder trabajar mejor y de forma más fluida en el editor de Unity. También arregla problemas de versiones anteriores.
Unity 2020
Mejoras importantes tanto 2D como 3D como la mejora en el comportamiento de la partículas como el agua y el fuego, para un mayor realismo a la hora de hacer un juego, en la versión oficial 2020.1.0 hubo variedad de errores que se arreglaron hasta la actual 2020.1.3 la última hasta el momento.
Unity 2021 LTS
La última versión de Unity LTS (Soporte a Largo Plazo) ofrece eficaces mejoras en los flujos de trabajo de programación, capacidades mejoradas de renderizado y optimización, y soporte de plataforma perfeccionado para ayudarte a alcanzar tus ambiciones creativas. Esta versión prioriza la calidad, la productividad y el rendimiento para cualquier dispositivo, género o estilo artístico.

## Licencias

Antes existían dos licencias principales para desarrolladores: Unity Personal y Unity Professional, a partir de mediados del 2016 Unity Technologies anunció que cambiaba su modelo de licencias a la siguiente: Unity Personal (todas las prestaciones del motor con únicamente la reestricción de compilar con un splash screen con el icono y la leyenda "Made with Unity", tiene un tope de ingresos de $100 mil dólares, al llegar a dicho tope será necesario subscribirse a la Plus o a la licencia Pro), Unity Plus (enfocado a desarrolladores móviles, topado en $200 mil y servicios limitados de Unity) con un precio de suscripción de US $35 con un periodo determinado de compromiso(usualmente 1 año), Unity Pro (sin tope de ingresos, acceso a todos los servicios de Unity y hasta 200 usuarios simultáneos con Unity Multiplayer) y un precio de US $125 al mes, adicionalmente a estas licencias existen: Enterprise (se tiene que contactar con la empresa directamente para ver si se califica para ella y convenir un precio, adicionalmente los servicios se pueden personalizar), Education (que ofrece acceso al Unity Educator Toolkit y certificaciones), la AEC (para arquitectura, ingeniería y construcción que se puede obtener únicamente a través de VIM su distribuidor oficial con éstos fines) y la Gambling (que por el tipo de negocio se requiere un contrato de uso distinto).
Todas las versiones dan acceso a la documentación del motor y a tutoriales o vídeos de entrenamiento. La versión Pro y Plus ofrece soporte a una versión, ejemplo si ha comprado Unity 5 esta licencia le da acceso a todas las actualizaciones y soporte de las siguientes mejoras de la versión (Unity 5.x), al igual que le da acceso a las versiones beta.
Unity technologies ofrece la licencia pro y plus como una suscripción, después de cierto tiempo de renta es posible obtener la licencia permanente pero con acceso limitado a unas cuantas actualizaciones posteriores, esta puede ser configurada a la necesidad del desarrollador que puede incluir las plataformas a las que desee publicar, tales como Android Pro, IOS Pro, etc.
Las licencias para el desarrollo en las plataformas, PlayStation 3, PlayStation 4, PlayStation Vita, Xbox 360, Xbox One, Wii, se negocian contactando con un gerente de cuentas regional.
Las licencias educativas son proporcionados por Studica con la estipulación de que es para la compra y uso de las escuelas, exclusivamente para la educación.
Desde la versión 4.0, un nuevo modelo de licencia se puso en marcha para organizaciones de juegos de azar. Deben ponerse en contacto con Unity directamente para obtener una licencia de distribución. Esta licencia se encuentra en el nivel de la distribución, no el nivel de desarrollador.

## Iniciativas de democratización

Para reforzar su democratización en el desarrollo del juego, Unity Technologies invierte en iniciativas que las considera como vías para ayudar a capacitar a los desarrolladores mediante la ampliación de sus capacidades y el alcance del cliente.

### Asset Store

En noviembre de 2010 se lanzó el Unity Asset Store, que es un recurso disponible en el editor de Unity. Más de 150.000 usuarios de Unity pueden acceder a la colección de más de 4.400 paquetes de Assets en una amplia gama de categorías, incluyendo modelos 3D, texturas y materiales, sistemas de partículas, música y efectos de sonido, tutoriales y proyectos, paquetes de scripts, extensiones para el editor y servicios en línea.
La Store alberga muchas extensiones, herramientas y paquetes de assets, como el paquete NGUI: Next-Gen UI por Tasharen Entertainment, y la extensión de scripting visual uScript por los estudios de Detox. Tile Mapper Tidy, creador de juegos 2D/3D basado en tiles de Doppler Interactive y los paquetes de scripts de entrada de FingerGestures.
inXile Entertainment ha sido vocal en el uso de la Asset Store para la producción de Wasteland 2.
Unity posibilita el comercio de activos en-el-juego a desarrolladores y jugadores mediante la plataforma DMarket.

### Union

Union es una división de Unity Technologies dedicada a la sindicación de los juegos de Unity para teléfonos móviles, tiendas de aplicaciones, tabletas, decodificadores, televisores conectados y otras plataformas emergentes. Con el objetivo de democratizar la distribución de juegos, Union trabaja con desarrolladores de Unity en licencias de juegos para el lanzamiento en los nuevos dispositivos.
Union incluye una gama de más de 125 juegos que ha generado un total acumulado de 120 millones de descargas en sus comunicados colectivos. Ejemplos de títulos de Union incluyen Shadowgun, Super Crossfire HD, Forever Frisbee, Falling Fred, y Cordy.
Union ofrece a los socios de la plataforma acceder a los juegos mientras fortalecen a los desarrolladores de Unity con nuevas oportunidades de distribución. Union es libre de unirse y proporciona el 80% de cuota de ingresos de sus desarrolladores.
Las plataformas de Union incluyen Intel, LGTV, Roku, BlackBerry, Nokia, Sony y Lenovo.