Di gran lunga i motori più popolari per i piccoli sviluppatori di giochi sono Unity e Unreal Engine, e per una buona ragione.
Unity vs Unreal è un argomento molto discusso, paragonabile a Microsoft vs Apple.
Sono entrambi in grado di produrre grafica di qualità AAA, entrambi hanno grandi ponti tra la maggior parte dei software standard del settore.
Sono dotati di una vasta gamma di strumenti tra cui editor di terreno, simulazione fisica, animazione, illuminazione avanzata, supporto VR e molto, molto altro.
C’è stato un tempo in cui si poteva facilmente distinguere ciascun motore semplicemente guardando un gioco. Entrambi avevano il loro “look”, nel bene e nel male.
Tuttavia quel tempo è passato, e non si può distinguere un motore dall’altro solo guardando il risultato. Prendete l’immagine qui sopra come esempio, il personaggio di sinistra è stato renderizzato in Unreal e quello di destra in Unity.
È più nelle mani dei game designer far apparire un gioco in un modo specifico, il che è una buona cosa!
Quindi, in superficie, sembra che abbiamo un pareggio? Beh… Non proprio… Ogni motore ha i suoi vantaggi e svantaggi. La bellezza è negli occhi di chi guarda, come si suol dire, e questo è vero anche per i motori di gioco.
Se hai appena iniziato a imparare a fare giochi, o forse sei un po’ più esperto e sei curioso di sapere se hai preso la decisione giusta. Continuate a leggere mentre approfondiamo questa guerra in corso tra due titani Unity vs Unreal.
Video (articolo scritto sotto)
Ho incorporato un video che dettaglia la mia esperienza con entrambi i motori nel caso preferiate rilassarvi e ascoltare. Il video ha informazioni più aggiornate e dal momento che è stato registrato dopo che ho inizialmente scritto questo articolo ci sono alcune chicche extra in esso.
Se si preferisce leggere, si prega di andare avanti e scorrere verso il basso per l’articolo completo. Sto lavorando per aggiornare l’articolo in questo momento. (Il 95% delle informazioni è ancora molto valido). Il confronto dei prezzi è stato aggiornato nel 2020.
Introduzione
Fondata nel 2004 con l’obiettivo di rendere lo sviluppo dei giochi accessibile a tutti e non solo alle grandi aziende, Unity ha fatto esattamente questo.
Quasi ogni singolo sviluppatore di giochi indie ha iniziato o sta ancora usando Unity come strumento principale.
Con il suo design molto intuitivo, il linguaggio di codifica C# che lo rende facile da imparare e utilizzare. Una grande comunità, un enorme archivio di risorse, tonnellate di tutorial e corsi da trovare online.
Tutto questo rende Unity una scelta convincente per i team più piccoli e per le persone che iniziano a creare giochi.
Ecco una lista dei migliori giochi realizzati con Unity se volete vedere alcuni esempi di ciò che Unity è capace di fare.
Sviluppato insieme al suo titolo di debutto “Unreal” e rilasciato nel 1998 da Epic Games, seguito dal super successo “Unreal Tournament”. Unreal è sempre stato noto per la sua grafica frenetica e la sua presenza nella cultura dei giochi AAA di alto livello.
Ora con il suo ultimo modello di prezzi che lo rende accessibile anche agli sviluppatori più piccoli, mettendo Unreal in competizione con Unity.
Anche se la sua documentazione è un po’ confusa, non ha una comunità così ampia come Unity. Alcune interfacce intimidatorie, per non parlare del linguaggio di codifica che è il C++.
Offre un motore di gioco potente, spingendo la grafica al massimo livello pur mantenendo l’efficienza. Pieno di caratteristiche e strumenti, una volta imparato, Unreal non porrà limiti alla realizzazione della vostra visione.
Con gli ultimi sforzi della Epic per rendere Unreal più accessibile con l’introduzione di Blueprints (sistema di codifica visuale), i continui sforzi per migliorare la documentazione, i contenuti di apprendimento e una forte attenzione alla costruzione di una comunità, Unreal è una scelta solida per qualsiasi sviluppatore di giochi.
Grafica

