Realmente depende de lo que quieras conseguir con el proyecto desarrollado en cada plataforma:
La rapidez de prototipado para una persona que esta empezando, desde mi punto de vista, es mayor para alguien que use Unity, tiene un enfoque más orgánico en el IDE aunque el sistema sea menos eventual que en UDK (cosa que parece que empiezan a mejorar).
UDK te puede aportar mayor realismo por su rendering sin embargo el problema está en lo siguiente: ¿Quieres realismo?
Con UDK y con Unity 5 puedes hacer desde un Scroller 2D hasta un juego AAA hiper-realista. Tal vez la comodidad en la programación y en la librería estándar debería ser el punto de división.
Para C++ necesitas más control en la máquina que en C# (de Unity). La modularización esquematica que te permite UDK(Blueprints) lo hace más flexible en algunos aspectos pero ¿vale la pena para un principiante?
Si piensas hacer muchísima modularización y reutilizar UDK esta muy bien sin embargo si no tienes nada de base, el prototipado se hace más complicado.
De hecho, yo pienso que UDK es una buena extensión para alguien que viene de Unity pero no me parece un bueno punto de partida, demasiadas tools complica mucho el aprendizaje por eso a los principiantes se les recomienda Unity.
No se, es como decir a una persona que aprendió a programar ayer como se usan los punteros de C cuando aún no sabe que es un int.