# Unreal Engine

L'Unreal Engine è un motore grafico sviluppato da Epic Games. La prima versione è stata realizzata per lo sparatutto in prima persona Unreal, pubblicato nel 1998 per Microsoft Windows, Linux e Mac OS; nel corso degli anni lo sviluppo è continuato, adattando il software alle potenzialità degli hardware disponibili e portandolo ad altre piattaforme. Attualmente è stata annunciata la quinta generazione del motore.

## Versioni
### Unreal Engine 1

L'Unreal Engine inizia, nel 1998, il suo debutto col videogioco Unreal; già questa prima versione integrava un rendering piuttosto avanzato ed includeva rilevamento delle collisioni, buona intelligenza artificiale, networking, e scripting, facendone un motore grafico completo. In più parti il motore grafico è stato creato implementando un linguaggio di script personalizzato da Epic Games, noto come UnrealScript.
Le prestazioni del motore grafico in modalità multiplayer erano inizialmente molto scarse, rispetto in particolare al suo principale concorrente, Quake II. Poi con Unreal Tournament sono stati fatti grandi passi in avanti in termini di prestazioni di rete; ed è stato aggiunto il supporto per Direct3D e OpenGL.

### Unreal Engine 2

La seconda versione dell'Unreal Engine fece il suo primissimo debutto con America's Army. Con questa versione il codice di base e il motore di rendering sono stati completamente riscritti, inoltre è stata implementata la fisica Ragdoll ed è stato aggiunto il supporto alle console della sesta generazione come GameCube e Xbox.
Andando avanti con la settima generazione, l'Unreal Engine 2 ha dovuto adattarsi ad hardware più potenti come Xbox 360 e PlayStation 3; per questo è stato creato l'Unreal Engine 2.5.
Con l'Unreal Engine 2.5 furono aggiunte alcune migliorie che sarebbero poi state utilizzate con l'Unreal Engine 3, ovvero un rendering notevolmente migliore, fisica applicabile ai veicoli, ed un sistema particellare potenziato.
Il 24 marzo 2011, Ubisoft Montreal, ha rivelato che l'Unreal Engine 2.5 era stato implementato con successo su Nintendo 3DS.

### Unreal Engine 3

I primi screenshot dell'Unreal Engine 3 furono presentati nel 2004, dopo un periodo di 18 mesi di sviluppo. La terza versione dell'Unreal Engine è stata creata per funzionare esclusivamente con le versioni di DirectX9 o superiori. È in grado di supportare il Pixel Shader Model 3.0; il normal, bump e parallax mapping funzionano in modo più efficiente e preciso, ed inoltre supporta le impostazioni grafiche più avanzate come l'illuminazione globale, HDRI, riflessione diffusa e displacement mapping.
In fatto di shading sono stati implementati anche l'ambient occlusion e il gouraud shading.
Il primo gioco, più noto, ad implementare l'Unreal Engine 3 è stato Gears of War su Xbox 360, nel 2006. Nel tempo la sua alta versatilità e le sue eccezionali doti grafiche hanno fatto dell'Unreal Engine 3 uno dei motori più utilizzati ed apprezzati della settima generazione.
La versione più avanzata e perfezionata è l'Unreal Engine 3.9, utilizzato in Gears of War 3.

### Unreal Engine 4

Versione 4 è stata annunciata già nel 2005. Questa versione aveva lo scopo di essere utilizzabile in parte dalle piattaforme di settima generazione, ma maggiormente da quelle di ottava. Secondo una dichiarazione del presidente di Epic Games, Michael Capps, l'Unreal Engine 4 non sarebbe stato pronto prima del 2012.
Nel 2013, durante la Game Developers Conference a San Francisco, vengono mostrate diverse tech-demo dell'Unreal Engine 4, in esecuzione su un PC con 16 gigabyte di memoria RAM e con una scheda grafica NVIDIA GeForce GTX 680.
Dal 2014 tramite un abbonamento da 19$ mensili è possibile ottenere accesso a una copia dell'UE4 e al relativo codice sorgente.
A partire dal 2 marzo 2015, l'Unreal Engine 4 è disponibile gratuitamente a tutti, pagando comunque una royalty del 5% sul reddito lordo, dopo i primi 3000 dollari (dal 2020 aumentato a 1 milione) per prodotto, per trimestre se il prodotto non verrà pubblicato sullo store proprietario Epic. Le software houses che pubblicheranno i propri prodotti sviluppati con Unreal o Unity su Epic Store dovranno riconoscere solo il 12% in fees a Epic.

### Unreal Engine 5

