Выбора по сути нет. Если это мобильное приложение, вся монитизация заточина под Unity. Мобильные издательства, в редких случаях работают с проектами на других движках, а некоторые вообще не работают. Если это action игра на PC или консоли, то сборщик мусора Unity, это гробовой камень, шутер Resident Evil Umbrella Corps печальный пример, там не бывает стабильного fps, какое бы железо у тебя не было, при том, что там скромная графика, и лучше всё таки Unreal.
Литература по моему бесмысленна. Достаточно много материалов для изучения предоставляют сами разработчики движков, по всем темам и бесчисленное количество Example проектов для примеров, как от разработчиков, как и от людей. Для обоих движков самые большие комьюнити. Поскольку движки самые популярные у них не плохие документации. Ну и доки у майкросовт по языку C# (это их продукт) самые лучшие, на всех языках, для C++ у них тоже есть, наверняка тоже крутые.