Optimizing Mobile Games in Unity3D

Learn to profile and analyse the performance of your game, as well as how to use common optimisation techniques.
4.2 (39 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
2,457 students enrolled
Start Learning Now
  • Lectures 14
  • Length 2.5 hours
  • Skill Level Intermediate Level
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 3/2015 English

Course Description

With the increased performance capabilities of PCs, applications have a lot of extra resources to waste, making it easier to get a decent frame rate without optimising your game.

This is certainly not the case on mobile platforms, however, and trying to build a game can be extremely tricky if you do not have the knowledge on how to profile your app and predict the performance costs of the features you implement.

In this course we'll cover fundamental concepts such as how each frame is processed by the CPU and GPU, as well as what role memory usage plays, all the way to more practical topics and how to profile your game.

Each subject that's covered also includes various links to articles and documentation, making this course a useful shortcut to other resources.

The aim of this course is to give you a running start into the mysterious world of game optimisation and will mainly focus on teaching the underlying principles of various optimisation techniques, as well as when to use them.

What are the requirements?

  • Free version of Unity
  • Useful to have Xcode or Eclipse installed for device profiling

What am I going to get from this course?

  • Understand how to profile an application and based upon those statistics, figure out which parts need to be optimised
  • Learn how to reduce draw calls
  • Find performance bottlenecks
  • See how memory usage affects your game
  • Plan how best to implement performance heavy features

Who is the target audience?

  • Beginners looking to improve the performance of their games
  • Experienced users looking for a refresher on various optimisation techniques
  • Anyone that'd like to better understand fundamental concepts of how CPU, GPU, and memory work together

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Introduction

A quick look at what we will be covering throughout this course!

6 questions

Goes over some of the topics we will cover in this course.

Section 2: Fundamentals

Goes over the basics of how your CPU and GPU work together to create each game frame and how to tell whether your application is CPU or GPU bound.


Covers what draw calls are and how they effect your CPU, as well as the basics of draw call batching.


Memory is an essential component of any computer and both your CPU & GPU depend upon it to function properly.

This lecture covers how memory usage relates to your games performance and what data will be stored.


In this lecture, we'll find out how to profile our game directly within Unity using the rendering statics window, as well as how to use the internal profiler for mobile devices to see more detailed information.


Using an example scene, we'll look at how to profile our game in xCode and find potential performance issues.

5 questions

This quiz will test you on the topics covered in the fundamentals section of this course.

Section 3: General Optimisations

In this lecture we'll compare dynamic and static batching to see the requirements of each and how these optimisation techniques can be useful.


In this lecture we will go into more detail on the differences between static and dynamic batching. Also, we will take a look at some examples of how batching can be broken, e.g. through:

  • vertex count
  • object scale
  • pixel lights
  • lightmapping

Here we will cover some of the common questions regarding imported meshes in Unity and the impact that vertex count can have on your game.


Covers image import settings and the different native compression formats used on mobile platforms.


Again we will take a look at different import settings and compare the performance benefits of various load types.


Using multiple example scenes we'll cover topics such as overdraw, transparency, shader costs, and lighting.


In the final lecture of this course, we will take a brief look at lightmapping and occlusion culling, as well as the performance gain / cost of common game features and optimisation techniques.

2 pages

This lecture consists of materials shown in the previous lecture to visualize the performance gain / costs of common game features and optimisation techniques.

6 questions

This quiz will test you on the topics covered in the general optimisations section of this course.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Ariel Galleano Schoch, Game Developer

I'm a self-taught game developer, with experience in other areas such as web development. I discovered the Unity game engine four years ago and have since been learning as much as I can about developing and optimising games.

Throughout the past few years I have had the opportunity to work with talented 3D animators and have recently started a small company Byte Sheep Digital.

Ready to start learning?
Start Learning Now