Ventajas y desventajas de usar Unreal Engine. Una comparativa con Unity 3D

Unreal Engine 4 es indudablemente uno de los mejores, si no el mejor, motores de videojuegos actuales. Su potencia gráfica y su usabilidad lo convierten en una gran elección a la hora de desarrollar un videojuego, tanto para grandes estudios Triple A como para pequeños estudios indies.

Desde que me dedico a esto del desarrollo de videojuegos he usado diferentes motores gráficos, siempre buscando motores que resulten sencillos de usar, en los que la programación sea escasa o inexistente.

Vivimos en la mejor época para hacer videojuegos y en ello tiene mucho que ver la gran variedad de motores que existen, ofreciendo cada uno opciones y ventajas únicas. Cada desarrollador puede escoger entre multitud de herramientas para encontrar la que mejor se adapte a sus gustos, capacidades y juegos que quiera desarrollar. No es lo mismo hacer un juego 2D que 3D, sencillo o complejo, para potentes ordenadores y consolas o plataformas móviles.

En mi caso opté por buscar motores que tuvieran, como ya he dicho, un uso sencillo y en los que apenas hiciera falta programar. He probado sobre todo Game Maker, Construct 2, Unity y Unreal Engine 4. De estos cuatro con los que más he trabajado y he llegado a prototipar e incluso a tener proyectos terminados es con Unity 3D y Unreal Engine 4, por lo tanto me centraré en estos dos motores.

UNITY

Indudablemente Unity ha tenido un papel fundamental para acercar a la industria de los videojuegos a muchos más desarrolladores, pudiendo desarrollar juegos con un presupuesto mucho más ajustado.  Por lo tanto la expansión del fenómeno indie no habría sido igual sin la existencia de Unity.

Unity es un motor relativamente sencillo de usar, con una interfaz gráfica sencilla y moderna. Muchas de las herramientas de creación del juego se representan con elementos visuales y menús sencillos de usar y modificar sin necesidad de escribir código, aunque sí es necesario tocar el editor de código forzosamente para crear el videojuego.

Interfaz de Unity

Unity supuso un cambio en las reglas de juego. Es cierto que ya existían otros motores con interfaz gráfica y en los que apenas era necesario programar, como Game Maker, pero Unity suponía un salto de calidad evidente, adentrándose de manera clara en el 3D y acercando por tanto el desarrollo moderno al mundo independiente.

Parte de la fórmula del éxito de Unity también tuvo que ver con su modelo económico, ofreciendo una versión gratuita que ofrece suficientes herramientas para hacer un videojuego sin tener que pagar costosas licencias ni royalties. También es cierto que las versiones de pago siguen ofreciendo numerosas ventajas a un precio relativamente alto.

Otros elementos que caracterizan a Unity son la multitud de plugins que se pueden añadir al propio programa, muchos de ellos gratuitos. También es una buena característica la facilidad para exportar a multitud de plataformas, incluyendo teléfonos móviles, donde indudablemente sigue siendo la mejor opción debido a la optimización y calidad gráfica de los juegos a un coste técnico bastante bajo.

Todo lo dicho anteriormente ha convertido a Unity en el motor predilecto del desarrollo independiente. Alrededor de Unity se ha creado una comunidad inmensa, llenando youtube y los foros de tutoriales y herramientas muy útiles. Lo que de verdad hace grande a Unity actualmente es su inmensa comunidad.

UNREAL ENGINE 4

Pero en 2015, hace sólo dos años, llegó un nuevo motor, el único que de verdad ha sido capaz de hacerle sombra a Unity hasta ahora, Unreal Engine 4. Unreal Engine, el motor desarrollado por la compañía Epic desde el año 1998, es ya un clásico de los motores gráficos. Su anterior versión, Unreal Engine 3 y su versión gratuita, UDK, ya habían atraído a numerosos desarrolladores por su relativa sencillez de uso y sus increíbles capacidades gráficas.

Pero con Unreal Engine 4 Epic aprendió de lo que había hecho bien Unity y lo aplicó a su propio motor, creando un programa de uso sencillo, atractivo, moderno e increíblemente potente. De hecho, debido a las continuas implementaciones de cada versión de Unreal Engine (acaba de salir la versión 4.18), se ha convertido en el motor más potente de la actualidad, con mejoras en iluminación, efectos y texturas que acercan a los videojuegos desarrollados en UE4 al fotorrealismo más que cualquier otro motor del mercado.

No es la realidad, es Unreal Engine 4

Unity, pese a sus continuas mejoras y nuevas versiones, nunca ha llegado a alcanzar el nivel gráfico de los motores de videojuegos Triple A. Cada vez está más cerca, pero alcanzar una buena calidad gráfica requiere un gran esfuerzo por parte del desarrollador. Además no debemos olvidar que para sacar toda la potencia gráfica a Unity es necesario poseer una costosa licencia PRO.

Mientras tanto, Unreal Engine 4 ofrece herramientas implementadas dentro del entorno visual que permiten darle a cualquier videojuego un aspecto completamente profesional y personalizable sin necesidad de programar y en cuestión de minutos u horas. Este aspecto gráfico va mejorando con cada nueva versión de Unreal Engine, haciendo que la diferencia gráfica entre Unity y el propio Unreal sea cada vez mayor en favor del segundo.

A esto hay que añadir que Unreal Engine 4 no tiene versiones de pago, todas las opciones del motor están accesibles para todos los desarrolladores, desde la poderosa empresa Triple A hasta el desarrollador más solitario y sin recursos. Epic consigue beneficios a través de un pequeño porcentaje de los beneficios del juego, un 5% a partir de los primeros 3000 dólares trimestrales.

LAS VENTAJAS DE UNITY

