Book description
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.
- 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
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.
Table of contents
-
Learning C# by Developing Games with Unity 3D Beginner's Guide
- Table of Contents
- Learning C# by Developing Games with Unity 3D Beginner's Guide
- Credits
- About the Author
- About the Reviewers
- www.PacktPub.com
- Preface
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
- 11. Summarizing Your New Coding Skills
- A. Initial State Machine files
-
B. Completed code files for Chapters 9 and 10
- BeginState
- SetupState
- PlayStateScene1_1: (1 of 2 available States in Scene1)
- PlayStateScene1_2: (2 of 2 available States in Scene1)
- WonStateScene1
- LostStateScene1
- PlayStateScene2
- WonStateScene2
- LostStateScene2
- StateManager
- PlayerControl
- GameData
- LookAtPlayer
- FollowingPlayer
- EnergyPulsePower
- IStateBase
-
C. Pop Quiz Answers
- Chapter 1, Discovering Your Hidden Scripting Skills
- Chapter 2, Introducing the Building Blocks for Unity Scripts
- Chapter 3, Getting into the Details of Variables
- Chapter 4, Getting into the Details of Methods
- Chapter 5, Making Decisions in Code
- Chapter 6, Using Dot Syntax for Object Communication
- Chapter 7, Creating the Gameplay is Just a Part of the Game
- Chapter 8, Developing the State Machine
- Chapter 9, Start Building a Game and Get the Basic Structure Running
- Chapter 10, Moving Around, Collisions, and Keeping Score
- Index
Product information
- Title: Learning C# by Developing Games with Unity 3D Beginner's Guide
- Author(s):
- Release date: September 2013
- Publisher(s): Packt Publishing
- ISBN: 9781849696586
You might also like
video
Learn Flutter and Dart to Build iOS and Android Apps (2023)
What makes Flutter the best framework to build mobile apps? With Flutter, you can build mobile …
video
Microsoft Power BI - The Complete Masterclass [2023 EDITION]
Microsoft Power BI is an interactive data visualization software primarily focusing on business intelligence, part of …
video
React - The Complete Guide (Includes Hooks, React Router, and Redux) - Second Edition
**This course is now updated for the latest version of React—React 18** React.js is the most …
video
Complete Git Guide: Understand and Master Git and GitHub
Complete with practical activities, this comprehensive Git and GitHub guide will help you understand how Git …