Los motores más populares para los desarrolladores de juegos más pequeños son, con diferencia, Unity y Unreal Engine, y por una buena razón.
Unity vs Unreal es un tema muy debatido, comparable a Microsoft vs Apple.
Ambos son capaces de producir gráficos de calidad AAA, ambos tienen grandes puentes entre la mayoría de los softwares estándar de la industria.
Vienen repletos de una extensa caja de herramientas que incluye editor de terreno, simulación de física, animación, iluminación avanzada, soporte de RV y mucho, mucho más.
Hubo un tiempo en el que uno podía distinguir fácilmente cada motor simplemente mirando un juego. Ambos tenían su propio «look», para bien y para mal.
Sin embargo ese tiempo ha pasado, y no se podía diferenciar un motor del otro simplemente mirando el resultado. Tomemos la imagen de arriba como ejemplo, el personaje de la izquierda fue renderizado en Unreal y el de la derecha en Unity.
Está más en manos de los diseñadores de juegos hacer que un juego se vea de una manera específica, ¡lo cual es algo bueno!
Así que, a primera vista, parece que tenemos un empate? Bueno… No del todo… Cada motor tiene sus propias ventajas y desventajas. La belleza está en el ojo del espectador como dicen, y esto es cierto para los motores de juegos también.
Si estás empezando a aprender a hacer juegos, o tal vez un poco más experimentado y tienes curiosidad por saber si has tomado la decisión correcta. Sigue leyendo mientras profundizamos en esta guerra continua entre dos titanes Unity vs Unreal.
Vídeo (Artículo escrito más abajo)
He incrustado un vídeo que detalla mi experiencia con ambos motores por si prefieres relajarte y escuchar. El video tiene más información actualizada y como fue grabado después de que escribí inicialmente este artículo hay algunas cosas extra allí.
Si prefieres leer, por favor sigue adelante y desplázate hacia abajo para el artículo completo. Estoy trabajando en la actualización del artículo en este momento. (Aunque el 95% de la información sigue siendo muy válida). La comparación de precios ha sido actualizada en 2020.
Introducción
Fundado en 2004 con el objetivo de hacer el desarrollo de juegos accesible para todos y no sólo para las grandes empresas, Unity ha hecho exactamente eso.
Casi todos los desarrolladores de juegos indie empezaron con, o siguen usando Unity como su herramienta principal.
Con su diseño muy intuitivo, el lenguaje de codificación C# que hace que sea fácil de aprender y usar. Gran comunidad, enorme tienda de activos, toneladas de tutoriales y cursos que se pueden encontrar en línea.
Todo esto hace que Unity sea una opción convincente para los equipos más pequeños y la gente que acaba de empezar a hacer juegos.
Aquí tienes una lista de los mejores juegos hechos con Unity si quieres ver algunos ejemplos de lo que Unity es capaz.
Desarrollado junto a su título debut «Unreal» y lanzado en 1998 por Epic Games, seguido por el súper éxito «Unreal Tournament». Unreal siempre ha sido conocido por sus gráficos rompedores y su presencia en la cultura de los juegos AAA más importantes.
Ahora con su último modelo de precios haciéndolo accesible a los desarrolladores más pequeños también, poniendo a Unreal en un lugar de competencia con Unity.
Aunque su documentación siendo un poco difusa, no es una comunidad tan amplia como Unity. Algunas interfaces intimidantes, sin mencionar que el lenguaje de codificación es C++.
Ofrece un motor de juegos potente, que lleva los gráficos al más alto nivel mientras mantiene la eficiencia. Repleto de características y herramientas, una vez dominado, Unreal no pondrá límites a la hora de realizar tu visión.
Con los últimos esfuerzos de Epic para hacer Unreal más accesible con la introducción de Blueprints (sistema de codificación visual), los esfuerzos continuos para mejorar la documentación, el contenido de aprendizaje y un fuerte enfoque en la construcción de una comunidad, Unreal es una opción sólida para cualquier desarrollador de juegos.
Gráficos

