Learning C# by Developing Games with Unity 3D Beginner's Guide

The beauty of this book is that it assumes absolutely no knowledge of coding at all. Starting from very first principles it will end up giving you an excellent grounding in the writing of C# code and scripts.

Learning C# by Developing Games with Unity 3D Beginner's Guide

Beginner's Guide
Terry Norton

The beauty of this book is that it assumes absolutely no knowledge of coding at all. Starting from very first principles it will end up giving you an excellent grounding in the writing of C# code and scripts.
$29.99
$49.99
RRP $29.99
RRP $49.99
eBook
Print + eBook
$12.99 p/month

Want this title & more? Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.
+ Collection
Free Sample

Book Details

ISBN 139781849696586
Paperback292 pages

About This Book

  • You've actually been creating scripts in your mind your whole life, you just didn't realize it. Apply this logical ability to write Unity C# scripts
  • Learn how to use the two primary building blocks for writing scripts: the variable and the method. They're not mysterious or intimidating, just a simple form of substitution
  • Learn about GameObjects and Component objects as well as the vital communication between these objects using Dot Syntax. It's easy, just like addressing a postal letter
  • Stay logically organized by utilizing a State Machine for your code. Use the simple concept of a State to control your Unity project. You will definitely save time by knowing where your code is located
  • With your new knowledge of coding, you will be able to look at Unity's Scripting Reference code examples with confidence

Who This Book Is For

This book is for the total beginner to any type of programming, focusing on the writing of C# code and scripts only. There are many parts that make up the Unity game engine. It is assumed that the reader already knows their way around Unity's user interface. The code editor used in this book is the MonoDevelop editor supplied by Unity.

Table of Contents

Chapter 1: Discovering Your Hidden Scripting Skills
Prerequisite knowledge for using this book
Dealing with scriptphobia
Choosing to use C# instead of UnityScript
Maneuvering around Unity's documentation
Time for action – opening the Reference Manual documentation for the transform Component
Time for action – opening the scripting reference documentation for the transform component
Working with C# script files
Time for action – create a C# script file
Time for action – opening LearningScript in MonoDevelop
Summary
Chapter 2: Introducing the Building Blocks for Unity Scripts
Using the term method instead of function
Understanding what a variable does in a script
Time for action – creating a variable and seeing how it works
Time for action – changing the number 9 to a different number
Using a method in a script
Time for action – learning how a method works
Introducing the class
By using a little Unity magic, a script becomes a Component
Components communicating using the Dot Syntax
Summary
Chapter 3: Getting into the Details of Variables
Writing C# statements properly
Understanding Component properties in Unity's Inspector
Displaying public variables in the Inspector panel
Time for action – making a variable private
Naming your variables properly
Declaring a variable and its type
Time for action – assigning values while declaring the variable
Summary
Chapter 4: Getting into the Details of Methods
Ending a method definition using curly braces
Using methods in a script
Naming methods properly
Defining a method properly
Time for action – adding code between the parentheses
Calling a method
Returning a value from a method
Time for action – returning a value from AddTwoNumbers()
Using Unity's Update and Start methods
Summary
Chapter 5: Making Decisions in Code
Testing conditions with an if statement
Time for action – create a couple of if statements
Time for action – create if statements with more than one condition to check
Using an if-else statement to execute alternate code
Time for action – add "else" to the if statement
Making decisions based on user input
Storing data in an array, a List, or a Dictionary
Time for action – create a List of pony names
Time for action – create a dictionary of pony names and keys
Time for action – adding ponies using a Collection Initializer
Looping though lists to make decisions
Time for action – using foreach loops to retrieve data
Time for action – selecting a pony from a List using a for loop
Time for action – finding data and breakout of the while loop
Summary
Chapter 6: Using Dot Syntax for Object Communication
Using Dot Syntax is like addressing a letter
Working with objects is a class act
Using Dot Syntax in a script
Time for action – accessing a variable in the current Component
Time for action – communicating with another Component on the Main Camera
Time for action – creating two GameObjects and a new script
Accessing GameObjects using drag-and-drop versus writing code
Time for action – trying drag-and-drop to assign a GameObject
Summary
Chapter 7: Creating the Gameplay is Just a Part of the Game
Applying your new coding skills to a State Machine
Understanding the concepts of a State Machine
Following the State Machine logic flow
Creating Components objects and C# objects
Time for action – creating a script and a class
Time for action – instantiating the BeginState class
Introducing the C# interface
Time for action – implementing an interface
Summary
Chapter 8: Developing the State Machine
Creating four State classes
Time for action – modifying BeginState and add three more States
Setting up the StateManager controller
Time for action – modify StateManager
Time for action – modifying PlayState to add another State
Time for action – adding OnGUI to StateManager
Changing the active State and controlling the Scene
Time for action – adding GameObjects and a button to the Scene
Time for action – adding code to pause the game Scene
Time for action – creating a timer in BeginState
Changing Scenes
Time for action – setting up another Scene
Time for action – adding the Awake method to StateManager
Time for action – adding the code to change the Scenes
Summary
Chapter 9: Start Building a Game and Get the Basic Structure Running
Easing into Unity's scripting documentation
Setup the State Machine and add a Player GameObject
Time for action – setting up nine States and three Scenes
Time for action - adding a Player GameObject
Time for action – creating a GameData script
Controlling the Player GameObject
Time for action – rotating Player in SetupState
Time for action – changing the color using GUI buttons
Time for action – setting the Lives for Player
Summary
Chapter 10: Moving Around, Collisions, and Keeping Score
Visualizing the completed game
Switching to the first play State and playable scene
Adding cameras for different viewing options
Time for action – setting up two additional cameras in the scene
Time for actioning – attach the LookAtPlayer camera script
Time for action – attaching the FollowingPlayer camera script
Moving the Player using Rigidbody physics
Time for action – adding a Rigidbody to the Player
Keeping score during the game
Time for action – creating a good and bad prefab
Shooting projectiles at the orbs
Time for action – creating the EnergyPulse prefab
Summary
Chapter 11: Summarizing Your New Coding Skills
Coding a Unity Project
Scratching the surface of C# programming
Controlling the game with a State Machine
Learning more after this book
Summary