La prima tech demo dell'Unreal Engine 5, eseguita su PS5, è stata mostrata il 13 maggio 2020 da parte del team di sviluppo di Epic Games. È stato rilasciato in accesso anticipato il 26 maggio 2021, con lancio ufficiale il 9 dicembre 2021
L'Unreal Engine 5 presenta tre importanti miglioramenti: Lumen, Nanite e Taipei.
Lumen è un nuovo sistema di illuminazione globale che crea ambienti realistici con una maggiore qualità e dettaglio. Inoltre, può creare effetti di luce dinamici, come l'illuminazione del fuoco o di una lanterna, in maniera più efficace rispetto alle versioni precedenti di Unreal.
Abbiamo poi Nanite, un sistema di rendering basato su particelle che permette di gestire modelli complessi in tempo reale. Per gli sviluppatori è possibile utilizzare modelli molto dettagliati, senza però avere la necessità di adattarli alla piattaforma di riferimento, e quindi preoccuparsi delle prestazioni. Anche gli artisti beneficiano di questa tecnologia, poiché rende il flusso di lavoro più semplice e veloce.
Infine, Taipei è un sistema di animazione basato sull'IA che crea animazioni più fluide e realistiche.
I miglioramenti grafici ottenuti dai render in tempo reale di questa versione, hanno spinto molto in avanti lo sviluppo della Virtual Production in ambito cinematografico.
L'Unreal Engine 5 è stato rilasciato il 5 aprile 2022.

#### Unreal Engine 5.1

La versione 5.1 porta con sé molte migliorie. Ad ottobre 2022 esce la preview dell'Unreal Engine 5.1, con varie novità e migliorie, mentre il mese dopo esce il changelog definitivo sul sito dedicato e su varie testate.

#### Unreal Engine 5.3

A Settembre 2023 è stata infatti ufficialmente presentata la versione 5.3 dell'Unreal Engine 5. Tramite quest'ultima, il motore grafico mette a disposizione degli sviluppatori tante nuove feature da sfruttare per dare vita alle proprie creazioni. Tra queste trova spazio un ampliamento delle potenzialità offerte da Nanite e Lumen, con un ulteriore perfezionamento di resa del Ray Tracing. In via sperimentale, l'Unreal Engine 5.3 accoglie anche una nuova tecnologia di rendering di effetti volumetrici complessi, volta a incrementare la resa di fumo e fiamme all'interno degli scenari. Spazio anche all'attivazione - sempre sperimentale - di un nuovo sistema di rendering ortogonale, in grado di semplificare la costruzione di architetture complesse e la gestione degli spazi in-game. Buone notizie infine per gli animatori, che possono ora disporre di un nuovo sistema di costruzione e manovra per gli scheletri delle proprie creature. L'obiettivo dell'azienda è preciso e piuttosto ambizioso: offrire anche su console l'esperienza dei 60 FPS con grafica e luci avanzate. Si ha un importante miglioramento delle prestazioni in Ray Tracing, anche e soprattutto su console, puntando a migliorare l'illuminazione globale in tempo reale attraverso il calcolo di una maggiore quantità di rimbalzi di luce.

#### Unreal Engine 5.4

Tra le novità più rilevanti, spicca l’ottimizzazione del Temporal Super Resolution (TSR), che ora include la funzione “History Resurrection” per l’anti-aliasing, migliorando la stabilità visiva e riducendo gli artefatti. Inoltre, Unreal Engine 5.4 porta il supporto sperimentale per Vulkan Ray Tracing, estendendo le possibilità di ray tracing anche su piattaforme Linux. Altre innovazioni includono il Variable Rate Shading (VRS) per l’ottimizzazione del middleware Nanite, strumenti finalizzati come la Virtual Camera, il Retargeting Automatico e il Sequencer per la creazione rapida di scene cinematiche. Questi avanzamenti promettono di elevare ulteriormente la qualità e l’immersività delle esperienze di gioco, come dimostrato dal gioco Marvel 1943: Rise of Hydra, che sfrutta le potenzialità dell’Unreal Engine 5.4. A Giugno 2024 esce una demo in Unreal Engine 5.4.

#### Unreal Engine 5.5

Epic Games alza ufficialmente il sipario sulla versione 5.5 di Unreal Engine mostrandola in azione su PlayStation 5 con una demo che 'mette in luce' i benefici promessi per sviluppatori e giocatori. Il segreto delle performance di Unreal Engine 5.5 risiede in MegaLight, una tecnologia che promette di aumentare in maniera sensibile le prestazioni dei videogiochi che si avvalgono di Lumen e Nanite per generare a schermo luci, ombre e riflessi iperrealistici su superfici complesse. Stando a quanto sostenuto da Epic, MegaLight consentirà a sviluppatori e creatori di contenuti di non dover più preoccuparsi delle limitazioni imposte attualmente dall'utilizzo di Unreal Engine 5 per renderizzare scene interattive con un'illuminazione gestita in tempo reale. Anche sul fronte delle animazioni sono previste delle importanti novità con UE 5.5: l'ultima iterazione di Unreal Engine introdurrà un sistema di animazioni completamente integrato nel motore grafico per facilitare il compito degli sviluppatori e, come nel caso di MegaLight, migliorare le prestazioni ingame. Spazio poi a un nuovo denoiser per Lumen e a Nanite Skeleton Meshes, una funzione (per il momento ancora sperimentale) che promette di sbloccare l'utilizzo di Nanite nella creazione e nella gestione di personaggi o oggetti deformabili.
Da gennaio 2025, con l'iniziativa "Launch Everywhere with Epic", la royalty da pagare per il videogioco realizzato con Unreal potrà essere ridotta al 3,5% (sempre sul guadagno minimo di 1 milione di dollari) a condizione che venga lanciato sullo store di Epic prima o in contemporanea con altri game store disponibili.