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 now! 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
Conferences
Free Learning
Arrow right icon
Learning C# by Developing Games with Unity 3D Beginner's Guide
Learning C# by Developing Games with Unity 3D Beginner's Guide

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.

eBook
Mex$631.99 Mex$902.99
Paperback
Mex$1128.99
Subscription
Free Trial

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
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 3D Beginner's Guide

Chapter 1. Discovering Your Hidden Scripting Skills

Computer programming is viewed by the average person as requiring long periods of training to learn skills that are totally foreign, and darn near impossible to understand. The word geek is often used to describe a person that can write computer code. The perception is that learning to write code takes great technical skill that is just so hard to learn. This perception is totally unwarranted. You already have the skills needed but don't realize it. Together we will crush this false perception you may have of yourself by refocusing, one step at a time, the knowledge you already possess to write Unity scripts.

In this chapter we shall:

  • Deal with preconceived fears and concepts about scripts
  • See why we should use C# instead of UnityScript
  • Introduce Unity's documentation for scripting
  • Learn how Unity and the MonoDevelop editor work together

Let's begin our journey by eliminating any anxiety about writing scripts for Unity, and become familiar with our scripting environment.

Prerequisite knowledge for using this book

Great news if you are a scripting beginner! This book is for those with absolutely no knowledge of programming. It is devoted to teaching the basics of C# with Unity.

However, some knowledge of Unity's operation is required. I will only be covering the parts of the Unity interface that are related to writing C# code. I am assuming that you know your way around Unity's interface, how to work with GameObjects in your Scene, and how to locate Components and view their Properties in the Inspector.

Dealing with scriptphobia

You've got Unity up and running, studied the interface, added some GameObjects to the Scene. Now you're ready to have those GameObjects move around, listen, speak, pick up other objects, shoot the bad guys, or anything else you can dream of. So you click on Play, and nothing happens. Well darn it all anyway.

You just learned a big lesson, all those fantastic, highly detailed GameObjects are dumber than a hammer. They don't know anything, and they sure don't know how to do anything.

So you proceed to read the Unity forums, study some scripting tutorials, maybe even copy and paste some scripts to get some action going when you press Play. That's great, but then you realize you don't understand anything in the scripts you've copied. Sure, you probably recognize the words, but you fail to understand what those words do or mean in a script. It feels like gibberish.

You look at the code, your palms get sweaty, and you think to yourself, "Geez, I'll never be able to write scripts!" Perhaps you have scriptphobia: the fear of not being able to write instructions (I made that up). Is that what you have?

The fear that you cannot write down instructions in a coherent manner? You may believe you have this affliction, but you don't. You only think you do.

The basics of writing code are quite simple. In fact, you do things every day that are just like the steps executed in a script. For example, do you know how to interact with other people? How to operate a computer? Do you fret so much about making a baloney sandwich that you have to go to an online forum and ask how to do it?

Of course you don't. In fact, you know these things as "every day routines", or maybe as habits. Think for a moment, do you have to consciously think about these routines you do every day? Probably not. After you do them over and over, they become automatic.

The point is, you do things everyday following sequences of steps. Who created these steps you follow? More than likely you did, which means you've been scripting your whole life. You just never had to write down the steps, for your daily routines, on a piece of paper before doing them. You could write the steps down if you really wanted to, but it takes too much time and there's no need. But you do, in fact, know how to. Well, guess what? To write scripts, you only have to make one small change, start writing down the steps. Not for yourself but for the world you're creating in Unity.

So you see, you are already familiar with the concept of dealing with scripts. Most beginners to Unity easily learn their way around the Unity interface, how to add assets, and work in the Scene and Hierarchy windows. Their primary fear, and roadblock, is their false belief that scripting is too hard to learn.

Relax! You now have this book. I am going to get really basic in the beginning chapters.Call them baby-steps if you want, but you will see that scripting for Unity is similar to doing things you already do everyday. I'm sure you will have many "Ah-Ha" moments as you learn and overcome your unjustified fears and beliefs.

Teaching behaviors to GameObjects

You have Unity because you want to make a game or something interactive. You've filled your game full of dumb GameObjects. What you have to do now is be their teacher. You have to teach them everything they need to know to live in this make-believe world. This the part where you have to write down the instructions so that your GameObjects can be smarter.

Here's a quote from the Unity Manual:

The behavior of GameObjects is controlled by the Components that are attached to them... Unity allows you to create your own Components using scripts.

Notice that word, behavior. It reminds me of a parent teaching a child proper behavior. This is exactly what we are going to do when we write scripts for our GameObjects, we're teaching them the behaviors we want them to have. The best part is, Unity has provided a big list of all the behaviors we can give to our GameObjects. This list of behaviors is documented in the Scripting Reference.

