What this book covers
Chapter 1, Discovering Your Hidden Scripting Skills, explains that the very first thing you need to do is overcome your perceived fear of writing scripts. You'll see that writing scripts is very similar to many of your daily routines. We also have a first look at Unity's scripting documentation. Finally, we see how to create a C# script file in Unity.
Chapter 2, Introducing the Building Blocks for Unity Scripts, explains that there are two primary building blocks for writing code, variables and methods. This chapter introduces the concepts of a variable and a method. With these two building blocks, we look into the concept of a "class," a container of variables and methods used to create Unity Components. Finally, communication between GameObjects is discussed by introducing Dot Syntax.
Chapter 3, Getting into the Details of Variables, explains using variables in detail. We see how they're used for storing data, and how the magic works to turn variables into Component properties which appear in the Unity Inspector panel.
Chapter 4, Getting into the Details of Methods, explains how methods perform the actions that take place on GameObjects. We see how to create and use methods in detail. We also look into two of Unity's most often used methods, the Start() method and the Update() method.
Chapter 5, Making Decisions in Code, explains that during gameplay, decisions have to be made about many things, just like you do in your daily life. We look at many of the ways choices are made and some of the common reasons for which decisions are required.
Chapter 6, Using Dot Syntax for Object Communication, shows us what Dot Syntax actually is, a simple address format to retrieve information or send information to other Components.
Chapter 7, Creating the Gameplay is Just a Part of the Game, shows that developing the gameplay is fun, but there are other parts needed to make a fully functional game. We look into some of the possible parts needed and how to organize all the parts by introducing the use of a State Machine.
Chapter 8, Developing the State Machine, creates a simple State Machine to show how it works, and see the simplicity it brings for controlling a game. We show how to change Scenes for a multi-level game and how to deal with GameObjects when changing to another scene.
Chapter 9, Start Building a Game and Get the Basic Structure Running, teaches us how to access and use Unity's Scripting Reference and the Reference Manual for the features we want. Then we begin creating a multi-level game using the state machine and three scenes. A Player GameObject is added and we learn how to control it.
Chapter 10, Moving Around, Collisions, and Keeping Score, shows how to move the Player around using Unity's physics system, and have cameras follow the Player's movements. We develop a GUI scoring system, start shooting projectiles at enemy objects, and see how to win or lose the game. Ultimately, we see how all the separate pieces of code come together and work together.
Chapter 11, Summarizing Your New Coding Skills, reviews the main points you learned about programming with C# and working with objects. I tell you about some of the C# and Unity features you may want to learn now that you understand the basics of C#. I will highlight the benefits of incorporating a state machine into your Unity projects. Finally, I present my favorite sources for further learning.
Appendix A, Initial State machine files, shows the initial code for the classes needed for changing States in our game. These State Machine classes are the starting point for organizing and adding game code.
Appendix B, Completed code files for Chapters 9 and 10, shows all the class and script files used for playing our completed game.