Unity Tutorials

Here you can find the Unity Tutorials used in our classes. Keep this page bookmarked as these will be updated regularly with new content as it is released.


Breakout Lessons

In these lessons we take an introductory look into Unity and develop a simple game of “Breakout” using the systems we have.

Part 1: Unity Basics

Part 2: Software Patterns and Strategies

Arcade Lessons

In these lessons, we examine various methods of common game features using some classic arcade games as our inspiration.

A template Unity Project with pre-defined levels is available for download here.

Part 0: Introduction


Part 1: Player Movement

  • Lesson 1: Spacey Guys (“Space Invaders”-style shooter)
    Simple Movement with movement vectors, Input.GetAxis( ), Time.deltaTime, and Mathf.Clamp( ) to keep us in play.
  • Lesson 2: Galaxy Guys (“Galaga”-style shooter)
    Similar mechanics to Lesson 1, but with an additional axis and magnitude clamping.
  • Lesson 3: Meteoroids (“Asteroids”-style space shooter)
    The Rigidbody component moves our player ship through the use of applied forces & torque
  • Lesson 4: Pellet Guy (“Pac-Man”-style top-down maze game)
    Tilemap Colliders provide the constraints to manage the motion of our player character’s Rigidbody
  • Lesson 5: Highway Frog (“Frogger”-style top-down highway amphibian jumper)
    Grid-based movement uses a second transform target, while MoveToward( ) generates a timed jump by limiting our distance-per-frame.

Part 2: Enemy Movement

  • Lesson 1: Meteoroids
    Simple Rigidbody2D physics are used to manage our debris field, and simple forces are applied to push [Rigidbody2D.AddForce()] and spin [Rigidbody2D.AddTorque] to our meteoroids. We also look at using Instantiate() to generate “smaller” chunks when we destroy larger objects.
  • Lesson 2: Highway Frog
    We look at strategies to create an enemy “spawning” system to generate lanes of traffic. Our script allows us to adjust and set the vehicle direction, speed, pacing, and randomize our frequency.
  • Lesson 3: Spacey Guys
    These enemies are a well organized force, taking direction only from their coordinating Mother Ship. We look at how “inheritance” can be used to generate synchronized movement (hint: we only move the parent object). We also look at accessing child counts through the Transform of an object, and how we can use that to randomize within a set.
  • Lesson 4: Galaxy Guys (coming soon)
  • Lesson 5: Pelley Guy (coming soon)

Platform Games

Part 1: Motion Controls

  • Lesson 1: Top-Down Controller
    True, this isn’t what we would use for a platform game, but as long as we are looking at 2D movement, let’s start small and move our way up.
  • Lesson 2: Side Scroller Controller
    Sadly, Unity does not come with a built-in character controller for 2D, so we are going to make our own by adapting a simple controller we find online.

Part 2: Sprites & Animation

  • Lesson 1: Sprite Basics
    We are going to take a slightly more involved look at our sprites, and how they operate. Sprite Rendering has some subtle difference from Mesh Rendering, the most important of which is the Sorting Layer.
  • Lesson 2: Tilemaps
    Tilemaps are an effective and efficient way to design game levels quickly. Just set up your sprite tiles and paint your world!
  • Lesson 3: Player Animation
    The sprite renderer also exposes the ability to swap out our sprites sequentially to create animation effects. We look at using the Animator and Animation system to set up a finite state engine for our animation clips

Part 3: Collisions & Attacks