This means we can pick and chose, from this list of behaviors anything we want a GameObject to do. Unity has done all the hard work of programming all these behaviors for you. All we need to do is use a little code to tie into these behaviors. Did you catch that? Unity has already created the behaviors, all we have to do is supply a little bit of C# code to apply these behaviors to our GameObjects. Now really, how difficult can it be since Unity has already done most of the programming?

Choosing to use C# instead of UnityScript

So why choose C# to create this code? This maybe after-the-fact information for you if you've already acquired this book and chosen to use C#, but these are valuable points to know anyway:

Reason 1 for choosing C# – vast amount of documentation on the Internet

Have a look at the following bullet list, it will help you understand the reason for choosing C#:

  • C# is a well known and a heavily used programming language developed by Microsoft for creating Windows application and web-based applications. If you ever need to know anything about C#, simply do a search on the Internet.
  • UnityScript is just a scripting language designed specifically for Unity. It's similar to JavaScript, yet it isn't. You may be able to search for JavaScript solutions on the web, but the code may or may not work within the confines of Unity without modification, if at all.
  • Why start off learning a limited scripting language, specific only to Unity, when you can use C#, a true programming language, and find information everywhere?
  • Who knows, once you see how easy C# is, maybe you might decide to develop for Windows or the Web some day. You'll already have the basics of C#.
  • Once you learn C#, you'll pretty much know UnityScript, too.

Reason 2 for choosing C# – flexibility to use Unity scripts and regular C# code files

  • Any C# files you have in your Unity Project folder, that are not Unity scripts, are accessible without the need of attach them to GameObjects.
  • The State Machine project we will create for this book makes use of C# code files that are not attached to any GameObject.
  • I'm not saying you can't create a State Machine by using UnityScript. It's just so much easier with C#. Every UnityScript file has to be attached to a GameObject to work and be accessible to other scripts. C# overcomes this necessity.

Reason 3 for choosing C# – coding rules are specific

  • C# is known as a strictly-typed language. What does this means to you?
  • As you write code, Unity will catch coding errors immediately. Learning a subject is always easier when the rules are specific, and not some fuzzy "you can if you want to" kind of logic.
  • UnityScript is not a strictly-typed language. You have the potential to write code that is not valid, but Unity won't catch the errors until you press Play.
  • Finding mistakes as you write the code is so much easier than having to deal with them when a user has found them when they're playing the game.
  • Please be aware, it is easy to force UnityScript to be strictly-typed, but if you're going to do that, then you may as well be using C# anyway, which brings us back to Reason 1.

Maneuvering around Unity's documentation

When we begin writing scripts, we will be looking at Unity's documentation quite often, so it's beneficial to know how to access the information we need. For an overview of a topic we'll use the Reference Manual. For specific coding details and examples we'll use the Scripting Reference.

Note

When you look at the code examples in the Scripting Reference, they probably won't make sense to you, which is expected at this point. In the beginning chapters, as I teach you the basics of programming, it will be necessary for me to use a few things in the Scripting Reference such as displaying some output to Unity's Console. For now, just copy the code I use because you will be learning the detail of it later.

Time for action – opening the Reference Manual documentation for the transform Component

To get a feel for accessing Unity's documentation from within Unity, we'll use the Main Camera to demonstrate. Every GameObject in a Scene has a Transform Component, so we'll look at the documentation for Transform in the Reference Manual and the Scripting Reference. Getting to the information is pretty easy. Click on the tiny book icon with the question mark.

  1. In the Hierarchy tab, select the Main Camera.
  2. Click on the book icon for the Transform.
    Time for action – opening the Reference Manual documentation for the transform Component

What just happened?

The web browser opened the Reference Manual showing information about Transform.

Time for action – opening the scripting reference documentation for the transform component

From the Reference Manual, we'll now open the Scripting Reference documentation for the Transform Component.

  1. Click the link Switch to Scripting in the upper right-hand side of the browser window as shown in the following screenshot:
    Time for action – opening the scripting reference documentation for the transform component

What just happened?

The Transform page in the Scripting Reference opens in the web browser as shown in the following screenshot:

What just happened?

Are we really supposed to know all that stuff?

Actually, no. The whole reason for why the Scripting Reference exist is so we can look for information as we need it. Which will actually happen us to remember the code we do over and over, just like our other daily routines and habits.

What is all that information?

The previous screenshot shows a description and some sample code which probably doesn't mean much right now. Fear not! You'll eventually be able to look at that and say, "Hey, I know what that means!"

Working with C# script files

Until you learn some basic programming concepts, it's too early to study how scripts work, but we still need to know how to create one.

There are several ways to create a script file using Unity:

  • In the menu navigate to Assets | Create | C# Script

    Or

  • In the Project tab navigate to Create | C# Script

    Or

  • In the Project tab right-click , from the pop-up menu navigate to Create | C# Script

    Note

    From now on, when I tell you to create a C# script, please use which ever method you prefer.

