Game Tech

Unity Apprentice

Learn how to build 3D games with the Unity game engine, while utilizing best-practice game development techniques. By Ben MacKinnon, Eric Van de Kerckhove & Matt Larson.

Read for Free with the Personal Plan* * Includes this and all other books in our online library See all benefits
Buy Individually $59.99* *Includes access to all of our online reading features.
Leave a rating/review
Download materials
Buy paperback—Amazon Comments
Save for later

Who is this for?

The book is for anyone who wants to build a 3D game with the Unity game engine.

Covered concepts

  • The Unity Editor
  • The Unity Hub
  • GameObjects
  • Prefabs
  • GameObject Templates
  • Scripting with C#
  • Cameras
  • Lighting
  • Sound
  • Collisions
  • User Interface Design
  • Scriptable Objects
  • NavMeshes
  • Nav Mesh Agents
  • AI Navigation
  • Cinemachine
  • CinemachineBrain
  • Virtual Cameras
  • Asynchronous Functions
  • Coroutines
  • Object Pooling
  • Animation Concepts
  • Animator Component
  • Scriptable Objects

In this book, you’ll learn how to build 3D games using Unity - one of the most popular cross-platform game engines available today. The book will first describe the most commonly used features of the Unity Editor and the Unity Hub. It’ll then go on to describe how you build...


Before You Begin

This section tells you a few things you need to know before you get started, such as what hardware and software you’ll need to get the most out of this book, where to find the project files for this book, and more.

Section I: Creating Your First Game

Unity provides two applications to help you manage your game assets: the Unity Hub and the Unity Editor. This section will introduce you to both and show you how to start building your first game.

You’ll learn all about the Unity Editor’s user interface and gain a solid understanding of how everything is organized. Then, you’ll learn about GameObjects and Prefabs. You’ll go on to write some basic C# scripts to enhance the gameplay and add some interactivity to your first game: a very strange weapon-manufacturing machine!

Toggle description
This is a brief introduction to Unity, why it's a great choice to develop games with, and what you can expect from this book.
In this chapter, you'll install the Unity Hub and set up your Unity Editor. You'll then use the Unity Starter Project content to create your first project. You'll take a tour through the features of the Unity Editor and conclude by making your first build.
Toggle description
It's time to start to create your first playable project from the ground up! In this game, you’ll construct forks and skewers using an "ammunition machine". While creating the game, you'll learn all about GameObjects, the Unity building blocks that can represent just about anything from lights and scenery to NPCs, and Prefabs, which act as GameObject templates.
Toggle description
In this chapter you'll learn about C# and the best code editors to use with Unity. You'll also write your first scripts to control the behavior of GameObjects to make your game come to life.

Section II: Now You're Building With Components

Cameras, lights, sound, action! This section introduces you to a new game, where you’ll learn how to build cameras, lights, sound and interactivity! These are essential elements for any game because they make games compelling and fun to play.

You’ll also learn how to add a user interface and build a dialogue system to allow players to talk to your game’s avatars. The project in this section is set in a dining hall, so head on down there right away and you’ll meet some very strange characters indeed!

Toggle description
This is where you learn how to build a scene in your game. Just like a movie, scenes in Unity require cameras, sound and lights, so you'll add those first. You'll then go on to learn how to add avatars to make things even more realistic and interesting.
Toggle description
This chapter introduces you to Unity's input system to allow players to move your characters around. It will go on to cover Unity's physics system to stop objects passing through each other or falling through the floor!
Toggle description
In this chapter, you'll learn how to build a title/start screen and a user interface for a dialog system to allow your users to interact with props in the scene.
Toggle description
This chapter introduces the concept of Scriptable Objects. These allow you to store data independent of your GameObjects. Here, you'll use them with a dialogue user interface that'll allow your avatar to 'talk' to other characters in your game.

Section III: Smart Enemies & the Bigger Picture

Your player shouldn’t be the only smart character in a game. In this section, you learn how to use the power of Unity to automatically control enemies to make your game a challenge. You’ll discover how to define where your enemies can roam and how to get them to attack!

You’ll also see how to control multiple cameras so the player doesn’t miss seeing a thing. Finally, learn how to reuse weapons and enemies once they’ve been expended so you can reduce the resources your game requires.

The game in this section takes place in an arena. Hurry! There’s a battle about to begin!

Toggle description
This chapter sets up the basic rules of a new tank game where you'll battle waves of Veggie Warriors! In addition to building the scene and the enemies' Prefabs, you'll be introduced to NavMeshes and Nav Mesh Agents. Together, these allow your main character to move around with a point-and-click interaction and provide the enemies with basic AI navigation to attack!
The Cinemachine package is a complete solution to manage multiple cameras and complex camera behaviors. Learn about the CinemachineBrain and how it can be used to transition between Virtual Cameras, or vcams, using Blends.
This chapter introduces the concepts of asynchronous programming and object pooling. You'll use these techniques to reduce resource usage and improve the performance of your game by removing and reusing GameObjects in a timely manner.

Section IV: Cooking Up Animations

Animation adds so much more interest and fun to games, and Unity has a wealth of tools and techniques to help you add the right effects. This section first introduces tween animations - an effective way to get objects to move from one place to another. It then goes on to cover more advanced animation principles that allow your characters to animate in different ways while in different states.

You’ll then look at using scriptable objects as data containers to make more efficient use of memory and increase your game’s responsiveness.

The action in this section takes place in the kitchen, where Chef is cooking up some interesting dishes…

Toggle description
Animation is a key ingredient in any game. In this chapter, you'll learn how to add some basic tween animations to your GameObjects and how to control their speed.
Toggle description
In this chapter, you'll learn all about the Animator component. This allows you to control how different animations interact with each other, allowing you to add movement to your characters while they do different actions. You'll also learn how to control the state of animations from your scripts.
Toggle description
Finally, you’ll look at some advanced techniques to use with scriptable objects. These include using them as data containers that may be reused throughout your project.