Ahora que tenemos un poco de antecedentes vayamos a las potencias de los dos motores.
Ambos motores soportan juegos en 2D y en 3D. Utilizan la última tecnología, incluyendo PBR (Physically-Based Rendering), GI (Global Illumination), luces volumétricas, post-procesamiento, shaders avanzados y mucho más…
Sobre el papel, parece que no importa el motor que elijas si lo que te importa es el aspecto visual.
Aunque podrías ser capaz de producir el mismo resultado usando cualquiera de los dos motores, aquí es donde desafortunadamente Unity se queda corto.
Unreal – gráficos
Como he mencionado, se PUEDEN conseguir resultados similares con ambos motores. Sin embargo, Unreal está repleto de herramientas, preajustes que realmente funcionan nada más sacarlos de la caja y que se pueden ajustar fácilmente.
Luces volumétricas, postprocesamiento, destellos de lente, lo que sea. Todo está ahí, listo para ser utilizado y se ve muy bien desde el momento en que lo sueltas.
La iluminación en Unreal se ve mucho más precisa y suave en comparación con Unity. Cuando bakeas la iluminación con «Calidad de Producción» se ve increíble, con un mínimo pero mayormente sin glitches gráficos o artefactos extraños.
Las sombras tienen un buen decaimiento y un aspecto pulido. Todo esto mientras utiliza muchas menos llamadas de dibujo que Unity mejorando enormemente el rendimiento.
También cuenta con un increíble editor de materiales, utilizando el gráfico de nodos puedes crear y ajustar fácilmente los materiales. 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. Es decir, a un azul más frío, lo que le permite establecer el estado de ánimo para diferentes áreas en su mapa, etc

Unity – gráficos
Aunque se está trabajando y mejorando constantemente, unity carece de algo de pulido cuando se trata de producir un resultado de buen aspecto.
Puede que te encuentres con dificultades para conseguir lo que has imaginado. Se necesitará un poco de dedicación para conseguirlo, sin embargo, puedes conseguirlo, pero no sin esfuerzo.
El sistema de iluminación es bastante moderno y soporta la última tecnología como PBR y GI como se mencionó anteriormente, pero te encontrarás horneando la iluminación de tu escena muchas veces, tratando de resolver artefactos extraños y otros problemas.
El detalle de las sombras no es tan bonito como el de Unreal, pero definitivamente no está mal. Con la nueva actualización de 2018 Unity se ha actualizado a un modelo de iluminación más ligero, que sin duda era necesario. Pero comparado con Unreal, todavía puede ser mejor.
Unity no tiene casi ningún editor de materiales, sí soporta los habituales mapas normales, mapas de oclusión, texturas base, etc con algunos parámetros muy limitados para ajustar.
Pero aún así te encontrarás intercambiando mucho entre tu programa de texturas y Unity, teniendo que hacer pequeños ajustes, exportar todos los archivos, probar en Unity, y luego aclarar y repetir.
Nota – Unity ha lanzado una beta con un editor de materiales incluido, sin embargo, requiere una configuración gráfica muy específica y puede llegar a ser toda una confusión. No es precisamente sencillo para los usuarios principiantes o intermedios utilizar su gráfico de sombreado, también está todavía en beta lo que significa que no se ha integrado adecuadamente con Unity, por lo que no consideraré esto como una característica oficial… todavía 🙂
El postprocesamiento se ofrece pero necesita ser descargado de la tienda de activos e instalado (gratis), y funciona pero tiende a lanzar errores en la consola y tiene un montón de otras limitaciones. Mientras que hace lo que necesita todavía se siente bastante crudo y sin pulir en comparación con lo que Unreal tiene que ofrecer.
Curva de aprendizaje

