Android/mobile Development

Ive tried getting my feet wet with android but so far I have faced a lot of problems. Games mostly refuse to run on devices before 2013-2014. I came across many networking bugs as well. I personally think that this is UE’s biggest flaw. There’s a lot of market in the mobile sector and if UE4 can improve the mobile/2d side it will undoubtedly be the top game engine for many.

It’s possible the devices you’re trying to test on aren’t powerful enough or are missing support for some part of the graphics API

As for the networking problems, if you are trying to use Googles matchmaking and multiplayer services it won’t work, the online subsystem for it just doesn’t exist, effectively Epic do not support multiplayer on mobile using Google or Apple online services :frowning:

rOb

It’s a bit of a struggle unfortunately. UE has a powerful renderer, but it doesn’t scale well to older phones right now. The in-editor mobile previewer rarely immitates the device accurately at all, so the only way to know for sure is to deploy which can take a lot of time.

We’re limiting support for our game to 2015+ devices. When you think about it however it’s not so bad, since most phone contracts are around 18 months to 2 years long anyway and people upgrade at that point. Some advice I can give based on experience so far:

  • Avoid using any form of dynamic lighting
  • Avoid complex materials. Stick to just textures in places (if you can).
  • Use the invalidation system in UMG, that helps a lot.
  • Use C++ as often as possible, write code as optimized as possible.
  • Minimize ticking objects. Event-based systems are generally better.
  • Use unlit shading wherever possible.
  • Try to get the debugger attached as early into the project as possible.

Even the UE Match3 sample lights up my phone battery like the 4th of July and that’s a very minimalist sample, and my phone is really new. It’s possible to do, but it feels like your fighting the engine a lot of the time. Just my experience anyway :slight_smile:

If you want to target older phones, use a 2D game engine.