Unity хороший движок, но если учитывать бесплатную версию, то у вас будут немного связаны руки. Так как из базового функционала вы не сможете сделать для 2D динамические тени и будет очень тяжело делать нормальное освещение. Для решения данных проблем вам придется либо покупать уже готовые решения, либо писать их самому.
UE4 хороший так же, но не для 2D. Он с ним не дружит по большей части, ну и как известно всем, памяти он тоже любит покушать много, а для игр на телефон - это большой минус.
С Cocos2D, Starling, Cordova не работал, так что ничего не могу сказать о них.