Use advanced navigation for a better experience.
You can quickly scroll through posts by pressing the above keyboard keys. Now press the button in right corner to close this window.

Unreal Engine 4 vs Unity 4

 

La gran pregunta gran que todos (o casi todos) viven haciendo. Así que llego la hora de hablar de mis apreciaciones al respecto. Si bien pude probar Unity 5 algo, no era ni de cerca lo que supongo que será la versión release, así que no sería justo ponerla en la comparación. Ya vendrá otra comparativa con Unity 5 a futuro.

No creo que ninguno de los dos motores sea realmente mejor que el otro, en el sentido de “EL MEJOR“. Sí creo que ambos son simplemente geniales desde lo que aportan, así que voy a intentar poner en contraste ambos motores según diversas perspectivas, para saber cuál elegir según el proyecto. Recuerden esa frase, “según el proyecto”. Esto incluye cosas como el proyecto en sí mismo, la plataforma, el scope, la cantidad de gente laburando en él, la guita, la experiencia, etc etc.

(¡No te olvides de seguirme en Facebook para estar actualizado con las notas!)

Nota Importante 1: Tomo en cuenta la versión PRO de Unity. Si bien con Unity Free se pueden hacer muchas cosas, creo que lo correcto es comparar ambos motores en todo sentido, es decir, en todas sus prestaciones y costos correspondientes.

Nota Importante 2: Si olvidé algún aspecto importante a comparar… me avisan y lo ponemos =)

 

Precio

  • Unity 4
    • Tiene versión gratis, modelo de suscripción mensual, y también tiene modelo de pago forever.
    • El modelo de suscripción cuesta 75 dólares mensuales por plataforma. O sea: $75 x Standalone+web(Web,PC,Mac,Linux), $ 75 x iOS y $75 x Android. Si usas las 3: $225 por mes
    • El modelo de pago forever, sale 1.500 dólares por plataforma (idem a la división anterior).
    • No pide royalties en tus proyectos
    • Si te das de baja de la suscripción, automáticamente perdés todos los features de la licencia.
    • Las licencias pagas son x 2 seat. Es decir, podés usar una key en hasta dos máquinas. Esto está controlado por un DRM, es decir, cuando activas la key en 2 máquinas, ya no podés en más, dado que el registro de ambas máquinas es online y quedás limitado. Podés “returnear” en una máquina cuando quieras, y pasarlo a otra (por ejemplo si cambiás a otra pc, si formateas windows, etc)
  • Unreal Engine 4:
    • Sólo tiene una versión, paga, y en modelo de suscripción, de 20 dólares mensuales.
    • La licencia es para una persona, pero estás permitido a instalar en múltiples máquinas sin ningún tipo de DRM o similar.
    • Si das de baja tu suscripción, aún podés usar el motor y todos sus features, pero quedás apartado de los updates que pueda tener el motor.
    • Si tu juego es comercial, tenés que pagar un royalty de un 5% de tus ganancias totales.

 

Si lo miramos desde un punto de vista de costo, UE4 es un claro ganador. Por casi 5 veces menos costo, y la posibilidad de no pagar todos los meses, tenemos acceso a todo y para todas las plataformas.

No obstante, la diferencia de precio puede ser muy grande para estudios muy pequeños o individuos, pero cuando hablamos de estudios que sacan proyectos de mediano a gran presupuesto, la diferencia del costo de la licencia no es tan grande y el potencial pago de royalties puede terminar siendo más caro (si bien es sólo un 5%).

 

Plataformas

  • Unity 4
    • Windows, Linux, Mac
    • Web (con un player propio)
    • iOs
    • Android
    • Windows Phone
    • Blackberry
    • Consolas: XBox 360, Xbox One, PS3,PS4, PS Vita, Wii, Wii U
  • Unreal Engine 4:
    • Windows, Mac, Linux
    • Android
    • iOS
    • Consolas: PS4, Xbox One

 

Incluso si UE4 soporta las plataformas mobile más comunes (iOS y Android), la realidad es que la “portabilidad” no es la misma. Unity es un clarisimo ganador si queremos hablar en términos de portabilidad.

Con el paso de los años fueron armando un deploy sumamente bueno a las diversas plataformas y, además, tenemos muchos plugins en el Assets Store y la comunidad para agregar funcionalidad nativa de cada plataforma (en mobile, por ejemplo, cámara, acelerómetro, contactos telefónicos, etc).  Lo cierto es que UE4 está muy lejos de esto.

