CodeBlanks Logo Icon CodeBlanks
Free 4 levels

Game Development

Learn game development from scratch with Unity and Godot. C# scripts, GDScript, physics, animation, audio and shipping.

The Game Development course covers 2D/3D game creation with Unity (C#) and Godot (GDScript). It spans all levels with physics, animation, UI, multiplayer, save/load, AI, shader and performance optimization.

  • 284 lessons
  • 19 h 16 min
  • 6 projects

No account needed, you can start right away. To save your progress, create a free account

Levels

The Game Development course goes from zero to expert in four levels. Start at any level you like.
Not sure of your level? Take the placement test
Beginner

Learn game dev fundamentals: Unity setup, GameObject, C# script, MonoBehaviour, transform, input, physics and 2D sprites.

  • What is game development?
  • Unity setup
  • The GameObject concept
  • C# script basics
83 lessons · 5 h 37 min See lessons →
Intermediate

Learn 3D model, lighting, material, animation, audio, UI Canvas, particle system, coroutine, prefab and Godot 3D.

  • 3D model
  • Lighting
  • Material
  • Animation
83 lessons · 5 h 37 min See lessons →
Advanced

Learn shader, post-processing, multiplayer, save/load, dialogue system, AI, procedural generation and a game project.

  • Shader
  • Post-processing
  • Multiplayer
  • Save/Load
71 lessons · 4 h 49 min See lessons →
Expert

Learn performance, memory, build & deploy, Unity DOTS/ECS, Godot animation tree, custom tool and monetization.

  • Performance optimization
  • Memory management
  • Build & deploy
  • Unity DOTS/ECS
47 lessons · 3 h 13 min See lessons →

Projects you will build

At every level you combine what you learned into a real page.

How does it work?

Short explanation

Each lesson explains one concept in a few short cards; no long videos or walls of text.

Try it right away

Multiple choice, fill-in-the-blank and matching exercises lock in what you just learned.

Write it yourself

You write real code in the in-browser editor; it is checked instantly and you see the result live.

Curriculum

48 groups · 284 lessons · 19 h 16 min

Learn game dev fundamentals: Unity setup, GameObject, C# script, MonoBehaviour, transform, input, physics and 2D sprites.

1
What is game development?
6 lessons · 24 min
  1. 1 Intro to game development Learn what game development is and which skills it requires. 4 min
  2. 2 Game engines Learn about Unity, Godot, Unreal and their differences. 4 min
  3. 3 2D and 3D games Learn the differences between 2D and 3D games and their approaches. 4 min
  4. 4 The game loop Learn the game loop with its update and render steps. 4 min
  5. 5 The scene concept Learn what a scene is and how it breaks a game into parts. 4 min
  6. 6 Summary - Game dev fundamentals You write a solution that combines the group's concepts. 4 min
2
Unity setup
6 lessons · 24 min
  1. 1 Installing Unity Hub Learn to download and install Unity Hub and manage versions. 4 min
  2. 2 Creating your first project Learn to create a new 3D project in Unity. 4 min
  3. 3 The editor interface Learn the Scene, Game, Hierarchy, Inspector and Console windows. 4 min
  4. 4 Toolbar and playback Learn the toolbar buttons and Play/Pause/Step controls. 4 min
  5. 5 Saving the project Learn to save scenes and projects and prepare for version control. 4 min
  6. 6 Summary - Unity setup You write a summary task solution that combines the group's steps. 4 min
3
First scene projectProject
6 lessons · 24 min
  1. 1 Project overview Learn what to build in this project and in which order. 4 min
  2. 2 Camera and light Learn to add and position a Main Camera and a Directional Light. 4 min
  3. 3 Your first cube in the scene Add your first cube via GameObject > 3D Object > Cube. 4 min
  4. 4 Adding a material Learn to create a new Material and assign it to your cube. 4 min
  5. 5 Testing in Play mode Learn to enter Play mode and test the scene. 4 min
  6. 6 Summary - First scene Combine the project with a single summary task. 4 min
4
The GameObject concept
6 lessons · 24 min
  1. 1 What is a GameObject? Learn the role of GameObjects in Unity and the component system. 4 min
  2. 2 Components Learn how to add components like Transform and Mesh Renderer. 4 min
  3. 3 The Hierarchy window Learn to organize GameObjects in the Hierarchy window. 4 min
  4. 4 Editing with the Inspector Learn to edit component values in the Inspector window. 4 min
  5. 5 Tags and Layers Learn Tags and Layers and their role in collision filtering. 4 min
  6. 6 Summary - GameObject Reinforce the GameObject concept with a summary mini task. 4 min
5
C# script basics
6 lessons · 24 min
  1. 1 Your first C# script Learn to create a new C# script in Unity and attach it to a GameObject. 4 min
  2. 2 using and namespace Learn the using directive and the namespace concept. 4 min
  3. 3 Class structure Learn the C# class structure and how to define fields and methods. 4 min
  4. 4 Variables and types Learn basic C# types like int, float and string. 4 min
  5. 5 Output with Debug.Log Learn to print to the console with Debug.Log and watch values. 4 min
  6. 6 Summary - C# basics Reinforce C# basics with a summary task. 4 min
6
MonoBehaviour
6 lessons · 24 min
  1. 1 What is MonoBehaviour? Learn the MonoBehaviour base class and its role. 4 min
  2. 2 The Start method Learn when the Start method is called. 4 min
  3. 3 The Update method Learn how the Update method runs every frame. 4 min
  4. 4 Awake vs Start Learn the difference and order between Awake and Start. 4 min
  5. 5 SerializeField and public Learn to use SerializeField and public for Inspector-visible fields. 4 min
  6. 6 Summary - MonoBehaviour Reinforce the MonoBehaviour lifecycle with a summary task. 4 min
7
Transform
6 lessons · 24 min
  1. 1 What is Transform? Learn that the Transform component holds position, rotation and scale. 4 min
  2. 2 Changing position Learn to change an object's place with transform.position. 4 min
  3. 3 Moving with Translate Learn relative motion with transform.Translate. 4 min
  4. 4 Changing rotation Learn to use Quaternion with transform.rotation. 4 min
  5. 5 Local vs world space Learn the difference between local and world space. 4 min
  6. 6 Summary - Transform Reinforce Transform usage with a summary task. 4 min
8
Input
6 lessons · 24 min
  1. 1 The Input class Learn keyboard input with Input.GetKey and Input.GetKeyDown. 4 min
  2. 2 Axis input Learn horizontal and vertical axis input with Input.GetAxis. 4 min
  3. 3 Mouse input Learn Input.GetMouseButton and mouse position. 4 min
  4. 4 The new Input System Briefly learn the differences between the old and new Input System. 4 min
  5. 5 Movement vector Learn to turn axis inputs into a movement Vector3. 4 min
  6. 6 Summary - Input Reinforce Input usage with a summary task. 4 min
9
Physics (Rigidbody/Collider)
6 lessons · 24 min
  1. 1 What is a Rigidbody? Learn the role of the Rigidbody component in physics simulation. 4 min
  2. 2 What is a Collider? Learn collision shapes like Box Collider and Sphere Collider. 4 min
  3. 3 Applying force with AddForce Learn to apply force to an object with Rigidbody.AddForce. 4 min
  4. 4 Collision events Learn OnCollisionEnter, OnCollisionExit and OnCollisionStay. 4 min
  5. 5 Trigger events Learn OnTriggerEnter with IsTrigger and trigger volumes. 4 min
  6. 6 Summary - Physics Reinforce physics concepts with a summary task. 4 min
10
2D Sprite
6 lessons · 24 min
  1. 1 What is a Sprite? Learn how Sprites are used in 2D games. 4 min
  2. 2 SpriteRenderer Learn to place a sprite in the scene with the SpriteRenderer. 4 min
  3. 3 Sprite import settings Learn to add a sprite and set Multiple and Pixels Per Unit options. 4 min
  4. 4 Sprite sorting Learn 2D layer sorting with Sorting Layer and Order in Layer. 4 min
  5. 5 Preparing sprite animation Learn to slice multiple sprites for sequential playback. 4 min
  6. 6 Summary - 2D Sprite Reinforce 2D sprite usage with a summary task. 4 min
11
Godot basics
6 lessons · 24 min
  1. 1 The Godot editor Learn the main windows of the Godot editor. 4 min
  2. 2 A new project Learn to start a new project in Godot and its directory layout. 4 min
  3. 3 The scene tree Learn how a scene is organized as a tree in Godot. 4 min
  4. 4 The Node concept Learn that the Node is Godot's fundamental building block. 4 min
  5. 5 Saving the project Learn to save scenes and projects and about auto-save. 4 min
  6. 6 Summary - Godot basics Reinforce Godot basics with a summary task. 4 min
12
GDScript
6 lessons · 24 min
  1. 1 What is GDScript? Learn that GDScript is a Python-like language for Godot. 4 min
  2. 2 extends and variables Learn to derive a class with extends Node and define variables. 4 min
  3. 3 Function definition Learn to define functions with func. 4 min
  4. 4 Output with print Learn to print to the console with print. 4 min
  5. 5 Type hints Learn type hints in GDScript with the : marker. 4 min
  6. 6 Summary - GDScript Reinforce GDScript basics with a summary task. 4 min
13
Node and Scene
6 lessons · 24 min
  1. 1 Node2D and Sprite2D Learn the Node2D and Sprite2D nodes. 4 min
  2. 2 Saving a scene Learn to save a scene as a .tscn file. 4 min
  3. 3 Scene instance Learn to instance a saved scene as a child node. 4 min
  4. 4 The _ready method Learn that _ready is called when the scene is ready. 4 min
  5. 5 The _process method Learn to run code every frame with _process. 4 min
  6. 6 Summary - Node and Scene Reinforce Node and Scene concepts with a summary task. 4 min
14
Beginner finalFinal
5 lessons · 25 min
  1. 1 Challenge 1: Print a score Write a script that prints a score variable with Debug.Log. 5 min
  2. 2 Challenge 2: Movement vector Write C# code that builds a movement vector from keyboard input. 5 min
  3. 3 Challenge 3: Godot ready Write a GDScript scene that calls print in _ready. 5 min
  4. 4 Challenge 4: Collision log Write a C# script that reports collisions with OnCollisionEnter. 5 min
  5. 5 Challenge 5: Final synthesis Solve a mini task that combines all the chapter's concepts. 5 min

Learn 3D model, lighting, material, animation, audio, UI Canvas, particle system, coroutine, prefab and Godot 3D.

1
3D model
6 lessons · 24 min
  1. 1 What is a Mesh? Learn that Mesh is the data structure that carries 3D geometry. 4 min
  2. 2 MeshFilter and MeshRenderer Learn the division of labor between MeshFilter and MeshRenderer. 4 min
  3. 3 Primitive objects Learn primitive objects like Cube, Sphere and Capsule. 4 min
  4. 4 Importing a model Learn to import a .fbx model into the project and make a prefab. 4 min
  5. 5 Assigning a material Learn to assign a material to a Mesh and about sub-meshes. 4 min
  6. 6 Summary - 3D model Reinforce 3D model usage with a summary task. 4 min
2
Lighting
6 lessons · 24 min
  1. 1 Light types Learn Directional, Point, Spot and Area light types. 4 min
  2. 2 Shadow settings Learn Soft Shadows, Hard Shadows and shadow resolution. 4 min
  3. 3 Ambient and environment Learn Window > Rendering > Environment Lighting settings. 4 min
  4. 4 Baked vs realtime Learn the difference between baked and realtime lighting. 4 min
  5. 5 Lightmap baking Learn the lightmap baking process and the Static flag. 4 min
  6. 6 Summary - Lighting Reinforce lighting concepts with a summary task. 4 min
3
Material
6 lessons · 24 min
  1. 1 What is a Material? Learn that a Material defines how a surface looks. 4 min
  2. 2 Albedo and color Learn to give a surface its base color with the Albedo channel. 4 min
  3. 3 Metallic and Smoothness Learn how Metallic and Smoothness values shape surface appearance. 4 min
  4. 4 Normal map Learn that a normal map fakes bumps on a surface. 4 min
  5. 5 Assigning a material Learn to assign a material to a MeshRenderer. 4 min
  6. 6 Summary - Material Reinforce material usage with a summary task. 4 min
4
Animation
6 lessons · 24 min
  1. 1 The Animator component Learn how the Animator component works with an Animator Controller. 4 min
  2. 2 Animation Clip Learn to create a new Animation Clip and add keyframes. 4 min
  3. 3 State machine Learn states and transitions in an Animator Controller. 4 min
  4. 4 Parameters Learn to trigger transitions with Bool, Trigger and Float parameters. 4 min
  5. 5 Triggering from code Learn to trigger animations from code with Animator.SetTrigger. 4 min
  6. 6 Summary - Animation Reinforce animation usage with a summary task. 4 min
5
Audio
6 lessons · 24 min
  1. 1 AudioSource and AudioListener Learn the division of labor between AudioSource and AudioListener. 4 min
  2. 2 Importing an AudioClip Learn to import .wav and .mp3 files into the project. 4 min
  3. 3 Play and Stop Learn to play sound with audioSource.Play and stop with Stop. 4 min
  4. 4 3D sound Learn 3D sound and distance falloff with Spatial Blend. 4 min
  5. 5 Grouping with a Mixer Learn sound groups and level control with an Audio Mixer. 4 min
  6. 6 Summary - Audio Reinforce audio usage with a summary task. 4 min
6
UI (Canvas)
6 lessons · 24 min
  1. 1 What is a Canvas? Learn that the Canvas is the root container for all UI elements. 4 min
  2. 2 Text and TMP Learn to display text with Text and TextMeshPro. 4 min
  3. 3 Image and Button Learn to make clickable UI elements with Image and Button. 4 min
  4. 4 Rect Transform Learn UI element position and size with Rect Transform. 4 min
  5. 5 Layout groups Learn Horizontal, Vertical and Grid Layout Group. 4 min
  6. 6 Summary - UI Canvas Reinforce UI Canvas usage with a summary task. 4 min
7
Particle System
6 lessons · 24 min
  1. 1 What is a Particle System? Learn that a Particle System manages many small particles. 4 min
  2. 2 Emission and Shape Learn the Emission rate and Shape modules. 4 min
  3. 3 Color over lifetime Learn particle color with Color over Lifetime. 4 min
  4. 4 Start Size and Rotation Learn particle start with Start Size and Start Rotation. 4 min
  5. 5 Play and Stop Learn to control particles with particleSystem.Play and Stop. 4 min
  6. 6 Summary - Particle System Reinforce Particle System usage with a summary task. 4 min
8
Coroutine
6 lessons · 24 min
  1. 1 What is a Coroutine? Learn that Coroutines are used for work spread over time. 4 min
  2. 2 IEnumerator and yield Learn to use IEnumerator and yield return null. 4 min
  3. 3 WaitForSeconds Learn to pause a coroutine with WaitForSeconds. 4 min
  4. 4 StartCoroutine Learn to start a coroutine with StartCoroutine. 4 min
  5. 5 StopCoroutine Learn to stop a running coroutine with StopCoroutine. 4 min
  6. 6 Summary - Coroutine Reinforce coroutine usage with a summary task. 4 min
9
Prefab
6 lessons · 24 min
  1. 1 What is a Prefab? Learn that a Prefab is a reusable GameObject template. 4 min
  2. 2 Creating a Prefab Learn to make a prefab by dragging from Hierarchy to Project. 4 min
  3. 3 Prefab instance Learn to add a prefab to the scene as an instance. 4 min
  4. 4 Spawning with Instantiate Learn to spawn a prefab instance at runtime with Instantiate. 4 min
  5. 5 Prefab Variant Learn to create customized derivatives with Prefab Variants. 4 min
  6. 6 Summary - Prefab Reinforce prefab usage with a summary task. 4 min
10
Scene management
6 lessons · 24 min
  1. 1 Build Settings Learn to add and order scenes in Build Settings. 4 min
  2. 2 SceneManager.Load Learn to load a scene with SceneManager.LoadScene. 4 min
  3. 3 Additive loading Learn to layer scenes with LoadSceneMode.Additive. 4 min
  4. 4 DontDestroyOnLoad Learn to keep objects across scene loads with DontDestroyOnLoad. 4 min
  5. 5 Async loading Learn to show a screen while loading a scene with LoadSceneAsync. 4 min
  6. 6 Summary - Scene management Reinforce scene management usage with a summary task. 4 min
11
Godot 3D
6 lessons · 24 min
  1. 1 MeshInstance3D Learn to show a 3D mesh in Godot with MeshInstance3D. 4 min
  2. 2 Camera3D Learn the Camera3D node and viewpoint. 4 min
  3. 3 DirectionalLight3D Learn sun-like lighting with DirectionalLight3D. 4 min
  4. 4 StandardMaterial3D Learn surface materials with StandardMaterial3D. 4 min
  5. 5 RigidBody3D Learn physics-based motion with RigidBody3D. 4 min
  6. 6 Summary - Godot 3D Reinforce Godot 3D usage with a summary task. 4 min
12
Signal
6 lessons · 24 min
  1. 1 What is a Signal? Learn that Signals are used for event notifications in Godot. 4 min
  2. 2 Built-in signals Learn built-in signals like button.pressed. 4 min
  3. 3 The connect method Learn to connect a signal to a function with connect. 4 min
  4. 4 Custom signal Learn to define custom signals with the signal keyword. 4 min
  5. 5 emit_signal Learn to emit a signal with emit_signal. 4 min
  6. 6 Summary - Signal Reinforce signal usage with a summary task. 4 min
13
Inventory projectProject
6 lessons · 24 min
  1. 1 Project: Inventory design Learn how to design an inventory system in this project. 4 min
  2. 2 Item class Learn to write a C# class named Item. 4 min
  3. 3 Inventory list Learn to hold inventory with List<Item>. 4 min
  4. 4 Add and remove Learn methods to add and remove items from the list. 4 min
  5. 5 Printing the inventory Learn to print the inventory contents with Debug.Log. 4 min
  6. 6 Summary - Inventory Combine the inventory project with a single summary task. 4 min
14
Intermediate finalFinal
5 lessons · 25 min
  1. 1 Challenge 1: Material assignment Write a script that assigns a material to a MeshRenderer from code. 5 min
  2. 2 Challenge 2: Coroutine delay Write a coroutine that prints a delayed message with WaitForSeconds. 5 min
  3. 3 Challenge 3: Godot signal Write GDScript that defines a custom signal and emits it with emit_signal. 5 min
  4. 4 Challenge 4: UI button Write a UI script that calls Debug.Log when a button is clicked. 5 min
  5. 5 Challenge 5: Final synthesis Solve a mini task that combines all the chapter's concepts. 5 min

Learn shader, post-processing, multiplayer, save/load, dialogue system, AI, procedural generation and a game project.

1
Shader
6 lessons · 24 min
  1. 1 What is a Shader? Learn that a Shader tells the GPU how to draw a surface. 4 min
  2. 2 Shader Graph Learn to create shaders visually with Shader Graph. 4 min
  3. 3 Surface Shader Learn the Surface Shader structure and #pragma surface. 4 min
  4. 4 The Properties block Learn to take outside values with the Properties block. 4 min
  5. 5 Vertex and fragment Learn the roles of vertex and fragment functions. 4 min
  6. 6 Summary - Shader Reinforce shader usage with a summary task. 4 min
2
Post-processing
6 lessons · 24 min
  1. 1 What is post-processing? Learn that post-processing applies effects to the frame. 4 min
  2. 2 Volume and Profile Learn the Volume and Profile structure. 4 min
  3. 3 The Bloom effect Learn to soften bright areas with Bloom. 4 min
  4. 4 Color Grading Learn to adjust color tone with Color Grading. 4 min
  5. 5 Vignette and Depth of Field Learn the Vignette and Depth of Field effects. 4 min
  6. 6 Summary - Post-processing Reinforce post-processing usage with a summary task. 4 min
3
Multiplayer
6 lessons · 24 min
  1. 1 Multiplayer architecture Learn authoritative server and client-server architecture. 4 min
  2. 2 Photon Unity Networking Learn room and connection concepts with PUN 2. 4 min
  3. 3 Mirror networking Learn SyncVar and Command structure with Mirror. 4 min
  4. 4 RPC calls Learn remote calls with ClientRpc and ServerRpc. 4 min
  5. 5 Lobby and room Learn the lobby and room creation flow. 4 min
  6. 6 Summary - Multiplayer Reinforce multiplayer usage with a summary task. 4 min
4
Save/Load
6 lessons · 24 min
  1. 1 PlayerPrefs Learn simple key-value storage with PlayerPrefs. 4 min
  2. 2 JSON serialization Learn to write objects to JSON with JsonUtility. 4 min
  3. 3 Writing to a file Learn to write to a file with Application.persistentDataPath. 4 min
  4. 4 Reading from a file Learn to read saved data with File.ReadAllText. 4 min
  5. 5 Save game schema Learn save schema design and versioning. 4 min
  6. 6 Summary - Save/Load Reinforce Save/Load usage with a summary task. 4 min
5
Inventory systemProject
6 lessons · 24 min
  1. 1 System design Learn the modular design of an inventory system. 4 min
  2. 2 ItemData ScriptableObject Learn to define item data with a ScriptableObject. 4 min
  3. 3 The Inventory class Learn the Inventory class and slot logic. 4 min
  4. 4 Matching and stacking Learn to match and stack identical items. 4 min
  5. 5 Inventory UI Learn to build the inventory UI with prefabs. 4 min
  6. 6 Summary - Inventory system Combine the inventory system with a single summary task. 4 min
6
Dialogue system
6 lessons · 24 min
  1. 1 Dialogue data model Learn the dialogue node and line data model. 4 min
  2. 2 Dialogue JSON format Learn to structure dialogues as JSON. 4 min
  3. 3 Dialogue runner Learn a runner that reads dialogues in order. 4 min
  4. 4 Choice branches Learn branching dialogue flow by choice. 4 min
  5. 5 Showing with UI Learn to show dialogue lines with UI Text. 4 min
  6. 6 Summary - Dialogue system Reinforce the dialogue system with a summary task. 4 min
7
AI (NavMesh/Behavior Tree)
6 lessons · 24 min
  1. 1 The NavMesh concept Learn that the NavMesh defines walkable surfaces. 4 min
  2. 2 NavMeshAgent Learn enemy movement with the NavMeshAgent component. 4 min
  3. 3 SetDestination Learn to walk to a target with SetDestination. 4 min
  4. 4 Behavior tree basics Learn the behavior tree structure and node types. 4 min
  5. 5 State machine Learn enemy states with a simple FSM. 4 min
  6. 6 Summary - AI Reinforce AI usage with a summary task. 4 min
8
Procedural generation
6 lessons · 24 min
  1. 1 What is procedural? Learn that procedural generation creates content via algorithm. 4 min
  2. 2 Random seed Learn repeatable randomness with the same seed. 4 min
  3. 3 Perlin noise Learn to generate natural-looking surfaces with Perlin noise. 4 min
  4. 4 Grid generation Learn to generate maps with a 2D grid. 4 min
  5. 5 Dungeon generation Learn a simple dungeon generation algorithm. 4 min
  6. 6 Summary - Procedural Reinforce procedural generation usage with a summary task. 4 min
9
Game projectProject
6 lessons · 24 min
  1. 1 Project plan Learn the plan and scope of a mini game. 4 min
  2. 2 Player movement Write the player movement script step by step. 4 min
  3. 3 Pickup mechanic Write a pickup script for collectible items. 4 min
  4. 4 Score system Learn game progression with a script that tracks score. 4 min
  5. 5 Game over screen Learn to build the game over screen with UI. 4 min
  6. 6 Summary - Game project Combine the game project with a single summary task. 4 min
10
Advanced input projectProject
6 lessons · 24 min
  1. 1 The Input System package Learn to add the new Input System package to the project. 4 min
  2. 2 Input Action asset Learn to create an Input Action asset and define actions. 4 min
  3. 3 The PlayerInput component Learn to listen to actions with the PlayerInput component. 4 min
  4. 4 C# generated class Learn to read actions with the auto-generated C# class. 4 min
  5. 5 Gamepad support Learn bindings that work with a gamepad. 4 min
  6. 6 Summary - Advanced input Combine the advanced input project with a single summary task. 4 min
11
Polish projectProject
6 lessons · 24 min
  1. 1 The polish concept Learn that polish is visual and audio retouching in a game. 4 min
  2. 2 Screen shake Learn to create impact with camera shake. 4 min
  3. 3 Hit feedback Learn impact feedback with color and effects at collision. 4 min
  4. 4 Audio polish Learn gameplay feel with volume and pitch. 4 min
  5. 5 UI animation Learn to animate UI elements with smooth transitions. 4 min
  6. 6 Summary - Polish project Combine the polish project with a single summary task. 4 min
12
Advanced finalFinal
5 lessons · 25 min
  1. 1 Challenge 1: Shader property Complete a shader skeleton with a Properties block. 5 min
  2. 2 Challenge 2: NavMesh target Write a script that calls NavMeshAgent.SetDestination. 5 min
  3. 3 Challenge 3: Save JSON Write a script that serializes a class with JsonUtility.ToJson. 5 min
  4. 4 Challenge 4: RPC call Write a script that defines a ServerRpc method. 5 min
  5. 5 Challenge 5: Final synthesis Solve a mini task that combines all the chapter's concepts. 5 min

Learn performance, memory, build & deploy, Unity DOTS/ECS, Godot animation tree, custom tool and monetization.

1
Performance optimization
6 lessons · 24 min
  1. 1 The Profiler tool Learn per-frame time distribution with the Profiler. 4 min
  2. 2 Batching Learn to cut draw calls with static and dynamic batching. 4 min
  3. 3 Object pooling Learn to avoid repeated Instantiate with object pooling. 4 min
  4. 4 LOD groups Learn distance-based mesh detail with LOD Group. 4 min
  5. 5 Occlusion culling Learn to cull out-of-view surfaces with Occlusion Culling. 4 min
  6. 6 Summary - Performance Reinforce performance optimization with a summary task. 4 min
2
Memory management
6 lessons · 24 min
  1. 1 Garbage collector Learn how the C# GC works and the cost of allocation. 4 min
  2. 2 Heap allocation Learn the cost of heap allocation and how to avoid it. 4 min
  3. 3 Struct vs class Learn the memory difference between struct and class. 4 min
  4. 4 Object pooling revisited Deepen object pooling use for memory. 4 min
  5. 5 Asset bundle Learn to load large assets in chunks with AssetBundle. 4 min
  6. 6 Summary - Memory Reinforce memory management with a summary task. 4 min
3
Build & deploy
6 lessons · 24 min
  1. 1 Build Settings in depth Learn the platform and scene settings of Build Settings. 4 min
  2. 2 Player Settings Learn company and product identity with Player Settings. 4 min
  3. 3 Building for Steam Learn Windows builds for Steam and Steamworks integration. 4 min
  4. 4 Building for Android Learn APK/AAB builds for Android and the keystore. 4 min
  5. 5 Building for iOS Learn Xcode project export for iOS. 4 min
  6. 6 Summary - Build & deploy Reinforce build & deploy usage with a summary task. 4 min
4
Unity DOTS/ECS
6 lessons · 24 min
  1. 1 What is ECS? Learn the Entity Component System architecture. 4 min
  2. 2 The DOTS package Learn to add the DOTS package to the project. 4 min
  3. 3 IComponentData Learn to define components with IComponentData. 4 min
  4. 4 SystemBase Learn system logic with SystemBase. 4 min
  5. 5 Burst compiler Learn high-performance code with the Burst compiler. 4 min
  6. 6 Summary - Unity DOTS/ECS Reinforce DOTS/ECS usage with a summary task. 4 min
5
Godot animation tree
6 lessons · 24 min
  1. 1 What is an AnimationTree? Learn that AnimationTree is a state-machine animation manager. 4 min
  2. 2 AnimationPlayer Learn to play animation clips with AnimationPlayer. 4 min
  3. 3 StateMachinePlayback Learn state transitions with StateMachinePlayback. 4 min
  4. 4 Blend spaces Learn to blend motion with Blend2D and Blend3D. 4 min
  5. 5 Sync and queuing Learn animation sync and queuing. 4 min
  6. 6 Summary - Godot animation tree Reinforce AnimationTree usage with a summary task. 4 min
6
Custom tool
6 lessons · 24 min
  1. 1 What is an editor script? Learn to write Unity-specific tools with an Editor class. 4 min
  2. 2 EditorWindow Learn to create a custom window with EditorWindow. 4 min
  3. 3 MenuItem Learn to add a menu entry with MenuItem. 4 min
  4. 4 Custom inspector Learn the Editor class to write a custom Inspector. 4 min
  5. 5 Gizmos and handles Learn scene drawing with OnDrawGizmos and Handles. 4 min
  6. 6 Summary - Custom tool Reinforce custom tool usage with a summary task. 4 min
7
Monetization
6 lessons · 24 min
  1. 1 Monetization models Learn premium, F2P, IAP and ad models. 4 min
  2. 2 Unity Ads Learn to show ads with Unity Ads. 4 min
  3. 3 IAP integration Learn in-app purchase integration with Unity IAP. 4 min
  4. 4 Reward ad Learn to reward the player with a rewarded ad. 4 min
  5. 5 Ethical principles Learn ethics and transparency in monetization. 4 min
  6. 6 Summary - Monetization Reinforce monetization usage with a summary task. 4 min
8
Expert finalFinal
5 lessons · 25 min
  1. 1 Challenge 1: Object pool Write a simple object pool class. 5 min
  2. 2 Challenge 2: ECS component Write a component struct derived from IComponentData. 5 min
  3. 3 Challenge 3: Editor menu Write a tool method opened via MenuItem. 5 min
  4. 4 Challenge 4: Godot blend Write GDScript that uses blend in an AnimationTree. 5 min
  5. 5 Challenge 5: Final synthesis Solve a mini task that combines all the chapter's concepts. 5 min

Lessons are free, an account keeps your progress

You do not have to sign up. If you do, you continue where you left off and never lose your work.

  • Progress saved on every device
  • Earn XP and badges
  • Keep your daily streak
  • Get a certificate when you finish
create a free account

Frequently asked questions

Are the Game Development lessons free?

Yes. All 284 lessons of the Game Development course are free and you can start without an account.

Do I need any prior knowledge?

No. The beginner level starts from zero; a browser is all you need. If you already know the basics, start at a higher level.

How long does the course take?

Lessons take 2–8 minutes. The whole course is about 19 hours; with 15–20 minutes a day you can finish in a few months.

Do I get a certificate?

Yes. When you complete the course with a free account, a verifiable certificate is issued in your name.

Will I lose my progress without an account?

Without an account your progress is kept only in your current browser. When you create a free account it is moved to your account.