Aquí es donde Unity brilla. Con su intuitiva interfaz, te encontrarás experimentando con el motor y probando diferentes ideas de juego en poco tiempo. Y es muy divertido!
Es tan rápido y fácil improvisar algo y compartirlo con tus amigos. Es tan simplificado y fácil de entender.
Sin mencionar la gran cantidad de contenido que hay en línea. Desde cursos hasta simples tutoriales, foros y una excelente documentación con gran funcionalidad de búsqueda, etc.
Sea cual sea el problema que tengas, seguro que encuentras un post en el foro o una página en la documentación que aclare tu confusión.
Unreal… Bueno, es intimidante. Difícil. Frustrante.. Difícil..
El C++ es bastante bestia para envolver tu cabeza, el sistema de Blueprints sí ayuda (profundizaremos en los Blueprints más adelante), pero sin ningún conocimiento de C++, te tirarás de los pelos bastante.
La interfaz es agradable, pero enorme, con un sinfín de ventanas emergentes adicionales repletas de más botones para confundirte.
Esto combinado con el hecho de que simplemente no hay tanto contenido de aprendizaje en línea como con Unity, una documentación que no es tan fácil de leer y no una comunidad muy grande para ayudarte con los problemas (aunque esto espero que mejore en un futuro no muy lejano).
Si terminas con un problema puedes fácilmente terminar pasando horas en línea buscando una solución – y puede incluso no necesariamente tener éxito en encontrar lo que necesitas.

Definitivamente NO recomiendo empezar con Unreal si eres nuevo en la creación de juegos, te rendirás.
Y antes de que me flamees en los comentarios porque a TÚ se te ocurrió empezar con Unreal sin experiencia previa y te va genial, pues enhorabuena… genio… 🙁
Yo desde luego me rendí más rápido que la velocidad de la luz cuando abrí por primera vez Unreal.
Caja de herramientas
Ambos motores vienen con un conjunto de herramientas para que juegues.
Ambos tienen sus propias tiendas de activos donde puedes encontrar una gran variedad de plugins, piezas de código, animaciones y modelos, algunos creados por Unreal/Unity, pero también extensiones construidas por la comunidad.
Las tiendas de activos son también una oportunidad para vender y compartir lo que has hecho.

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. El que viene con Unity se siente hinchado, sin optimizar y francamente no se siente tan bien cuando juegas.
Esto va con un montón de otras herramientas también, algunas de ellas funcionan, pero es posible que necesites un plugin para muletear la herramienta para que funcione correctamente, o simplemente pasar un montón de tiempo trasteando con ella.
No puedes evitar la sensación de que todo parece un poco hackeado, como las herramientas estándar que empiezan a lanzar errores en la consola aunque no hayas tocado nada todavía.
La conclusión es que, si vas a hacer juegos en Unity, prepárate para escribir muchas de las herramientas por tu cuenta, ya que te vas a hartar del paquete estándar muy rápidamente.
Por suerte, la tienda de activos de Unity está repleta de plugins, extensiones y otras cosas útiles que te ayudarán a muletear esas piezas que te faltan, y normalmente a un precio razonable.
¿Pero está bien depender tanto de tu comunidad para parchear tu motor por ti?
Pero al fin y al cabo, es muy fácil adentrarse en la creación de tus propias herramientas dentro de Unity y además es realmente divertido, si te gustan ese tipo de cosas, claro.
Definitivamente, dale una oportunidad antes de hacerme demasiado caso en este punto. Quizás Unity te ofrezca exactamente lo que necesitas para terminar tu juego!
Unreal – caja de herramientas
En un caso similar al de la comparación de gráficos, Unreal viene cargado con una enorme cantidad de herramientas y características que, en su mayor parte, parecen funcionar nada más sacarlo de la caja.
El inconveniente, de nuevo, es que es muy complicado. A veces parece que estás en medio de un laberinto y no tienes ni idea de por dónde ir. Pero una vez que conoces el camino, nada te detendrá.
Todas las herramientas se sienten bien integradas, nada se siente hackeado, es robusto, y funciona.. La mayor parte del tiempo 🙂
Hay, por supuesto, una tienda de activos también, no tan abastecida como la de Unity y un poco más cara en promedio. Pero todavía puede proporcionar un gran apoyo para su juego.
Si quieres un controlador de jugador de tercera persona, soltarlo, golpear el juego. Ya está, puedes correr, saltar, agacharte y probar tu nivel en un instante. No hay necesidad de importar paquetes o tantear la configuración para que funcione.