What You Will Learn

  • Understand what a variable is and how it works
  • Learn about methods and functions is and how they are used to manipulate information
  • Learn the concept of an object, a component of a GameObject, and the class they come from
  • Learn about communication between objects using Dot Syntax
  • Understand how to make decisions in code
  • Learn how to use a State Machine to control and organize a Unity project
  • Master the Scripting Reference to bring GameObjects to life
  • Learn how to use the Unity Physics engine for moving and detecting GameObject collisions and triggers
  • Display information on the game screen

In Detail

For the absolute beginner to any concept of programming, writing a script can appear to be an impossible hurdle to overcome. The truth is, there are only three simple concepts to understand: 1) having some type of information; 2) using the information; and 3) communicating the information. Each of these concepts is very simple and extremely important. These three concepts are combined to access the feature set provided by Unity.

"Learning C# by Developing Games with Unity 3D Beginner's Guide" assumes that you know nothing about programming concepts. First you will learn the absolute basics of programming using everyday examples that you already know. As you progress through the book, you will find that C# is not a foreign language after all, because you already know the words. With a few keywords and using substitution, before you know it, you'll be thinking in code.

The book starts by explaining in simple terms the three concepts you need for writing C# code and scripts: 1) variables to hold information; 2) methods (functions) to use the information; and 3) Dot Syntax to communicate the information where it's needed. The book builds on these concepts to open up the world of C# coding and Unity scripting. You will use this new power to access the features provided in Unity's Scripting Reference.

The first half of this book is devoted to the code writing beginner. The concepts of variables, methods, Dot Syntax, and decision processing are fully explained. Since C# is an actual programming language, we take advantage of this to develop a State Machine to help control and organize each phase of a Unity project. Once the basic programming concepts are established and we have some State Machine organization, the features and power of Unity are accessed using the Scripting Reference.

The goal of "Learning C# by Developing Games with Unity 3D Beginner's Guide" is to teach to you how to use the Unity Scripting Reference.

Authors

Table of Contents