Además, compilar y deployar para las distintas plataformas, es sumamente veloz en Unity mientras en UE no es raro que traiga algunos problemas hasta que funciona la cuestión.

 

Mobile

Siguiendo el punto anterior sobre las plataformas, si el proyecto que pensás encarar es Mobile, Unity es la opción clarísima. Ojo.. no digo que puedan hacerse proyectos grosos en UE para Mobile, de hecho, Infinity Blade, por dar un ejemplo, fue desarrollado con Unreal Engine 3.

De todas formas, son casos aislados y a las prestaciones y facilidades que te da Unity para Mobile, no hay con que darle.

PC, Mac

Acá hay muchos , muchísimos, casos de éxito en ambas plataformas. Creo que la decisión termina pasando por cuestiones como la calidad visual, la programación, la velocidad de desarrollo, los gustos, etc etc.

Programación / Lógica

  • Unity 4
    • C# (lo único que cuenta, vamos…)
    • Pseudo Javascipt
    • Boo (?)
    • No tiene programación visual por nodos o nada así. Hay tools en el Assets Store com PlayMaker, pagas, por supuesto
  • Unreal Engine 4:
    • C++
    • Blueprints
    • El motor es open source. Esto es.. ¡Increíble! Hay muchas personas e incluso empresas grosas ayudando a mejorar el UE4 gracias a esto, con plugins o incluso commiteando mejores implementaciones de renderings, de importación de formatos, etc, etc.

Si alguien viene de programación pura y dura, quizás crea que los Blueprints de UE4 son para petes. Pero la verdad, son excelentes. Son una verdadera solución de programación visual, super completa, cómoda y rápida. Incluso siendo un programador, uno termina usando Blueprints para la mayoría de las cosas, no porque no te quede otra (podés hacer todo en C++ si querés), sino porque es simplemente más ágil.

En cuanto a la programación con C++ en UE4.. bueno… C++ no es para todos, aunque muchos digan que sí. Es un gran, gran lenguaje, y por suerte en el próximo update de UE4 van a agregar hot reloading (hasta ahora, hay que cerrar el engine cada vez que compilas código……….), pero sigue siendo un lenguaje un toque menos accesible que C#.

Unity no tiene Blueprints, pero programar es mucho más rápido y accesible. El hot reloading funciona y ya. Metes código, tirás play y anda (siempre que el código esté bien..).

En mi experiencia, programar en Unity es muchísimo más fácil y ágil, pero los Blueprints de UE4 ayudan (mucho) a que la diferencia no sea decisiva.

 

Rendering y Tools Visuales

  • Unity 4
    • Shader Básicos
    • Manejo limitado de polígonos en escena, para los standares de hoy (siempre hay técnicas para zafarlo)
    • Las luces y sombras suelen ser problemáticas en escenarios realistas o de baja calidad
    • No trae ningún editor de materiales, aunque hay buenas alternativas en el store: Strumpy Shader Editor  y  Shader Forge
  • Unreal Engine 4:
    • Epic luces y sombras
    • PBR Materials (materiales visuales que se comportan con propiedades físicas / matemáticas, como “metalicidad”)
    • Editor de materiales excelente
    • Necesitás un poco más de background para hacer que todo ande y se vea bien

No hay dudas, ninguna, que UE4 tiene una calidad visual sumamente superior a Unity3D. No obstante, es esperable, teniendo en cuenta que son generaciones distintas. UE4 fue lanzado este año mientras Unity 4 lleva ya  bastante más en escena y siempre tuvo como objetivo otro tipo de proyectos (menos realistas visualmente, digamos…).

Hay juegos que se ven muy bien en Unity 3D, como The Forest, por tirar un ejemplo, pero incluso así, sabemos que no es lo mismo que UE4.

El único “pero” (notar las comillas), es que tampoco es magia lo de UE4. Hay que armar correctamente todos los settings del mapa, las uvs correctas para el bake de luces, las reflections, los materiales (algunos materiales llegan a ser condenadamente complejos), etc. Pero como todo… se aprende y se hace.

Si lo que querés es que tu juego se vea como la gran puta, UE4 es la opción.

 

