Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
Learning C# by Developing Games with Unity
Learning C# by Developing Games with Unity

Learning C# by Developing Games with Unity: Get to grips with coding in C# and build simple 3D games in Unity 2023 from the ground up , Seventh Edition

eBook
R$49.99 R$200.99
Paperback
R$250.99
Subscription
Free Trial
Renews at R$50p/m

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Table of content icon View table of contents Preview book icon Preview Book

Learning C# by Developing Games with Unity

Summary

We covered quite a bit of logistical information in this chapter, so I can understand if you're itching to write some code. Starting new projects, creating folders and scripts, and accessing documentation are topics that are easily forgotten in the excitement of a new adventure. Just remember that this chapter has a lot of resources you might need in the coming pages, so don't be afraid to come back and visit. Thinking like a programmer is a muscle: the more you work it, the stronger it gets.

In the next chapter, we'll start laying out the theory, vocabulary, and main concepts you'll need to prime your coding brain. Even though the material is conceptual, we'll still be writing our first lines of code in the LearningCurve script. Get ready!

Pop quiz—dealing with scripts

  1. What type of relationship do Unity and Visual Studio share?
  2. The Scripting Reference supplies example code in regards to using a particular Unity component or feature. Where can you find more detailed (non-code-related) information about Unity components?
  3. The Scripting Reference is a large document. How much of it do you have to memorize before attempting to write a script?
  4. When is the best time to name a C# script?

Understanding methods

On their own, variables can’t do much more than keep track of their assigned values. While this is vital, they are not very useful on their own in terms of creating meaningful applications. So, how do we go about creating actions and driving behavior in our code? The short answer is by using methods.

Before we get to what methods are and how to use them, we should clarify a small point of terminology. In the world of programming, you’ll commonly see the terms method and function used interchangeably, especially in regard to Unity.

Since C# is an object-oriented language (this is something that we’ll cover in Chapter 5, Working with Classes, Structs, and OOP), we’ll be using the term method for the rest of the book to conform to standard C# guidelines.

When you come across the word function in the Scripting Reference or any other documentation, think method.

Methods drive actions

Like variables, defining programming...

Introducing classes

We’ve seen how variables store information and how methods perform actions, but our programming toolkit is still somewhat limited. We need a way of creating a sort of super container, containing variables and methods that can be referenced from within the container itself. Enter classes:

  • Conceptually, a class holds related information, actions, and behaviors inside a single container. They can even communicate with each other.
  • Technically, classes are data structures. They can contain variables, methods, and other programmatic information, all of which can be referenced when an object of the class is created.
  • Practically, a class is a blueprint. It sets out the rules and regulations for any object (called an instance) created using the class blueprint.

You’ve probably realized that classes surround us not only in Unity but in the real world as well. Next, we’ll take a look at the most common Unity class and how...

Working with comments

You might have noticed that LearningCurve has an odd line of text (10 in Figure 2.6) starting with two forward slashes, which were created by default with the script.

These are code comments! In C#, there are a few ways that you can use to create comments, and Visual Studio (and other code editing applications) will often make it even easier with built-in shortcuts.

Some professionals wouldn’t call commenting an essential building block of programming, but I’ll have to respectfully disagree. Correctly commenting out your code with meaningful information is one of the most fundamental habits a new programmer can develop.

Single-line comments

The following single-line comment is like the one we’ve included in LearningCurve:

// This is a single-line comment

Visual Studio doesn’t compile lines starting with two forward slashes (without empty space) as code, so you can use them as much as needed to explain your...

Putting the building blocks together

With the building blocks squared away, it’s time to do a little Unity-specific housekeeping before wrapping up this chapter. Specifically, we need to know more about how Unity handles C# scripts attached to GameObjects.

For this example, we’ll keep using our LearningCurve script and Main Camera GameObject.

Scripts become components

