Why Unreal Engine is so bad/not recommended for Mobile developers?

Hi, I have been using Unreal Engine5 for a year. Starting it felt great, later found out that engine is not optimised for mobile game development. Mobile game development is a pain in a$$ using UE5. There is no proper documentation regarding how to publish game in App Store/ Play store . No data regarding how to (What to add as) extra permissions required by Google play store for publishing. There is no way to integrate Rewarded ads in UE5. There is no proper documentation on how to use In-App Purchases. There is no way of updating Google Play billing version to meet google play criteria in ue4.25-ue5.03. Only way of solving google play billing version is to use 5.2.1 or ue5.3 which most of android devices won’t support. After a year thinking that choosing UNREAL ENGINE for game development(Mobile) was a bad idea. Even forums won’t answer the questions regarding the problems faced. :slightly_smiling_face: (The above mentioned is no hate towards UE. It’s the frustration of not finding any answers for our problems.But lack of documentation and resources are making to close/stop our game development progress of 1year.)

Thanks

1 Like

1- Company Strategies.
Every engine companies have their own focuses. Epic’s strategy is virtual production projects and games with high level graphics. Unity’s strategy is mobile games (especially for hyper casual games). So, they make their investments to technologies and partners based on their needs.

I actually like this because when you want to focus on mobile devices (especially Android for gaming), you have to support weaker devices as well and this can prevent engine’s improvement on high visual projects. (this is why WebGL deprecated)

2- Language Choice.
Blueprint scripting is really strong and maybe it is the most powerful node based programming environment in the world (maybe Siemens TIA Portal and Node-Red can be competitors for it) but you “have” to use real languages to integrate third party libraries such as monetization tools.

As you know lots of developers don’t like C++ and lots of academic institutions prioritize Microsoft based technologies such as C#. Also Microsoft encourage them.

In short, you will find Unity developers easier than UE and entrepreneurs make their technological stack choice based on if they can find employees or not (you know, companies have to withstand against employee circulation)

3- Package Size
I have some friends who have experience with both engines. They say, Unreal Engine based projects take much more space on storage and there is an APK file size limit on marketplace. Of course you can use ABB or OBB files but mobile projects have to agile. So, developers don’t want to force their users to install big games.

4- Lack of LibUVC
This is a personal thing. I work on digital twin projects. Some potential customers asked us about Vuzix and Epson Moverio based AR projects. Unity can make projects for these devices because of Vuforia and Vuforia can be used for them because an open source Unity Libuvc plugin.

That plugin is old (didn’t get any update for 3 years). So, there are deprecation possibilities and Libuvc is a C project. So, we can integrate it to UE but building it and its dependencies for Android is really hard

and this means project-inside-a-project. So, its not worth for a low cost project.

Eventually I will try to make one but sometimes we just prefer to pass that projects to a Unity team.

5- You said “we couldn’t get any answers about Google Play and monetization and etc.”. You couldn’t get any answers because most users don’t know/care about them :smiley: I am not perfect and sometimes I have silly questions but I have 7 years Unreal Engine exprience and I haven’t made any mobile project besides Oculus Quest, yet and I have zero experience about your questions. You can get answers about a TV project which use nDisplay, but not about monetization :smiley:

6- NFT/Metaverse projects. Unreal has some plugins about crypto wallet integrations but actually they just use a cloud API. They are not actual crypto clients. Nearly all libraries are for JavaScripts and Unity has WebGL support. (UE deprecated it at 4.24) So, you can integrate your wallet without a cloud API. This also make it more popular.

You can say that “why UE deprecated it ?”
Because WebGL is a client side technology (for server side rendering we have pixel streaming but it is completely different story). So, if end-user’s machine can’t run it as a native app, they won’t be able to run it as web app. Actually performance will ne much worse because even if you use WebGPU and WebAssembly, you won’t have all hardware acceleration libraries.

So, WebGL platform was an obstacle for Unreal’s improvement on their focus.

And this moved away some developers.

//
In short,
if you want to make mobile games with C#, use Unity.
if you want to use C++ use Godot.

1 Like