Herramientas In-Engine

  • Unity 4
    • Mecanim
    • Shuriken (partículas)
    • eh… alguna más?
  • Unreal Engine 4:
    • Editor de Materiales
    • Blueprint Animations
    • Editor de Blueprints de lógica
    • Matineé (cinemáticas y similares)
    • Persona (también para animaciones)
    • Cascade (partículas)

Está claro que UE4  está pensado para ser una herramienta all-in-one, todo metido dentro del engine. Cada herramienta que tiene es excelente. Tal vez Matinee se esta quedando un poco tosca pero la gente de UE tiene pensado reemplazarlo prontamente por algo más moderno.

En contraste, Unity3D se basa muchísimo en la comunidad y el Assets Store. Para casi cualquier necesidad que tengamos, vamos a encontrar una herramienta muy, muy buena. Eso sí… hay que pagar (por lo general), lo que hace que los costos de Unity sigan subiendo respecto a UE, pero que realmente lo valen.

 

Juegos 2D

Aunque en UE4 se pueden hacer juegos 2D sin ningún problema, la verdad es que es un poco engorroso y no le veo mucho sentido meterse con tamaño motor para algo así, salvo que se use alguna feature especial (no se me ocurre cual).

Unity 3D, más allá del nombre, es genial para hacer juegos 2D. Trae soporte 2D nativo (sprites, animaciones, física) y también hay un montón de tools excelentes y con mucha trayectoria como 2D Toolkit (yo la uso para todo casi), o Smooth Moves (excelente para animación tipo cutout, onda esqueleto 2D).

Manejo de Interfaces

A mi gusto, en ambos motores el manejo de interfaces es un garrón.

El OnGUI y demás sistemas de UI de Unity es simplemente desastroso, aunque en Unity 4.6 ya van a incorporar el nuevo sistema de UIs de Unity5 y es un gran paso adelante. Nuevamente, hay assets pagos muy buenos para sacarnos de este problema: NGUI, Daikon Forge y 2D Toolkit son, para mí, los mejores.

En Unreal Engine 4 tenemos otro problemón en este aspecto. Se pueden hacer UIs con Blueprints y cosas medio feas, igual que en Unity, pero realmente se extraña la integración con Scaleform de UE3. Aún muchas herramientas de terceros, tampoco hay, pero la más destacable a mi gusto es Coherent UI, que es paga (con un modelo de suscripción), pero requiere que la persona(s) encargada(s) de hacer la UI, conozcan de HTML+CSS+Javascript. (lo que no es necesariamente malo)

 

Comunidad , Store, Soporte Técnico, Tools..

  • Unity 4
    • Enorme comunidad, foros oficiales, foros no oficiales, sitios, tutoriales por doquier, etc
    • El Assets Store es casi mágico. Mucha herramientas son un MUST y te hacen la vida feliz. Si bien la mayoría de las buenas son pagas, a la larga te ahorran días y días de trabajo y tienen soporte constante… por lo que por unos mangos te ahorrás muchísimos más. Voy a hacer una nota sobre las mejores tools en Unity.
    • El soporte técnico funciona bien desde siempre, en mi experiencia, a pesar de los millones de usuarios. Siempre obtuve respuestas rápidas y útiles.
  • Unreal Engine 4:
    • La comunidad es más incipiente, pero está creciendo mucho. Los foros oficiales son bastante movidos y con gente muy buena onda que siempre aporta.
    • El Answer Hub es simplemente genial. Te responde todo, y si preguntás, recibís respuesta, casi siempre, muy rápido.
    • Tiene un store que abrieron recientemente, pero está muy verde.

Si bien la comunidad de Unity es mucho más grande, la de UE4 es también muy buena. No hay quejas por ninguno de los dos lados.

El Assets Store de Unity se lleva toda la gloria, y es uno de los grandes factores a tener en cuenta cuando hacemos un proyecto…. muchas cosas ya las tenemos resueltas en forma de package en el store, por precios que no se comparan con lo que nos saldría a nosotros hacerlo o pagarle a un programador, y por una calidad seguramente mejor (y con soporte técnico).

Ojalá el Marketplace de Unreal Engine crezca al mismo nivel que el Assets Store de Unity.. sería un golazo.

 

Juegos Stand Alone de referencia (elijo solo algunos)

 

Juegos Mobile

Bueno… no conozco ninguno en UE4…. ni bajo desarrollo, y conozco infinitos en Unity. =P Acá está el showcase entero.

Leave a reply

 

small_keyboard