What do you think optimisation of a game project is? Do you think it's writing really efficient code or getting your game to run as fast as possible? Is it a task you do days before release or from the very start? Not sure where to start? Well, this course is for you.
What do you think optimisation of a game project is? Do you think it's writing really efficient code or getting your game to run as fast as possible? Is it a task you do days before release or from the very start? Not sure where to start? Well, this course is for you.
Designed for Without even thinking, you'll be pulling up the Unity profiler and investigating CPU and GPU bottlenecks like a pro. You'll find hints and tips on improving the performance of your game starting with the script and moving onto art assets and finally physics. There are plenty of hands-on exercises designed to give you skills in forensic debugging that will be valuable to you far into the future.
This course uses Unity 2020.2 or 2020.3 but is also compatible with Unity 6.
You will learn about:
Performance Budgets
The Unity Profiler
C# Optimisation Tricks for the Unity API
Art asset optimisation settings
Audio file usage and settings
Tips and tricks for getting more from the Unity Physics system
What people are saying about Penny's courses:
A great and engaging course that teaches you a lot about the Unity Profiler which is key to optimising the games. It is a valuable skill that people look for. It's in a tutorial format which is my preferred method of learning.
Allow me to say how hugely important this is for a person who is interested in certain types of game design. Creating games where you can create AI behaviors that support emergent situations.
I honestly love Holistic's teaching approach and I've never learned so much within a few hours about coding effectively with such detailed explanations.
This course focuses on developing student skills in identifying and solving performance issues in their game development projects. By the end, they will find the use of the Unity Profiler second nature and be able to identify many CPU and GPU bottlenecks in their's and other's Unity projects.
In this video students will gain an overview of the course contents.
H3D has a bustling online student community. Here's how to get involved.
How to contact us
Here's how to get the best experience from studying this course and answers to some popular student questions.
While this course was developed in a previous version of Unity, we've tested the projects and they work with Unity 6. This video is a guide to help you adjust your learning in this course to use Unity 6.
In this lecture the teacher will challenge the students to a optimisation task.
In this lecture students will be asked to consider how they approached the exercise in the last lecture and reflect on what they came up with as a solution.
In this lecture students will gain an understanding of what optimisation is and how important it is to always be considered part of a project.
In this video students will learn how a frame is defined and how to work with frames per second and milliseconds to define them. They will also discover the role that the CPU, GPU and VSync play in determining frame rate.
In this video students will learn what goes into the creation of a performance budget and the items they must consider right from the start of their game project.
In this lecture students will be introduced to the Unity Profiler and taught how to connect it with development builds as well as how to get it up and running.
In this lecture students will take a closer look at the hierarchy view in the profiler to identify where their code is running.
In this lecture students will learn where to find the performance markers for the GPU.
In this lecture students will develop a strategy to test different versions of API calls to determine the one that gives the best performance.
In this lecture students will be challenged to use the skills they've learnt thus far to test the performance of other lines of code.
In this lecture students will learn what it means to cache values at the beginning of code to use later in updates to reduce expensive method calls.
In this lecture students will be challenged to test their understanding of caching.
In this lecture students will learn how to question if one method of coding is more optimised than another and trial the code out to check for performance metrics.
In this lecture students will learn how to use Coroutines to increase performance when running AI behaviour script.
In this lecture students will gain an understanding of what garbage collection is and how it affects the performance of their projects.
In this lecture students will force the creation of garbage to see how it effects memory cleanup.
In this lecture students will learn that even testing for a null game object can effect performance.
In this lecture students will learn about the costs in performance incurred by using strings.
In this lecture students will examine two specific cases in the Unity API that allow the use of integer values over strings and how to implement these for the best performance.
In this lecture students will discover if the performance optimisation strategies they applied to the challenge were correct.
In this lecture students will discover which method of comparing a game object's tag is more efficient and why.
In this lecture students will learn how to create a static class and use it in place of an actual singleton.
In this lecture students will learn how to turn a global management class into a pure singleton.
In this lecture students will begin performance testing with Arrays, Dictionaries, Lists and HashSets in order to determine which one is better based on their use.
In this lecture students will discover how different container data structures perform in searching and removing items.
In this lecture students will learn how to create a very simple object pool.
In this lecture students will learn how to repurpose the object pool for different game objects.
In this lecture students will discover the difference in performance between using structures and classes.
In this lecture students will investigate uses of structures that don't help improve performance.
In this lecture students will learn how to use visibility and distance to enable and disable scripts to optimise performance when many NPCs are in the game world.
In this lecture we will take a quick look at the frame debugger in the profiler and how you can quickly identify one common performance affecting setting.
In this lecture students will get an overview of the render pipeline and the processes that occur within it.
In this video Unity's different rendering pipelines will be explained and the difference between forward and deferred lighting discussed.
In this lecture students will learn about drawcalls and begin investigating the things that game objects and properties that cause them.
In this lecture students will learn how GPU Instancing and Batching can improve on a games graphics performance.
In this lecture students will learn how UV values and texture atlases work and try them out with respect to a cube filled world.
In this lecture students will learn how to combine meshes at runtime to provide better performance.
In this lecture students will revisit all the methods covered concerning drawcalls and batching and consider what could be best for their project.
In this lecture students will learn how to use the tools in Unity to optimise the use of sprites.
In this lecture students will learn the best way to use mipmaps in their games.
In this lecture students will learn how level of detail works and how to set it up in Unity.
In this lecture students will test out the performance between using LODs over a single model for rendering at distances.
In this lecture students will learn how to optimise the user interface of their game project through understanding how canvases batch and redraw.
In this lecture students will learn why it is important to work with image files with sizes that are powers of 2.
In this lecture students will learn about how audio files are loaded, how to control this process and how the size of audio files effects memory usage.
In this lecture students will learn some extra tips for enhancing the performance of audio in their game projects.
In this lecture students will learn why different collider types are more efficient than others and experiment with their profiling.
In this lecture students will learn how to use less colliders in a rag doll to optimise performances as well as a way to introduce layers for even more performance.
In this lecture students will learn about some extra tweaks they can make to speed up the physics effects in their game projects.
In this lecture Penny will do a wrap up of the course content.
This link provides further information on the courses you can look at taking based on your interests and skill level.
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.