En realidad Unreal Engine 4 hace casi lo mismo que Unity pero siendo mejor que Unity en casi todo, entonces ¿por qué Unity sigue teniendo tanto apoyo? Principalmente es por dos razones, la primera es por el desconocimiento de la comunidad de desarrolladores de Unity. Se tiene pavor a Unreal Engine, se sigue viendo como un motor difícil de usar en comparación con Unity, como si siguiera siendo UDK y no un motor moderno y con una usabilidad insuperable por cualquier otro motor actual. Se sigue relacionando a Unity con desarrollo indie y equipos pequeños y a Unreal Engine con desarrollo triple A y equipos grandes. La gran mayoría de desarrolladores se encuentran cómodos en Unity y ni siquiera le han dado la oportunidad a Unreal Engine, cometen el error de criticar y temer lo que no conocen.

En segundo lugar la comunidad de Unreal Engine es menor que la de Unity. Esto no es un problema en el momento de resolver dudas o encontrar tutoriales por internet sobre Unreal Engine, casi todo problema en Unreal tiene una respuesta en fors y vídeos, todo bug tiene una solución y todo problema de desarrollo tiene un tutorial. En este sentido Unreal vuelve a ganar a Unity ya que si la comunidad de Unity es mayor, también lo es la confusión. Mientras que para Unity suele haber numerosas soluciones diferentes, muchas de las cuales no funcionan, funcionan mal o provocan bugs, para Unreal Engine hay menos respuestas pero casi siempre son las correctas. Hasta ahora ningún problema en Unreal Engine me ha suspuesto una gran pérdida de tiempo o un callejón sin salida, algo que sí le ha pasado a cualquier desarrollador que haya usado Unity. En Unity resuelves un problema y te salen otros dos, en Unreal te sale un problema, encuentras una solución y se acaba el problema.

La comunidad de Unity es a día de hoy mayor que la de Unreal

Pero que haya menos desarrolladores que usen Unreal Engine sí afecta de otro modo, es mucho más difícil encontrar gente con la que poder trabajar a nivel local y el número de estudios académicos dedicados a Unreal Engine son menores que los dedicados a Unity. Pero lo cierto es que la distancia se reduce día a día entre Unity y Unreal, como estas en las otras ventajas de Unity es el tiempo que llevan en el mercado de ambos motores lo que marca la verdadera diferencia.

Una ventaja evidente de Unity, y en la que sí se puede pegar un tirón de orejas a Epic y su Unreal engine 4, es el número de plugins disponibles. Aunque es indudable la gran calidad de muchos de los plugins que hay en el mercado de Unreal, su cantidad es mucho menor que en Unity. Además, Unreal Engine tiene un enfoque claro hacia los plugins de pago y ni tan siquiera existe en el buscador un modo sencillo de buscar sólo plugins gratuitos. Los plugins facilitan mucho el trabajo del desarrollador y ese desequilibrio entre ambas plataformas genera un agravio comparativo bastante fuerte.

Unity Asset Store

Un último elemento en el que aún tiene cierta ventaja Unity es en su versatilidad. Si bien es cierto que Unreal Engine puede exportar a múltiples plataformas, incluyendo móviles y navegador web, lo cierto es que la potencia gráfica del motor lleva aparejada cierta desventaja de optimización frente a Unity. Además, Unreal Engine 4 posee herramientas 2D, pero es un motor eminentemente enfocado al 3D, mientras que Unity3D ha ido añadiendo herramientas que hacen nativo también el desarrollo 2D.

LAS VENTAJAS DE UNREAL ENGINE 4

La calidad gráfica no es la única ventaja de Unreal Engine 4, como he dicho anteriormente Unreal Engine mejora casi todo lo que Unity ya hacía bien.

Uno de los puntos fuertes de Unreal Engine 4, e irónicamente de los más ignorados es, la usabilidad del programa. Si bien la usabilidad de Unity ya era bastante buena, lo cierto es que la de Unreal es mejor, los años no pasan en balde y Unreal Engine 4 ha sabido implementar una interfaz más clara y “user friendly” que Unity. Unity está limitado a la hora de realizar cambios en su interfaz, ya que un cambio demasiado profundo puede traicionar a su público actual.

La interfaz de Unreal es realmente sencilla

Además, esta usabilidad también se ve reflejada en la programación, ya que frente a la anticuada programación tradicional de Unity mediante código, Unreal incorpora también una programación visual y sencilla a través de nodos llamada Blueprints, mediante la que se puede crear casi cualquier videojuego sin la necesidad de escribir código. Blueprints significa toda una revolución en la creación de videojuegos que facilita mucho la vida a aquellos que, como yo mismo, no sabemos programar. Algunos desarrolladores dicen que Unity es el motor de los programadores, mientras que Unreal es el de los artistas.

En Unreal toda la programación se puede hacer por nodos, incluso para modificar texturas o sonidos

Y hablando de programación, la elección de C++ como lenguaje de programación de Unreal Engine 4 me parece todo un acierto. C++ es uno de los lenguajes de programación más utilizados y no solo en la creación de videojuegos.

En definitiva, Unreal Engine 4 es un motor aún bastante joven, que aún necesita tiempo para que el contenido y la comunidad aumente. Pero es un motor que ha irrumpido con fuerza gracias a su calidad no reñida con su sencillez de uso. Epic y la comunidad de desarrolladores de Unreal le están dando un enorme apoyo a Unreal Engine 4, por lo que es indudable que le espera un gran futuro, teniendo ya un gran presente. Si quieres poder crear un videojuego a un nivel de calidad similar que un gran estudio triple A sin dejar de lado la sencillez de Unity (sino incluso mejorándola), no lo dudes, pásate a Unreal Engine 4.