Time for action – create a C# script file

As our Unity project progresses, we will have several folders to organize and store all of our C# files.

  1. Create a new Unity project and name it as State Machine.
  2. Right-click on in the Project tab and create a folder named Code.
  3. Right-click on the Code folder and a create a folder named Scripts.
  4. In the Scripts folder, create a C# Script.
  5. Immediately rename NewBehaviourScript to LearningScript.
    Time for action – create a C# script file

What just happened?

We created one of the Code subfolders, named Scripts, that we will be using to organize our C# files. This folder will contain all of our Unity script files. Later we will create other C# file folders.

We also used Unity to create a C# script file named LearningScript.cs.

Introducing the MonoDevelop code editor

Unity uses an external editor to edit its C# scripts. Even though Unity can create a basic starter C# script for us, we still have to edit the script using the MonoDevelop code editor that's included with Unity.

Syncing C# files between MonoDevelop and Unity

Since Unity and MonoDevelop are separate applications, Unity will keep MonoDevelop and Unity synchronized with each other. This means that if you add, delete, or change a script file in one application, the other application will see the changes automatically.

Time for action – opening LearningScript in MonoDevelop

Unity will synchronize with MonoDevelop the first time you tell Unity to open a file for editing. The simplest way to do this is just double-click on LearningScript in the Scripts folder.

  1. In Unity's Project tab, double-click on LearningScript:
    Time for action – opening LearningScript in MonoDevelop

What just happened?

MonoDevelop started with LearningScript open, ready to edit.

Watching for a possible "gotcha" when creating script files in Unity

Notice line 4 in the previous screenshot:

public class LearningScript : MonoBehaviour

The class name LearningScript is the same as the file name LearningScript.cs. This is a requirement. You probably don't know what a class is yet, that's ok. Just remember that the file name and the class name must be the same.

When you create a C# script file in Unity, the filename, in the Project tab, is in Edit mode, ready to be renamed. Please rename it right then and there. If you rename the script later, the filename and the class name won't match. The filename would change, but line 4 would be this:

public class NewBehaviourScript : MonoBehaviour

This can easily be fixed in MonoDevelop by changing NewBehaviourScript on line 4 to the same name as the filename, but it's much simpler to do the renaming in Unity immediately.

Fixing sync if it isn't working properly

So what happens when Murphy's Law strikes and syncing just doesn't seem to be working correctly? Should the two apps somehow get out-of-sync as you switch back-and-forth between the them, for whatever reason, do this:

  • Right-click on Unity's Project window and select Sync MonoDevelop Project. MonoDevelop will re-sync with Unity.

Pop quiz – dealing with scripts

Q1. As a beginner, what's the biggest obstacle to be overcome to be able to write C# code?

Q2. The Scripting Reference supplies example code and a short description of what the code does. What do you use to get full detailed descriptions of Unity's Components and features?

Q3. The Scripting Reference is a large document. How much it should you know before attempting to write any scripts?

Q4. When creating a script file in Unity, when is the best time to name the script file?

Summary

This chapter tried to put you at ease about writing scripts for Unity. You do have the ability to write down instructions which is all a script is, a sequence of instructions. We saw how simple it is to create a new script file. You probably create files on your computer all the time. We saw how to easily bring up Unity's documentation. Finally we had a look at the MonoDevelop editor. None of this was complicated. In fact, you probably use apps all the time that do similar things. Bottom line, there's nothing to fear here.

Alright, let's start off Chapter 2 Introducing the Building Blocks for Unity Scripts by having an introductory look at the building blocks of programming we'll be using: variables, methods, Dot Syntax, and the class. Don't let these terms scare you. The concepts behind each one of these are similar to things you do often, perhaps every day.

Left arrow icon Right arrow icon

Key benefits

  • 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

Description

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. If you're looking to learn C# for Unity then this is the book that offers everything you need and more - so discover what C# offers today and see your work come to life as complete games!

Who is this book 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.

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

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Sep 25, 2013
Length: 292 pages
Edition : 1st
Language : English
ISBN-13 : 9781849696593
Vendor :
Epic Games
Languages :
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
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Product Details

Publication date : Sep 25, 2013
Length: 292 pages
Edition : 1st
Language : English
ISBN-13 : 9781849696593
Vendor :
Epic Games
Languages :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 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
$199.99 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 Mex$85 each
Feature tick icon Exclusive print discounts
$279.99 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 Mex$85 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total Mex$ 2,257.98
Unity 3.x Game Development Essentials
Mex$1128.99
Learning C# by Developing Games with Unity 3D Beginner's Guide
Mex$1128.99
Total Mex$ 2,257.98 Stars icon

Table of Contents

