Learn how to make games in Unity, with free, in-depth tutorials that will show you how to create gameplay, build game systems and write your own C# scripts.

Unity Tutorial Categories


Advanced Scripting


Learn advanced scripting in Unity, including how to create your own data structures, how to avoid duplicating code and best-practice tips for choosing, and using, C# design patterns.

View all Advanced Scripting tutorials...

Audio


Learn how to play audio in Unity, how to use Audio Source components, work with sounds in 2D and 3D, and how to choose audio file formats and load types.

View all Audio tutorials...

Game Systems


Learn how to build in-game systems, such as dialogue systems, player inventory systems and state machines.

View all Game Systems tutorials...

Input


Learn how Input in Unity works, with a series of articles that will show you how to use the new Input System, the old Input Manager and even popular alternatives, such as Rewired, to control your game.

View all Input tutorials...

Movement


Learn how to move objects around in Unity by changing their position, modifying their rotation and using built-in movement and translation functions.

View all Movement tutorials...

Performance


Learn how to optimise your Unity game, how to find and fix problems, and how to avoid garbage.

View all Performance tutorials...

Project Management


Learn how to manage your Unity project, how to organise your project files and how to design your game.

View all Project Management tutorials...

Scripting Basics


Learn the basics of scripting in Unity, and how to work with objects in your scene using C# code.

View all Scripting Basics tutorials...

Unity Editor


Learn how to work with the Unity Editor, such as how to use layers, prefabs, addressable assets, and more.

View all Unity Editor tutorials...

Visuals


Learn how to create visual effects in Unity, such as explosions, flickering lights and billboard sprites.

View all Visuals tutorials...

All Unity Articles


How to create Camera Relative movement in Unity

May 22, 2024

 | 

John French
 | 
NEW



Learn how to create camera-relative movement in Unity, including how calculate camera direction and how to adjust for the camera’s height.
Featured image for “How to create Camera Relative movement in Unity”

Why diagonal movement is faster in Unity (and how to fix it)

May 22, 2024

 | 

John French
 | 
NEW



Learn why diagonal movement in Unity is sometimes faster than moving in one direction, and how to fix it.
Featured image for “Why diagonal movement is faster in Unity (and how to fix it)”

Direction Vectors in Unity

May 21, 2024

 | 

John French
 | 
NEW



Learn how direction and unit vectors work in Unity, how to use ready-made directions, and how to calculate a direction value yourself.
Featured image for “Direction Vectors in Unity”

How to use Transform Translate in Unity

May 21, 2024

 | 

John French
 | 
NEW



Learn how the Translate function works in Unity, when to use it instead of changing an object’s position, and a common mistake when using it.
Featured image for “How to use Transform Translate in Unity”

How to use Move Position in Unity

May 21, 2024

 | 

John French
 | 
NEW



Learn how to use the Move Position function to move a physics object manually, and when not to, in my beginner’s guide.
Featured image for “How to use Move Position in Unity”

How to use Get and Set (without crashing Unity)

Apr 23, 2024

 | 

John French
 | 
4 Comments



Learn how properties work in Unity, how to use the get and set accessor functions, and how to avoid crashing Unity when you do.
Featured image for “How to use Get and Set (without crashing Unity)”

Design Patterns in Unity (and when to use them)

Apr 17, 2024

 | 

John French
 | 
NEW



Learn how design patterns in Unity work, when you should use them, and how they can make building your game easier.
Featured image for “Design Patterns in Unity (and when to use them)”

How to create a Typewriter Text effect in Unity

Apr 05, 2024

 | 

John French
 | 
4 Comments



Learn how to create a typing text effect using Coroutines in Unity (and what to do if your text needs to be faster than your framerate).
Featured image for “How to create a Typewriter Text effect in Unity”

How to use the Player Input Component in Unity

Feb 29, 2024

 | 

John French
 | 
2 Comments



Learn how to connect the Unity Input System to objects in your game the easy way, by using the Player Input Component.
Featured image for “How to use the Player Input Component in Unity”

Rewired vs the Unity Input System

Feb 28, 2024

 | 

John French
 | 
NEW



Find out if Rewired is still the best option for input in Unity, or if you should switch to Unity’s free Input System instead.
Featured image for “Rewired vs the Unity Input System”

How to use the Input Manager in Unity (instead of the new system)

Feb 27, 2024

 | 

John French
 | 
NEW



Learn how the default Input Manager in Unity works, how to use it, and when to pick it over Unity’s newer (but more complex) Input System.
Featured image for “How to use the Input Manager in Unity (instead of the new system)”

Inheritance in Unity

Feb 06, 2024

 | 

John French
 | 
2 Comments



Learn how Inheritance in Unity works, and how to use Virtual, Override, and Abstract functions in your project, in my beginner’s guide.
Featured image for “Inheritance in Unity”

What Public, Private, and Protected mean in Unity

Jan 31, 2024

 | 

John French
 | 
1 Comment



Learn how the Private, Public, and Protected keywords actually work in Unity, in my complete beginner’s guide.
Featured image for “What Public, Private, and Protected mean in Unity”

How to use Return in Unity

Jan 25, 2024

 | 

John French
 | 
2 Comments



Learn what Return, Break, and Continue actually do in Unity, how they work, and the right way to use them, in my complete beginner’s guide.
Featured image for “How to use Return in Unity”

Why your game works in the Unity editor (but not the build)

Jan 25, 2024

 | 

John French
 | 
NEW



Learn what the No.1 cause of unexplained errors in Unity projects is, how it happens, and what you can do to prevent it.
Featured image for “Why your game works in the Unity editor (but not the build)”