Chapter 1: Discovering Your Hidden Scripting Skills
Prerequisite knowledge for using this book
Dealing with scriptphobia
Choosing to use C# instead of UnityScript
Maneuvering around Unity's documentation
Time for action – opening the Reference Manual documentation for the transform Component
Time for action – opening the scripting reference documentation for the transform component
Working with C# script files
Time for action – create a C# script file
Time for action – opening LearningScript in MonoDevelop
Summary
Chapter 2: Introducing the Building Blocks for Unity Scripts
Using the term method instead of function
Understanding what a variable does in a script
Time for action – creating a variable and seeing how it works
Time for action – changing the number 9 to a different number
Using a method in a script
Time for action – learning how a method works
Introducing the class
By using a little Unity magic, a script becomes a Component
Components communicating using the Dot Syntax
Summary
Chapter 3: Getting into the Details of Variables
Writing C# statements properly
Understanding Component properties in Unity's Inspector
Displaying public variables in the Inspector panel
Time for action – making a variable private
Naming your variables properly
Declaring a variable and its type
Time for action – assigning values while declaring the variable
Summary
Chapter 4: Getting into the Details of Methods
Ending a method definition using curly braces
Using methods in a script
Naming methods properly
Defining a method properly
Time for action – adding code between the parentheses
Calling a method
Returning a value from a method
Time for action – returning a value from AddTwoNumbers()
Using Unity's Update and Start methods
Summary
Chapter 5: Making Decisions in Code
Testing conditions with an if statement
Time for action – create a couple of if statements
Time for action – create if statements with more than one condition to check
Using an if-else statement to execute alternate code
Time for action – add "else" to the if statement
Making decisions based on user input
Storing data in an array, a List, or a Dictionary
Time for action – create a List of pony names
Time for action – create a dictionary of pony names and keys
Time for action – adding ponies using a Collection Initializer
Looping though lists to make decisions
Time for action – using foreach loops to retrieve data
Time for action – selecting a pony from a List using a for loop
Time for action – finding data and breakout of the while loop
Summary
Chapter 6: Using Dot Syntax for Object Communication
Using Dot Syntax is like addressing a letter
Working with objects is a class act
Using Dot Syntax in a script
Time for action – accessing a variable in the current Component
Time for action – communicating with another Component on the Main Camera
Time for action – creating two GameObjects and a new script
Accessing GameObjects using drag-and-drop versus writing code
Time for action – trying drag-and-drop to assign a GameObject
Summary
Chapter 7: Creating the Gameplay is Just a Part of the Game
Applying your new coding skills to a State Machine
Understanding the concepts of a State Machine
Following the State Machine logic flow
Creating Components objects and C# objects
Time for action – creating a script and a class
Time for action – instantiating the BeginState class
Introducing the C# interface
Time for action – implementing an interface
Summary
Chapter 8: Developing the State Machine
Creating four State classes
Time for action – modifying BeginState and add three more States
Setting up the StateManager controller
Time for action – modify StateManager
Time for action – modifying PlayState to add another State
Time for action – adding OnGUI to StateManager
Changing the active State and controlling the Scene
Time for action – adding GameObjects and a button to the Scene
Time for action – adding code to pause the game Scene
Time for action – creating a timer in BeginState
Changing Scenes
Time for action – setting up another Scene
Time for action – adding the Awake method to StateManager
Time for action – adding the code to change the Scenes
Summary
Chapter 9: Start Building a Game and Get the Basic Structure Running
Easing into Unity's scripting documentation
Setup the State Machine and add a Player GameObject
Time for action – setting up nine States and three Scenes
Time for action - adding a Player GameObject
Time for action – creating a GameData script
Controlling the Player GameObject
Time for action – rotating Player in SetupState
Time for action – changing the color using GUI buttons
Time for action – setting the Lives for Player
Summary
Chapter 10: Moving Around, Collisions, and Keeping Score
Visualizing the completed game
Switching to the first play State and playable scene
Adding cameras for different viewing options
Time for action – setting up two additional cameras in the scene
Time for actioning – attach the LookAtPlayer camera script
Time for action – attaching the FollowingPlayer camera script
Moving the Player using Rigidbody physics
Time for action – adding a Rigidbody to the Player
Keeping score during the game
Time for action – creating a good and bad prefab
Shooting projectiles at the orbs
Time for action – creating the EnergyPulse prefab
Summary
Chapter 11: Summarizing Your New Coding Skills
Coding a Unity Project
Scratching the surface of C# programming
Controlling the game with a State Machine
Learning more after this book
Summary

Book Details

ISBN 139781849696586
Paperback292 pages
Read More

Recommended for You

Learning Unity 2D Game Development by Example
$ 26.99
Unity 4.x Game Development by Example: Beginner's Guide
$ 26.99
Mastering Unity 4 Scripting [Video]
$ 25.50
Getting Started with Unity 4 Scripting [Video]
$ 25.50