Ora che abbiamo un po’ di background passiamo ai cavalli di battaglia dei due motori.
Entrambi i motori supportano giochi con rendering 2D e completamente 3D. Eseguono le ultime tecnologie tra cui PBR (Physically-Based Rendering), GI (Global Illumination), luci volumetriche, Post Processing, shader avanzati e molto altro..
Sulla carta, sembra che non importi quale motore scegliate se la grafica è ciò che vi interessa.
Sebbene si possa essere in grado di produrre lo stesso risultato usando entrambi i motori, questo è purtroppo il punto in cui Unity non riesce a raggiungere il risultato desiderato.
Unreal – grafica
Come ho detto, risultati simili possono essere ottenuti con entrambi i motori. Tuttavia, Unreal è ricco di strumenti, preset che funzionano davvero appena fuori dalla scatola e possono essere facilmente modificati.
Luci volumetriche, Post Processing, lens flares, e così via. È tutto lì, pronto per essere usato e ha un aspetto fantastico dal momento in cui lo si inserisce.
L’illuminazione in Unreal sembra molto più accurata e uniforme rispetto a Unity. Quando si esegue il bake dell’illuminazione con “Production Quality”, l’aspetto è sorprendente, con glitch grafici minimi ma per lo più assenti o strani artefatti.
Le ombre hanno una bella caduta e un aspetto curato. Tutto questo mentre si usano molte meno chiamate di disegno rispetto a Unity, migliorando notevolmente le prestazioni.
Ha anche un incredibile editor di materiali, usando il grafico a nodi si possono facilmente creare e modificare i materiali. It works very similarly to other 3D softwares like Maya or 3DS MAX. This enabling you to quickly adjust and iterate with live feedback within Unreal itself.


Post processing is fully integrated and ready to use, giving you a wide option for grading, lens flares, volumetric effects etc.
The system is similar to what is used in the film industry giving it a smooth cinematographic feel.
You also have the option to place trigger volumes around the world, so that when a player enters that volume the colors change. Cioè ad un blu più freddo, permettendovi di impostare l’atmosfera per diverse aree della vostra mappa ecc

Unity – grafica
Mentre si lavora costantemente e si migliora, unity manca un po’ di smalto quando si tratta di produrre un buon risultato estetico.
Potreste trovarvi a lottare per ottenere ciò che avete immaginato. Ci vorrà un po’ di dedizione per arrivarci, tuttavia ci si può arrivare, ma non senza sforzo.
Il sistema di illuminazione è abbastanza moderno e supporta le ultime tecnologie come PBR e GI come menzionato prima, ma vi troverete a cuocere l’illuminazione della vostra scena molte volte, cercando di risolvere strani artefatti e altri problemi.
Il dettaglio delle ombre non è bello come quello di Unreal, ma sicuramente non è male. Con il nuovo aggiornamento 2018 Unity ha aggiornato a un modello di illuminazione più leggero, che era sicuramente necessario. Ma rispetto a Unreal, può essere ancora meglio.
Unity non ha quasi nessun editor di materiali, supporta le solite mappe normali, mappe di occlusione, texture di base ecc. con alcuni parametri molto limitati da regolare.
Ma vi troverete comunque a scambiare spesso avanti e indietro tra il vostro programma di texturing e Unity, dovendo fare piccole modifiche, esportare tutti i file, provare in Unity, poi sciacquare e ripetere.
Nota – Unity ha rilasciato una beta con un editor di materiali incluso, tuttavia, richiede impostazioni grafiche molto specifiche e può diventare una bella confusione. Non è esattamente semplice per i principianti e gli utenti intermedi utilizzare il loro grafico shader, è anche ancora in beta, il che significa che non è stato adeguatamente integrato con Unity, motivo per cui non lo considererò una caratteristica ufficiale… ancora 🙂
Il post processing è offerto ma deve essere scaricato dall’asset store e installato (gratuitamente), e funziona ma tende a lanciare errori nella console e ha un sacco di altre limitazioni. Anche se fa ciò di cui ha bisogno, sembra ancora piuttosto grezzo e non rifinito rispetto a ciò che Unreal ha da offrire.
Curva di apprendimento

È qui che Unity brilla. Con la sua interfaccia intuitiva, vi troverete a sperimentare con il motore e a provare diverse idee di gioco in pochissimo tempo. Ed è davvero divertente!
È così facile e veloce mettere insieme qualcosa e condividerlo con i tuoi amici. È così semplificato e facile da capire.
Per non parlare della grande quantità di contenuti online. Da corsi a semplici tutorial, forum e un’eccellente documentazione con una grande funzionalità di ricerca, ecc.
Qualunque sia il problema che potreste avere, potete essere sicuri di trovare un post nel forum o una pagina nella documentazione che chiarirà la vostra confusione.
Unreal. Beh, è intimidatorio. Difficile. Frustrante… Difficile…
Il C++ è una bella bestia su cui avvolgere la testa, il sistema Blueprint aiuta (ci immergeremo più a fondo nei Blueprint più avanti), ma senza alcuna conoscenza del C++, vi tirerete un po’ i capelli.
L’interfaccia è carina, ma enorme, con un’infinità di finestre pop-up aggiuntive stipate con ancora più pulsanti per confondervi.
Questo combinato con il fatto che semplicemente non c’è così tanto contenuto di apprendimento online come con Unity, una documentazione che non è così facile da leggere e non una comunità molto grande per aiutarvi con i problemi (anche se si spera che questo migliori in un futuro non troppo lontano).
Se si finisce con un problema si può facilmente finire per passare ore online alla ricerca di una soluzione – e potrebbe anche non riuscire a trovare necessariamente ciò di cui si ha bisogno.

