# Unreal Engine

Unreal Engine es un motor de videojuegos creado por la compañía Epic Games, dado a conocer inicialmente en el shooter en primera persona Unreal en 1998. Aunque se desarrolló principalmente para los shooters en primera persona, se ha utilizado con éxito en varios géneros distintos, incluyendo videojuegos de sigilo, lucha, MMORPG y otros RPG. Con su código escrito en C++, Unreal Engine presenta un alto grado de portabilidad y es una herramienta utilizada actualmente por muchos desarrolladores de juegos.
La versión más estable es Unreal Engine 5, lanzado en abril de 2022. Como su predecesor, su código fuente está disponible en GitHub tras registrar una cuenta, y el uso comercial está basado en modelo de regalías. Epic renuncia a sus regalías hasta que sus desarrolladores han obtenido un millón de dólares estadounidenses, y la regalía es renunciada si se publica en Epic Games Store. Epic ha incluido algunas propiedades como Quixel, tecnología Lumen (Iluminación Global en Tiempo Real), Nanite y un nuevo editor.

## Versiones de Unreal Engine
### Unreal Engine 1

Haciendo su primera aparición en 1998, la primera generación de Unreal Engine integraba renderizado, detección de colisiones, IA, opciones para redes y manipulación de archivos de sistema en un motor bastante completo. Epic usó este motor para los títulos Unreal y Unreal Tournament.

### Unreal Engine 2

La segunda versión del Unreal Engine hace su debut con America's Army en 2002. Esta generación vio su motor de renderización completamente reescrito, además de integrar el nuevo UnrealEd 3. También incluyó el SDK de Karma physics. Muchos otros elementos del motor fueron actualizados con mejoras, agregando soporte para la PlayStation 2, GameCube y Xbox.
En la versión Unreal Engine 2.5 se mejoró el rendimiento y se agregaron físicas para vehículos, un editor de sistema de partículas para el UnrealEd y soporte 64-bit en Unreal Tournament 2004. Además, en la versión especializada de Unreal Engine 2.5 llamada UE2X, se optimizaron características para la Xbox, agregando soporte de efectos de sonido EAX 3.0, siendo utilizado, por ejemplo, para el juego Unreal Championship 2.

### Unreal Engine 3

El Unreal Engine de tercera generación aparece en 2006, diseñado para PC con soporte DirectX 9/10, Xbox 360 y PlayStation 3. Su motor reescrito soporta técnicas avanzadas como HDRR, normal mapping y sombras dinámicas. Incluyendo componentes para herramientas complementarias al igual que las anteriores versiones del motor. Se sustituye a Karma por PhysX de Ageia (posteriormente adquirido por NVIDIA), y FaceFX se incluye además para generar animaciones faciales. Epic utilizó esta versión del motor para el videojuego Gears of War y Unreal Tournament 3, posteriormente utilizando una versión mejorada para Gears of War 2.
En el E3 de 2007 Sony anunció que se asocia a Epic para optimizar el motor para el hardware de la PlayStation 3, cambios que se utilizan actualmente por los desarrolladores de juegos de esta plataforma. Asimismo surge el anuncio del desarrollo de una modificación del Unreal Engine para la Wii.
Debido a su política de licencias, Epic obtuvo numerosos contratos con compañías como Atari, Activision, Capcom, Disney, Konami, Koei, 2K Games, Midway, THQ, Ubisoft, Sega, Sony, Electronic Arts, Square Enix, CCP Games y 3D Realms, entre otras.
En la GDC de 2008, Epic revela numerosas mejoras de diseño, entre las que se incluyen: renderizado para mayor número de objetos simultáneos, físicas más realistas para efectos de agua, físicas de texturas corporales, mayor destructibilidad para los entornos, IA mejorada y efectos mejorados en luces y sombras con rutinas avanzadas para los shaders. Esta revisión (conocida como Unreal Engine 3.25/5) hizo su debut con el título Gears of War 2.
El Unreal Engine 3 además se aplica en sectores no relacionados con los videojuegos como simulación de construcciones, simuladores de conducción, previsualización de películas y generación de terrenos.
El 5 de noviembre del 2009 Epic Games publicó una versión gratuita del Unreal Engine 3: El Unreal Development Kit para permitir a grupos de desarrolladores amateur realizar juegos con el Unreal Engine 3.
El 3 de marzo de 2011, en la conferencia de GCD 2011 en San Francisco son mostradas las primeras imágenes con el motor Unreal Engine 3 repotenciado haciendo que aun tenga vigencia para la próxima generación de consolas por varios años más hasta tener listo el Unreal Engine 4.

