
Explore how to control coroutines in Unity with yield instructions such as wait for seconds real time, fixed update, and end of frame. Wait until, wait while, async operation.
Learn to build a coroutine-driven animation system in Unity by creating a driver script, tracking elapsed time, normalizing to 0–1, and enabling run and stop controls.
Mastering coroutines in unity explains adding and testing wait time to a driver routine, with optional randomized waits using weight and weight max, via a calculate random time function.
Add autostart, pre-start, and post-reset features to the Unity driver routine, with public booleans and a progress method triggered on enable to auto-run UI updates.
Automate controller connection to the driver in unity by updating the controller list on validate, auto populating when controllers are added or removed, before gameplay.
Remap and control the axes of a transfer animation with a vector3 axis-based modifier, changing only the selected axis for position, rotation, or scale.
Refactor controllers around a shared abstract class to centralize common control and transform logic, implement abstract methods for driver compatibility, and enable creating new controllers via set values.
Develop a Unity image controller in C# to change image fill amount and fade, inheriting an abstract controller and implementing set image field and set image fade methods.
Learn to build a controller editor preview in Unity, storing and restoring initial values, implementing abstract preview methods, and visualizing animation through a slider-driven preview in the editor.
implement a remote driver system to synchronize animations across multiple ui elements and prefabs using a shared dictionary, connecting controllers to remote drivers and applying offset-based timing.
Develop and test a driver list player in Unity to sequence multiple drivers, control playback with wait times, and choose between all-at-once or wait-for-previous execution.
Create animated UI menus in Unity using the UI animator, importing assets and prefabs, and building button animations, panels, and scene-start sequences with driver components and on-click events.
Develop a simple Unity clicker game by building a game manager, an income property with a delegate driven on income change, and a UI text updater.
Create robot animations in Unity by building idle, ahead, mouth, cigar, and head objects with driver and controller transform components, then preview and duplicate for synchronized movements, including star appearances.
The course begins with a basic explanation of coroutines and why they are so useful.
Then you'll learn the difference between normal c# methods, update method and coroutine.
Following on, we will start to build our UI animation system driven by coroutines.
Our UI Animation will include some advanced techniques like:
how to pause and resume the coroutine
how to check if coroutine is running
how to delay coroutine
how to get a callback from the coroutine
how to start multiple coroutines all at once
how to write custom yield instruction
Later when our system is finished we will export it as Unity package so we will be able to use it in our next projects.
Our first project where we will use our UI Animation system will be simple animated game Menu. Which will show us the flexibility of our system. The second biggest project will be a complete idle clicker game, full of interactive animations. The interesting fact will be that the game is created very effective without any update method.
In the end, we will learn how to create State machines with the help of coroutines and also one very cool way how to optimize slow methods.
Why learn from me?
I created this course to share my passion for making games and help others to simplify their work.
I am trying to find effective and fast methods to solve problems, so I hope you will find some of my systems and tips and tricks useful also for you.
What you’ll learn
What are coroutines and what they are good for
Create UI Animation System
Callbacks from coroutines
Trigger Actions When Property is changed
Program Simple Game Without the need of Using Update Method
Optimize slow methods with coroutines
Write custom yield instructions
Create simple state machines with coroutines
Are there any course requirements or prerequisites?
Mac or PC.
You will need to download and install Unity 19.1 or later
You should be familiar with C# and the Unity Game Development Engine