All GameObject components are scripts, whether they’re written by you or the good people at Unity. The only difference is that Unity-specific components such as Transform and their respective scripts just aren’t supposed to be edited by users.

The moment a script that you have created is dropped onto a GameObject, it becomes another component of that object, which is why it appears in the Inspector panel. To Unity, it walks, talks, and acts like any other component, complete with public variables underneath the component that can be changed at any time. Even though we aren...

Summary

We’ve come a long way in a few short pages, but understanding the overarching theory of fundamental concepts such as variables, methods, and classes will give you a strong foundation to build on. Bear in mind that these building blocks have very real counterparts in the real world. Variables hold values like mailboxes hold letters; methods store instructions like recipes, to be followed for a predefined result; and classes are blueprints just like real blueprints.

You can’t build a house without a well-thought-out design to follow if you expect it to stay standing.

The rest of this book will take you on a deep dive into C# syntax from scratch, starting with more detail in the next chapter on how to create variables, manage value types, and work with simple and complex methods.

Pop quiz—C# building blocks

  1. What is the main purpose of a variable?
  2. What role do methods play in scripts?
  3. How does a script become a component?
  4. What is the purpose of dot notation?

Don’t forget to check your answers against mine in the Pop Quiz Answers appendix to see how you did!

Join us on discord!

Read this book alongside other users, Unity game development experts and the author himself.

Ask questions, provide solutions to other readers, chat with the author via. Ask Me Anything sessions and much more.

Scan the QR code or visit the link to join the community.

https://packt.link/csharpwithunity

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Develop a strong foundation of programming concepts and the C# language
  • Become confident with Unity fundamentals and features in line with Unity 2023
  • Build a playable game prototype in Unity—a working first-person shooter game prototype

Description

It's the ability to write custom C# scripts for behaviors and game mechanics that really takes Unity the extra mile. That's where this book can help you as a new programmer! Harrison Ferrone, in this seventh edition of the bestselling series will take you through the building blocks of programming and the C# language from scratch while building a fun and playable game prototype in Unity. This book will teach you the fundamentals of OOPs, basic concepts of C#, and Unity engine with lots of code samples, exercises and tips to go beyond the book with your work. You will write C# scripts for simple game mechanics, perform procedural programming, and add complexity to your games by introducing intelligent enemies and damage-dealing projectiles. You will explore the fundamentals of Unity game development, including game design, lighting basics, player movement, camera controls, collisions, and more with every passing chapter. Note: The screenshots in the book display the Unity editor in full-screen mode for a comprehensive view. Users can easily reference color versions of images by downloading them from the GitHub repository or the graphics bundle linked in the book.

Who is this book for?

If you're a developer, programmer, hobbyist, or anyone who wants to get started with Unity and C# programming in a fun and engaging manner, this book is for you. You'll still be able to follow along if you don't have programming experience, but knowing the basics will help you get the most out of this book.

What you will learn

  • Understanding programming fundamentals by breaking them down into their basic parts
  • Comprehensive explanations with sample codes of object-oriented programming and how it applies to C#
  • Follow simple steps and examples to create and implement C# scripts in Unity
  • Divide your code into pluggable building blocks using interfaces, abstract classes, and class extensions
  • Grasp the basics of a game design document and then move on to blocking out your level geometry, adding lighting and a simple object animation
  • Create basic game mechanics such as player controllers and shooting projectiles using C#
  • Become familiar with stacks, queues, exceptions, error handling, and other core C# concepts
  • Learn how to handle text, XML, and JSON data to save and load your game data

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Nov 29, 2022
Length: 466 pages
Edition : 7th
Language : English
ISBN-13 : 9781837637379
Vendor :
Unity Technologies
Languages :
Concepts :
Tools :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Product Details

