27 March, 2015

Unity Learn Projects

I believe one of the better features of Unity is its learning resources, including the community made (on YouTube, specially) and the official ones.

Following my plan of start learning the engine from the official tutorial projects, I decided to document the principal topics I would learn from each class, so I’d can recall later if necessary. This post is this a more elaborated version of this “log”, accompanied of a brief review of the projects and the resulting game in some cases.

Roll-a-Ball

This is the most basic tutorial, presenting the basic tools on the engine: the Editor (navigation, hierarchy, prefabs), simple 3D objects (cubes and spheres), Components (basic physics), scripting, GUI (it still uses the old components) and publishing. The video is a screen cap with the tutor’s voice.

Since it’s just an introductory material, it does the job, but calls for an updated version.

Time to finish: 1 hour Rating: :+1:

Survival Shooter

This is a recorded session from the Unite 2014 training day, with explanations from three tutors and screen captures from the live development. The environment comes as a prefab, as some of the other elements from the game. This helps the game to get a “completeness” feeling at the end.

Even though the project is not so recent, I had no trouble with following it on Unity 5.

The only things I missed was a Menu system and a publishing step.

Time to finish: 6 hours Rating: :clap:

Content Highlights
  1. Environment setup
    • Editor tools presenting
  2. Player Character
    • Prefabs
    • Animation
    • Animation Controller
  3. Camera setup
    • Scripting (moving the camera)
  4. Creating Enemy #1
    • Navigation System
  5. Health HUD
    • UI System
  6. Player Health
  7. Harming Enemies
    • Particles
    • Ray casting
  8. Scoring points
  9. Spawning Enemies
    • Manager scripts
    • More Prefabs
    • Animation Overrider
  10. Game Over
    • Creating Animations with properties
Results

Play my version of Unity Learn: Survival Shooter on itch.io The lighting of my environment is really messed up and I couldn’t find out why. Other than that, I’m happy with the result.

Space Shooter

This project appears to be made by the same author from Roll-a-Ball in a similar style. A nice a point is the way the tutor refers to the documentation, a good practice for any developer.

The tutorial was made for Unity 4 and, even with some compatibility annotations over the videos, it’s quite hard to follow it with Unity 5.

The assets include some stuff that is not used at the end. Combined with the rushed rhythm at some points, it leaves a feeling that this project is missing a continuation.

Time to finish: 4 hours Rating: :ok_hand:

Content Highlights
  1. Introduction
  2. Setting up the project
  3. The player gameobject
  4. Camera and lighting
    • Camera modes
    • Combining lighting
  5. Adding a background
    • Textures
    • Shaders
  6. Moving the player
    • Scripts
    • Serializable classes
  7. Creating shots
    • Particles shaders
  8. Shooting Shots
    • Instantiating
  9. Boundary
    • Triggers
  10. Creating hazards
    • Debugging
    • Tags
  11. Explosions
  12. Game Controller
  13. Spawning Waves
    • Coroutines
  14. Audio
    • Unity 4 audio
  15. Counting points and displaying the score
    • Unity 4 GUI
  16. Ending the game
  17. Building the game
    • Publishing with web player
Results

Play my version of Unity Learn: Space Shooter on itch.io Comparing to the tutor’s version, my asteroids collision looks a bit weird, maybe because I set the rotation on the collision frame too. I feel the lights are different, due to the Unity 5 new lighting.

Stealh

This is the biggest projects of all currently available, consisting of 25 videos, each having a duration of around 15 minutes. The classes are screen captures with some schemes used for explaining topics as vectors. The product is a game with interesting mechanics, basic enemy AI and a beautiful look.

As most of the other projects, this comes from Unity 4 and, in various points, it has great differences from Unity 5.

The names used in the classes and scripts sometime differs from the ones used on the assets, leading to some errors you will have to deal by your own. Still on the naming issue, I believe the project follows a bad naming convention for game objects, even thought the tutor talks about this on a class. I also missed a HUD.

Time to finish: 8 hours Rating: :+1:

Content Highlights

Chapter 1: Game Setup & Alarm Logic

  1. Stealth: Project Overview
  2. Game Setup and Lighting
    • Collision meshes
    • Old lighting system
  3. Alarm Lights
  4. Tag Management
  5. Screen Fader
    • Scripting
  6. Game Controller
    • Sound fading
  7. CCTV Cameras
    • Animation
  8. Laser Grids

Chapter 2: Player

  1. Player Setup
    • AudioSource
  2. Player Animator Controller
    • Blend Trees
    • AvatarMask
    • Animation Layers
  3. HashIDs
  4. Player Movement
    • Using Hashes
    • Temporary AudioSource
    • Getting input
    • Look Rotation
  5. Player Health

Chapter 3: Interactions

  1. Camera Movement
    • RayCasting
  2. The Key
    • Apply root motion
  3. Single Doors
  4. Double Doors
  5. The Lift

Chapter 4: Enemies

  1. Enemy Setup
    • Navigation
  2. Enemy Animator Controller
    • 2D Blending Tree :open_mouth:
    • Inverse Kinematics intro
  3. Enemy Sight
  4. Animator Setup
    • Helper classes
  5. Enemy Animation
    • Vectors
  6. Enemy Shooting
    • Inverse Kinematics
  7. Enemy AI
    • Navigation targets
    • Using navigation way points
  8. Stretch Goals
Results

Play my version of Unity Learn: Stealth on itch.io Except from the lighting, that is much brighter in my version, the result is very similar from what I expected.

2D Roguelike

Quoting the videos, this project is a “small turn-based tile-based roguelike game”. It’s categorized as a Intermediate project, but I don’t feel it’s not as hard as Stealth. As the others, it comes with all the assets and preset tags and layers.

So far, this is the only guide that’s made for Unity 5. It uses the new 2D features and mobile build targeting, with touch inputs.

Sometimes it’s hard to follow the guide when selecting sprites, but that’s not a big issue.

Time to finish: 4 hours Rating: :+1:

Content Highlights
  1. Project Introduction
  2. Player and Enemy Animations
    • Sprites
    • Animation
  3. Creating the Tile Prefabs
  4. Writing the Board Manager
    • Random (Unity)
    • Instantiating tiles
  5. Writing the Game Manager
    • Singletons (in some way)
  6. Moving Object Script
    • Inheritance
    • Generics
  7. Creating Destructible Walls
  8. Player Animator Controller
    • 2D animation transitions
  9. Writing the Player Script
    • HideInInspector
  10. Writing the Enemy Script
    • Turns
  11. Enemy Animator Controller
  12. Adding UI & Level Transitions
    • UI positioning
  13. Audio and Sound Manager
    • Variadic functions
    • Sounds in 2D games
  14. Adding Mobile Controls
    • Platform specific code
    • Touch input
    • Testing on a device
Results

Play my version of Unity Learn: 2D Roguelike on itch.io

Next

There are the stretch goals from Stealth projects, which I’ll be doing sometime in the future. I also plan to revisit the other projects and try to fix the issues I have on them as soon I feel more comfortable with Unity. I’ll update this project with the information on these plans.

Comments