Non consiglio assolutamente di iniziare con Unreal se siete nuovi nel creare giochi, vi arrenderete.
E prima che tu mi faccia un flame nei commenti perché ti è capitato di iniziare con Unreal senza alcuna esperienza di base e stai andando alla grande, beh, congratulazioni… sei un genio… 🙁
Io ho sicuramente rinunciato più velocemente della velocità della luce quando ho aperto Unreal per la prima volta.
Toolbox
Entrambi i motori sono dotati di una serie di strumenti con cui giocare.
Entrambi hanno i loro negozi di risorse dove è possibile trovare una grande varietà di plugin, pezzi di codice, animazioni e modelli, alcuni creati da Unreal/Unity, ma anche estensioni costruite dalla comunità.
I negozi di risorse sono anche un’opportunità per voi di vendere e condividere ciò che avete fatto.

Unity – toolbox
Unity comes loaded with tools for you to use, including Physics, Animation, Lighting, Event triggers, Audio and much more.
But even so, there is still a lot to be desired, after spending some time in Unity, I can’t help but feeling the emptiness a bit.

And the tools that actually do come with Unity feel.. Well, not great.
Every time I start getting into the polish of a game mechanic, even something as basic as an FPS player controller, I find myself having to rebuild it from scratch.
Taking the FPS controller as example, which is probably the most common function on average in modern games. Quello che viene fornito con Unity sembra gonfio, non ottimizzato e francamente non si sente molto bene quando si gioca.
Questo vale anche per molti altri strumenti, alcuni di essi funzionano, ma si potrebbe aver bisogno di un plugin con cui fare da stampella allo strumento per farlo funzionare correttamente, o semplicemente passare un sacco di tempo a smanettare con esso.
Non si può fare a meno di sentire che tutto sembra un po’ improvvisato, come gli strumenti standard che iniziano a lanciare errori nella console anche se non si è ancora toccato nulla.
La linea di fondo è che se avete intenzione di fare giochi in Unity, preparatevi a scrivere molti degli strumenti per conto vostro, perché vi stancherete molto rapidamente del pacchetto standard.
Grazie al cielo, l’asset store di Unity è stracolmo di plugin, estensioni e altre cose utili che vi aiuteranno a scrivere quei pezzi mancanti, e di solito ad un prezzo ragionevole.
Ma è giusto fare così tanto affidamento sulla vostra comunità per rattoppare il vostro motore?
Ma alla fine della giornata, è molto facile fare i propri strumenti all’interno di Unity ed è anche molto divertente, se vi piace questo genere di cose, naturalmente.
Definitamente fate una prova prima di ascoltarmi troppo su questo punto. Forse Unity offre esattamente ciò di cui avete bisogno per finire il vostro gioco!
Unreal – toolbox
In un caso simile al confronto con la grafica, Unreal viene caricato con una quantità enorme di strumenti e caratteristiche che, per la maggior parte, sembrano funzionare direttamente fuori dalla scatola.
Il lato negativo, di nuovo, è molto complicato. A volte sembra di essere nel mezzo di un labirinto e non avere idea di dove andare. Ma una volta che conosci la strada, niente ti fermerà.
Tutti gli strumenti sembrano ben integrati, niente sembra hacked insieme, è robusto, e funziona. La maggior parte delle volte 🙂
C’è naturalmente anche un negozio di risorse, non così fornito come quello di Unity e un po’ più costoso in media. Ma può ancora fornire un grande supporto per il tuo gioco.
Se vuoi un controller per il giocatore in terza persona, lo inserisci e premi play. Via, potete correre in giro, saltare, accovacciarvi e testare il vostro livello in un attimo. Non c’è bisogno di importare pacchetti o di armeggiare nelle impostazioni cercando di farlo funzionare.

L’editor di terreni batte quello di Unity con una valanga. Nessuna concorrenza.
Ma… e se manca qualcosa di cui avete disperatamente bisogno? E l’asset store non sembra offrire ciò di cui avete bisogno?
Proprio come con Unity, avete la possibilità di costruire i vostri strumenti, ma poiché tutto deve essere scritto in C++, e solo per il fatto che Unreal è un po’ più avanzato in generale. Avrete senza dubbio più difficoltà a scrivere i vostri strumenti. Almeno all’inizio.
Coding
Unity uses C# which is fairly similar to C++ but a lot simpler and easier to learn.
This making it a great first step to learning how to code.
Unreal is full on C++ which is arguably the hardest coding language to learn, but they do also have what they call Blueprints.