Publication date : Nov 29, 2022
Length: 466 pages
Edition : 7th
Language : English
ISBN-13 : 9781837637379
Vendor :
Unity Technologies
Languages :
Concepts :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
R$50 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
R$500 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just R$25 each
Feature tick icon Exclusive print discounts
R$800 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just R$25 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total R$ 780.97
Hands-On Unity 2022 Game Development
R$250.99
C# 11 and .NET 7 – Modern Cross-Platform Development Fundamentals
R$278.99
Learning C# by Developing Games with Unity
R$250.99
Total R$ 780.97 Stars icon
Banner background image

Table of Contents

17 Chapters
Getting to Know Your Environment Chevron down icon Chevron up icon
The Building Blocks of Programming Chevron down icon Chevron up icon
Diving into Variables, Types, and Methods Chevron down icon Chevron up icon
Control Flow and Collection Types Chevron down icon Chevron up icon
Working with Classes, Structs, and OOP Chevron down icon Chevron up icon
Getting Your Hands Dirty with Unity Chevron down icon Chevron up icon
Movement, Camera Controls, and Collisions Chevron down icon Chevron up icon
Scripting Game Mechanics Chevron down icon Chevron up icon
Basic AI and Enemy Behavior Chevron down icon Chevron up icon
Revisiting Types, Methods, and Classes Chevron down icon Chevron up icon
Specialized Collection Types and LINQ Chevron down icon Chevron up icon
Saving, Loading, and Serializing Data Chevron down icon Chevron up icon
Exploring Generics, Delegates, and Beyond Chevron down icon Chevron up icon
The Journey Continues Chevron down icon Chevron up icon
Pop Quiz Answers Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.4
(47 Ratings)
5 star 74.5%
4 star 8.5%
3 star 8.5%
2 star 2.1%
1 star 6.4%
Filter icon Filter
Top Reviews

Filter reviews by




Thomas Luik Feb 21, 2024
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Feefo Verified review Feefo
Andy Jan 22, 2024
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Its good
Amazon Verified review Amazon
Eric Montoya Dec 03, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I have a digital copy of this book and is very comprehensive for beginners. Harrison teaches the reader the fundamentals of Unity and C# programming language. He gives easy to understand examples that the reader could easily comprehend. I highly recommend this book if you’re starting your Unity game developer journey.
Amazon Verified review Amazon
Troy Martin Feb 22, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I've been developing in C# for around 8 years and used Unity wayyy back in Unity 4.x. I've expanded my knowledge of C# (amongst other languages) considerably and decided to pick this book up (e-book) as I haven't used Unity since then.Harrison has done a wonderful job of introducing C# throughout the book while putting together a game which explains the various operations of Unity. The first couple of chapters can be skipped (or skimmed) if you are already familiar with the language but covers everything you need to know to get started with Unity.After that, he takes you through each individual aspect of making a game. This includes explaining all the various UI elements to Unity itself, handling projectiles and collision, world building, the Unity component system, saving and loading... everything you need to know to get started building the game you want to create. Throughout the book, Harrison adds more C# knowledge/features to continue expanding on what was introduced in the first few chapters.This is a great book that I would recommend to not only complete beginners but anyone who is looking to make the most out of Unity.
Amazon Verified review Amazon
triptych May 17, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Starting out in a career of coding and making games is a daunting challenge in this day and age. In order for you to be successful, you need the right tools and the right learnings to get you on a successful path. This book was sent to me as a free copy, but I would have easily made the financial commitment even after just looking through the summary.In short, you have a comprehensive guide to learning C# while getting familiar with the industry standard Unity engine. This is a powerful combination, which the author uses to help you build up your skills in game development with practical lessons and engaging writing. Even if you are relatively new to coding, you can use this book to get you started, because the author doesn't assume you're a technical expert but uses a very hands-on approach to every aspect of C# and helps you make the best use of Unity to create interesting games.I am going to come back to this book quite often in my gaming career and while I might use other tools or languages at some point, the foundations of not only C# but logical thinking and game making carry over into many applications. They update this book often as you can see this is the 7th edition, which gives me confidence that this book is up to date with modern standards and will stay relevant for years to come.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.