Best optimizations for battery life on mobile devices?

We’re wrapping up a project right now that is 95% 2D animation and GUI based, and battery life is a pretty significant issue for us. Are there any general optimizations we can run for extending battery life? We’ve already set targetFrameRate to 30, and Unity still eats device batteries like candy. We’re going from a 100% to 20% in just about an hour’s use.

What affects battery life the most? Draw calls? What can we do to squeeze more battery life from our devices? I’ve also noticed that the device gets hot after prolonged use.

Try to get as much idle time for GPU and CPU as you can. You can check from Unity profiler what functions are stressing the CPU and what drawing operations are eating most of the GPU time.

And if your game has lots of network usage, try to reduce it.