Blueprints is a visual scripting system where you do not have to put in a single line of code.
You connect nodes together with various function and can that way “code” your game’s different behaviours without actually having to code.
While it is great and you probably could make a whole game without a single line of code this way. In it’s current state, some things are just better done in code.
Having some C++ skills will be very useful when working in Unreal.
2D games

If you are looking at creating 2D content, there really isn’t much to talk about. Your best bet will be Unity.
With its simplified UI and very well developed 2D tools, intuitive sprite animation etc – you really can’t go wrong with Unity.
It can of course be done in Unreal as well, but there just isn’t much point as Unreal is not developed for 2D games. It will add an unnecessary level of complexity that just simply isn’t needed.
Price
Unity is available in three options, Personal, Plus and Pro.
The personal edition comes with all core features and is completely free. You are allowed up to $100K USD in annual revenue. Sei anche obbligato ad avere lo splash screen “Made in Unity” prima che il tuo gioco inizi.
Plus ti permette fino a $200K USD di entrate annuali e ti costerà $40 al mese in abbonamento se ti iscrivi per un anno. Viene anche fornito con benefici aggiunti come – schermo Splash personalizzato, 20% di sconto nel negozio di beni e prestazioni crash reporting per citarne alcuni.
Pro ti dà tutti i vantaggi Plus e non ha limiti di entrate annuali. Il prezzo è di 150 dollari al mese. Ma se stai facendo più di $200K all’anno, questo non è davvero un problema 😉
Maggiori informazioni sui prezzi di Unity possono essere trovate qui.
Unreal ha un approccio diverso – Ti darà il motore completo con tutte le sue caratteristiche gratuitamente. Ma tu devi loro il 5% delle tue entrate totali quando spedisci il tuo gioco, per sempre. Tranne che per i primi 3000 dollari per gioco per trimestre, puoi tenerne il 100%.
Più informazioni sui prezzi di Unreal possono essere trovate qui.
E gli altri motori?

Ci sono altri motori là fuori, per esempio CryTek’s Cry Engine che ha anche iniziato a concentrarsi su un pubblico più ampio utilizzando lo stesso modello di prezzi di unreal e ha iniziato a guadagnare trazione con i piccoli sviluppatori. Potremmo fare un confronto includendo il motore Cry più avanti.
Con sorpresa di tutti, Amazon ha rilasciato il motore Lumberyard, e non solo. È gratis. Punto. Nessuna royalty, nessun abbonamento. Gratis.
La loro idea è che se si fa un gioco multiplayer, si può pagare amazon per l’hosting del server, e sperare di fare i loro soldi in quel modo invece. È basato sul motore CryTek, quindi non sbagliate a pensare che questo non sia un motore AAA completo.
I have not yet tried it so I can not form an opinion about it just yet but I will definitely get in there and test it out as soon as time allows.
GameMaker developed by YoYo is another option, it focuses primarily on 2D games. It is not as powerful as Unity or Unreal, but might be a great option if you want to get your feet wet and try some 2D game deving. Some great indie titles have been made using GameMaker, take Hyper Light Drifter for example. Gorgeous.
Conclusion – which engine is right for YOU?
Unreal è grande in molti modi, ma con la sua ripida curva di apprendimento può essere abbastanza scoraggiante se sei un principiante. Anche Unity può essere piuttosto intimidatorio all’inizio!
Ma Unreal è sicuramente la scelta migliore se ci si vuole concentrare sulla grafica e sul gameplay di alto livello.
Certo, Unity ha alcuni difetti e forse non farà impazzire la grafica come Unreal, ma può ancora produrre un grande risultato. Sarà molto più facile e veloce fare un gioco finito in Unity che in Unreal, almeno all’inizio.
Quindi il verdetto è: se siete arrivati su questa pagina volendo iniziare un hobby o una carriera nella creazione di giochi, è probabile che dovreste iniziare con Unity.
E poi passare a Unreal in un secondo momento, quando avrete un po’ di esperienza.
Allora potrete farvi un’opinione su quale strada funziona meglio per voi.
Inoltre, molto di ciò che si impara in Unity è più o meno applicabile anche in Unreal, quindi non pensate che imparare Unity sia una perdita di tempo.
Learning
Ben Tristem ha sviluppato dei corsi fantastici sia per Unity che per Unreal, non posso raccomandare abbastanza i suoi corsi. Il suo ritmo costante e le sue sfide intuitive rendono l’apprendimento del codice e la navigazione dei software molto divertente e facile!
Si può naturalmente anche controllare i siti web di Unity e Unreal che offrono del buon materiale didattico. Ma io suggerirei di seguire prima i corsi di Ben per bagnarsi i piedi e aumentare la fiducia in se stessi.