15 Chapters
1. Discovering Your Hidden Scripting Skills Chevron down icon Chevron up icon
2. Introducing the Building Blocks for Unity Scripts Chevron down icon Chevron up icon
3. Getting into the Details of Variables Chevron down icon Chevron up icon
4. Getting into the Details of Methods Chevron down icon Chevron up icon
5. Making Decisions in Code Chevron down icon Chevron up icon
6. Using Dot Syntax for Object Communication Chevron down icon Chevron up icon
7. Creating the Gameplay is Just a Part of the Game Chevron down icon Chevron up icon
8. Developing the State Machine Chevron down icon Chevron up icon
9. Start Building a Game and Get the Basic Structure Running Chevron down icon Chevron up icon
10. Moving Around, Collisions, and Keeping Score Chevron down icon Chevron up icon
11. Summarizing Your New Coding Skills Chevron down icon Chevron up icon
A. Initial State Machine files Chevron down icon Chevron up icon
B. Completed code files for Chapters 9 and 10 Chevron down icon Chevron up icon
C. Pop Quiz Answers 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 Half star icon Empty star icon 3.8
(50 Ratings)
5 star 34%
4 star 32%
3 star 20%
2 star 4%
1 star 10%
Filter icon Filter
Top Reviews

Filter reviews by




Justin Mar 09, 2014
Full star icon Full star icon Full star icon Full star icon Full star icon 5
To start this book does not cover the unity interface per the title. I just learned Unity's interface & was ready to build some projects! However when it came time to make my new GameObjects do any thing I was stuck.It was like I hit a brick wall & though there is a lot of documentation on the web I did not fully understand the code "C#" or how it was to be applied.This book really did it for me while I was climbing over the wall I had hit.Not only will it help you draw some life out of your project , you will also learn some true C# fundamentals.I think even if you know some about C# in the Desktop , App World this will still help you to harness your abilities in the unity framework.Last Note: I recommend getting some where quiet with the book as when any book & just read it, If you can not be in front of a computer none stop , this is also a great book to travel with.Well worth the price IMO.
Amazon Verified review Amazon
Jennifer Nov 08, 2013
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This book is what got me over the "hump" of understanding general programming. It's a great intro into C# scripting with unity. I would highly recommend this book to anyone with no to a very basic understanding of unity and C#. Terry Norton did a great job.The only qualm with it so far is that a few times I was pulling my hair out trying to figure out why an example didn't work or what you expect to happen doesn't. Only to find out a page later that it wasn't supposed to. A little warning would be nice. Maybe bold letters before the example stating that it isn't supposed to work right. Aside from that great book.
Amazon Verified review Amazon
Doug warner May 25, 2014
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I think the one thing I liked about this book is how it describes using the state machine to easily translate between scenes and states. I tried doing other video games and as they got bigger and bigger they became extremely difficult to handle. Setting up the unity game engine using a state machine would make building a medium to large scale game at least more manageable. If you are trying to make a simple little game then this would probably still be useful but not as necessary. this book also made me change the way I look at making a video game; I would normally just jump in and start coding with my normal right brain approach. this book seemed to get me to incorporate my left brain to provide a more structured code instead of my usually trial and error approach where I would usually have to go back and re-code and reorganize my files to help make sense of what is going on.Cons: 1.) It sometimes over-explains things. Note: It does do a good job of explaining(for the most part) but does it in a very tedious manner. 2.) It really just explains basic C# and how to begin making a game using a state machine. Which is all I needed (I already knew C and some C++ so chapters 1-4 and 1/2 of chapter 5 was stuff I already knew ), but if you are looking to get a high polished game out of this book then you should look elsewhere. 3.) He sometimes leaves out steps, which was easy enough for me to figure out; but, if you are brand new to programming and/or using Unity then it may be a little difficult to know how resolve these issues.Despite these cons I still gave it a 5 because they were insignificant to me.
Amazon Verified review Amazon
DavidStrife Jun 22, 2014
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I bought it with an expectation that there'd be direct examples or explanations of things to carry out in Unity using C#, but actually the book really focuses solely on C#, and puts it in a Unity contextual environment.You won't see any example projects or direct tutorials, but it does show you different implementations of how to execute well known functions and procedures such as limited/numbered loops, and basic programming concepts anyone should know when starting out.A stellar book that basically helped me climb over the final steep part of my learning curve with programming, and finally gave me that "eureka" moment with programming in general, and not just C#.If you've tried to learn programming, but are just finding it a tad bit difficult, and are looking for that "holy grail" book to finally sink it into your head, this book will knock you over to the other side of the fence you're standing on. If you're a programmer but are trying to learn C# specifically for Unity, you'll breeze through this in days.
Amazon Verified review Amazon
Israel S. Dec 01, 2014
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Good Product
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.