When wanting to start game development, people will first try and determine what game engine should they use; in reality they should have much more of an idea of what they’re game goals are as well as what the achievable goal is. Each of these game engines provide some key differences for the overall result of the game.
First off, if you are planning to make a simple mobile game, generally in the genre of a hyper game, then Unity is 100% the choice to go with. Unity will allow you to create a game rather quickly and does not take out as huge of fee’s like Unreal Engine. Fee’s are going to play a huge role in any game developed.
Secondly, programming languages are a huge factor. Unity uses C# while Unreal is C++. there are alternatives with both engines to use a blueprint style digram level of development. Sticking to one with a language you understand best is a good determining factor; Unless you are ok learning a new language for this purpose.
Unreal engine has the graphics upper hand off the bat. Unity is able to produce some high end graphics but will take a lot more work. If you are working on a simple game that is not very graphics intense, either one should be fine. If focusing on a high production goal, Unreal has the potential to create a much beautiful game environment.
As said before, unity is going to be the cheaper route to take. You will need to determine what your budget allows for in regards to game development for each individual game. If you are looking for more of a cheaper option, sticking with Unity is going to be the best choice.
Unity and Unreal use two different languages. Sticking to the one you know is probably best. If you don’t have a deadline or want a quick turn around and are okay with learning a new language, then either will work for you as long as you have the basic understanding of development. Don’t forget that blueprints are a thing but would recommend of avoiding this when possible.
Lately in the news the backlash on unreal is noted by a lot of game developers. The fee’s and backlash from Apple have caused quite a few developers to move away from Unreal Engine. This may be something to consider, but doubt it will have any negative effect.
You can find other game development engines to use as well as going more native code. Options such as OpenGL (SDL), Xcode Material, GoDot Engine, and more. Unity and Unreal are just some of the bigger engines that may have some more support to help you with development when just starting out; this can be helpful especially if you are just getting starting with game development or development in general.