### Unreal Engine 4

En agosto de 2005, el vicepresidente de Epic Games, Mark Rein declaró que la cuarta generación del motor había estado en desarrollo desde 2003.
Hasta 2008, la única persona encargada del proyecto era el director técnico y fundador de Epic, Tim Sweeney, quien trabajaba en el sistema del núcleo del motor. Sus declaraciones dadas en una entrevista dan a conocer que el proyecto contaría con la participación de por lo menos cuatro ingenieros para finales de ese año.
Desde 2 de marzo de 2015, a través de un comunicado oficial de Tim Sweeney, el motor Unreal Engine 4 está disponible para todo aquel que lo desee de forma gratuita, al igual que todas las actualizaciones que se lancen de él. Según se puede leer en el comunicado en la página oficial: "Puedes descargar el motor gráfico y usarlo para cualquier cosa en el desarrollo de videojuegos, educación, arquitectura, visualización de realidad virtual, cine y animación. Si cualquiera de estos proyectos se comercializa de forma oficial Epic Games obtendría el 5 % de los beneficios de la obra cada trimestre cuando este producto supere sus primeros 3000 dólares”.

### Unreal Engine 5

Unreal Engine 5 se presentó el 13 de mayo de 2020 y es compatible con todos los sistemas existentes, incluidas las consolas de nueva generación PlayStation 5 y Xbox X Series X/S. Se empezó a trabajar en el motor unos dos años antes de su anuncio. Se lanzó en acceso anticipado el 26 de mayo de 2021 y se puso formalmente a disposición de los desarrolladores el 5 de abril de 2022.
Una de sus principales características es Nanite, un motor que permite importar material de origen fotográfico de gran detalle a los juegos. La tecnología de geometría virtualizada Nanite permite a Epic aprovechar su pasada adquisición de Quixel, la mayor biblioteca de fotogrametría del mundo a partir de 2019. El objetivo de Unreal Engine 5 era facilitar al máximo a los desarrolladores la creación de mundos de juego detallados sin tener que dedicar un tiempo excesivo a la creación de nuevos recursos. Nanite puede importar casi cualquier otra representación tridimensional preexistente de objetos y entornos, incluidos modelos de ZBrush y CAD, lo que permite utilizar elementos de alta calidad cinematográfica. Nanite gestiona automáticamente los niveles de detalle (LOD) de estos objetos importados en función de la plataforma de destino y de la distancia de dibujado, una tarea que, de otro modo, habría tenido que realizar el artista.
Desde la versión 5.4, Nanite solo genera tantos detalles en los triángulos como sea necesario para la densidad de píxeles actual, porque está mejor optimizado, ya que subdivide su propia geometría mediante teselación. Ahora, Nanite subdivide los polígonos en función de las necesidades geométricas, logrando un nivel de detalle y eficiencia superior.
Lumen es otro componente descrito como una "es una herramienta de iluminación y reflejos globales completamente dinámicos que te permite crear una iluminación indirecta que se adapta sobre la marcha a los cambios producidos en la iluminación directa o la geometría". Lumen elimina la necesidad de que los artistas y desarrolladores elaboren un mapa de iluminación, ni poner capturas de reflejo para una escena determinada, sino que calcula los reflejos de luz y las sombras sobre la marcha, lo que permite que la iluminación se actualice en la escena en tiempo real.
Virtual Shadow Maps o Mapas de Sombras Virtuales es otro componente añadido en Unreal Engine 5 que se describe como "un nuevo método de mapeado de sombras utilizado para ofrecer sombras consistentes y de alta resolución que funcionan con elementos de calidad cinematográfica y grandes mundos abiertos iluminados dinámicamente". Los mapas de sombras virtuales se diferencian de los mapas de sombras habituales por su altísima resolución y detalle. Además corrige un error frecuente que se producía con la técnica de Shadow Cascades, que provocaba la aparición y desaparición de sombras.
Otros componentes añadidos que se incluyen son:
* Niagara para la dinámica de fluidos y partículas,
* Chaos para un motor de física,
* Superresolución Temporal para optimizar los recursos de las plataformas,
* Sistema World Partition, que divide automáticamente el mundo en una cuadrícula,
* Metasound, que es un sistema de alto rendimientos para reproducción de audio.
Con decenas de miles de millones de polígonos potencialmente presentes en una sola pantalla a resolución 4K, Epic también desarrolló Unreal Engine 5 para aprovechar las próximas soluciones de almacenamiento de alta velocidad con el hardware de la consola de próxima generación que utiliza una mezcla de RAM y unidades de estado sólido personalizadas. Epic trabajó estrechamente con Sony en la optimización de Unreal Engine 5 para PlayStation 5, colaborando con Sony en la arquitectura de almacenamiento de la consola, así como para demostrar la facilidad de creación de un mundo detallado con el mínimo esfuerzo, La presentación del motor en mayo de 2020 mostró una demo llamada "Lumen in the Land of Nanite" (Lumen en la "Tierra de Nanite") que se ejecutaba en una PlayStation 5 y que se construyó principalmente extrayendo recursos de la biblioteca Quixel y utilizando Nanite, Lumen y otros componentes de Unreal Engine 5 para crear un entorno de cueva fotorrealista que se podía explorar. Epic afirmó que Unreal Engine 5 también sería totalmente compatible con Xbox Series X, pero que se había centrado en PlayStation 5 durante el anuncio como resultado de su trabajo con Sony en los años anteriores.
Epic empleó Fortnite como banco de pruebas de Unreal Engine 5 para mostrar lo que el motor puede hacer a la industria, con el juego llevado a usar Unreal Engine 5 en diciembre de 2021. Días después, fue publicado The Matrix Awakens, una experiencia vinculada al lanzamiento de The Matrix Resurrections, que fue desarrollada por Epic como demostración de Unreal Engine 5 junto con otras tecnologías que habían adquirido a lo largo de 2020 y 2021, incluido su MetaHuman Creator desarrollado e integrado en Unreal Engine 5 con tecnología de 3Lateral, Cubic Motion y Quixel.El modo Battle Royale de Fortnite recibió mejoras visuales a través de Unreal Engine 5.1 con el lanzamiento del capítulo 4 el 4 de diciembre de 2022.
Uno de los componentes de Unreal Engine 5, MetaHuman Creator, es un proyecto basado en la tecnología de tres empresas adquiridas por Epic -3Lateral, Cubic Motion y Quixel- que permite a los desarrolladores crear rápidamente personajes humanos realistas que pueden exportarse para su uso en Unreal. A través de la asociación con Cesium, Epic ofrece un plugin gratuito para proporcionar datos geoespaciales en 3D a los usuarios de Unreal, permitiéndoles recrear cualquier parte de la superficie cartografiada de la Tierra. Epic incluye también RealityCapture, un producto que adquirió con la compra de Capturing Reality y que puede generar modelos 3D de cualquier objeto a partir de una colección de fotografías tomadas desde múltiples ángulos, y las diversas herramientas de interoperabilidad que ofrece Epic Game Tools.
Unreal Engine 5 mantiene el actual modelo de royalties, según el cual los desarrolladores devuelven a Epic Games el 5% de los ingresos brutos, aunque esta tasa no se aplica a las ventas realizadas a través de Epic Games Store. Además, Epic anunció junto con Unreal Engine 5 que no cobraría ningún canon a los juegos que utilicen cualquier versión de Unreal Engine por el primer millón de dólares de ingresos brutos, con efecto retroactivo desde el 1 de enero de 2020. En octubre de 2023, Epic anunció que cambiaría el sistema de concesión de licencias para el uso de Unreal en aplicaciones no relacionadas con los juegos, como la producción de cine y televisión, a una licencia por asiento.