El editor de terrenos supera al de Unity con creces. No hay competencia.
Pero… ¿Qué pasa si falta algo que necesitas desesperadamente? Y la tienda de activos no parece ofrecer lo que necesitas?
Al igual que con Unity, tienes la opción de construir tus propias herramientas, pero como todo tiene que ser escrito en C++, y sólo el hecho de que Unreal es un poco más avanzado en general. Sin duda te será más difícil escribir tus propias herramientas. Al menos al principio.
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. También estás obligado a tener la pantalla de bienvenida «Made in Unity» antes de que tu juego comience.
Plus te permite hasta $200K USD en ingresos anuales y te costará $40 al mes en una cuota de suscripción si te inscribes por un año. También viene con beneficios adicionales como – pantalla de Splash personalizada, 20% de descuento en la tienda de activos y el informe de caída de rendimiento para nombrar unos pocos.
Pro le da todos los beneficios de Plus y no tiene límite de ingresos anuales. Está en un empinado $ 150 por mes. Pero si usted está haciendo $ 200K más al año, esto realmente no es un problema 😉
Más información sobre los precios de Unity se puede encontrar aquí.
Unreal tiene un enfoque diferente – Ellos le darán el motor completo con todas sus características de forma gratuita. Pero les debes el 5% de tus ingresos totales cuando envíes tu juego, para siempre. Excepto los primeros 3.000 dólares por juego por trimestre natural, de los que te quedas con el 100%.
Puedes encontrar más información sobre los precios de Unreal aquí.
¿Qué pasa con otros motores?

Existen otros motores, por ejemplo CryTek’s Cry Engine que también ha comenzado a centrarse en un público más amplio utilizando el mismo modelo de precios que unreal y ha comenzado a ganar tracción con los desarrolladores más pequeños. Puede que hagamos una comparación incluyendo el motor Cry más adelante.
Para sorpresa de todos, Amazon ha lanzado el motor Lumberyard, y no sólo eso. Es gratuito. Y punto. Sin derechos de autor, sin suscripción. Gratis.
Su idea es que si haces un juego multijugador, puedes pagar a amazon por el alojamiento de los servidores, y esperar ganar su dinero de esa forma. Está basado en el motor CryTek así que no te confundas pensando que no es un motor 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 es genial en muchos sentidos pero con su empinada curva de aprendizaje puede ser bastante desalentador si eres un principiante. Incluso Unity puede resultar bastante intimidante al principio.
Pero Unreal es definitivamente tu mejor opción si quieres centrarte en los gráficos y la jugabilidad de gama alta. Será mucho más fácil y más rápido hacer un juego terminado en Unity que en Unreal, al menos al principio.
Así que el veredicto es que, si llegaste a esta página queriendo empezar un hobby o una carrera en la creación de juegos, lo más probable es que debas empezar con Unity.
Y luego hacer el cambio a Unreal en un momento posterior una vez que tengas algo de experiencia.
Entonces podrás formarte tu propia opinión sobre qué ruta funciona mejor para ti.
Además, mucho de lo que aprendes en Unity es más o menos aplicable en Unreal también, así que no sientas que aprender Unity es una pérdida de tiempo.
Aprendizaje
Ben Tristem ha desarrollado unos cursos estupendos tanto para Unity como para Unreal, no puedo recomendar sus cursos lo suficiente. Su ritmo constante y sus retos intuitivos hacen que aprender a codificar y navegar por los softwares sea muy divertido y fácil
Puedes, por supuesto, visitar las páginas web de Unity y Unreal, ya que ofrecen un buen material de formación. Pero yo sugeriría tomar los cursos de Ben primero para conseguir sus pies mojados y aumentar su confianza.