#11 Como comenta #12, con Unreal te cobran un porcentaje en función de royalties al superar cierto número de ganancias. Con Unity no hay royalties, la licencia básica es gratuita (no necesitarás una pro en mucho tiempo), pero si superas los $100.000 tienes que comprar licencias pro, que tampoco son muy caras.
Como motor he probado ambos, aunque estoy trabajando con Unity ahora. Te remarco varias cosillas:
Programando, la principal diferencia es que el 99% de los casos en Unreal utilizarás blueprints en lugar de programar, y para mí son un puto coñazo, pero es cierto que tienen también su gracia pues en cierto modo te permiten ahorrar tiempo, pero a la hora de debuggear, para mí era la muerte.
En Unreal puedes meter mano en programación con C++ (con una API adaptada al motor). En Unity programas en C# o UnityScript, que es una versión adaptada de Javascript.
Respecto a que prefieran Unreal porque tienen acceso al código fuente del motor... no sé que background de programación tendrán, pero modificar el motor no es moco de pavo. Además, Unity desde la versión 4.6 (creo) ha empezado a ofrecer código fuente de ciertas partes del motor de manera libre (no te lo confirmo al 100%, porque no me lo he bajado personalmente, pero se habló mucho del tema hace tiempo).
En cuanto a potencia, Unreal es un claro vencedor. Unity ha metido PBR en la 5.0, con lo que ha pegado también un salto en potencia importante hace no mucho. Sigue sin estar a la altura en cuanto a potencia, como digo, pero va evolucionando a mejor, sin duda.
Depende también mucho de si te quieres dedicar principalmente a proyectos 2D o 3D y de la plataforma a la que apuntes. La última vez que compilé el proyecto de prueba 2D que traía como proyecto de ejemplo para móvil y lo ejecuté.. además de comer batería como un condenado, funcionaba fatal, supongo que habrá mejorado algo desde entonces, pero viendo updates de hace dos meses o así encontré que acababan de meter el poder crear paquetes .obb para cuando tu juego pese más de 50Mb (si pesa más de 50Mb y no puedes crear este .obb, básicamente no puedes subirlo a Google Play).
Sobre plataformas, Unity creo que es el único motor con posibilida de exportar a Wii U y 3DS, aunque necesitarás licencias y SDK's propios (como con el resto de plataformas).
Te recomiendo que te pases por las webs de ambos y mires los vídeos de "Made with... Unity / Unreal" para ver hasta dónde se pueden aprovechar los motores. Verás que a fin de cuentas más el resultado depende mucho más del equipo que del motor.
No sé que más puedo comentarte. Sólo decir que cualquiera de las dos elecciones es buena.
Si tienes alguna duda específica, dispara
PD: Perdón por el tocho.