Search icon CANCEL
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
$22.99 $32.99
Paperback
$54.99
Subscription
Free Trial
Renews at $19.99p/m

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
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
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
Estimated delivery fee Deliver to United States

Economy delivery 10 - 13 business days

Free $6.95

Premium delivery 6 - 9 business days

$21.95
(Includes tracking information)

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 : 9781849696586
Vendor :
Epic Games
Languages :
Tools :

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
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
Estimated delivery fee Deliver to United States

Economy delivery 10 - 13 business days

Free $6.95

Premium delivery 6 - 9 business days

$21.95
(Includes tracking information)

Product Details

Publication date : Sep 25, 2013
Length: 292 pages
Edition : 1st
Language : English
ISBN-13 : 9781849696586
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 $5 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 $5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total $ 109.98
Unity 3.x Game Development Essentials
$54.99
Learning C# by Developing Games with Unity 3D Beginner's Guide
$54.99
Total $ 109.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

What is the delivery time and cost of print book? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela
What is custom duty/charge? Chevron down icon Chevron up icon

Customs duty are charges levied on goods when they cross international borders. It is a tax that is imposed on imported goods. These duties are charged by special authorities and bodies created by local governments and are meant to protect local industries, economies, and businesses.

Do I have to pay customs charges for the print book order? Chevron down icon Chevron up icon

The orders shipped to the countries that are listed under EU27 will not bear custom charges. They are paid by Packt as part of the order.

List of EU27 countries: www.gov.uk/eu-eea:

A custom duty or localized taxes may be applicable on the shipment and would be charged by the recipient country outside of the EU27 which should be paid by the customer and these duties are not included in the shipping charges been charged on the order.

How do I know my custom duty charges? Chevron down icon Chevron up icon

The amount of duty payable varies greatly depending on the imported goods, the country of origin and several other factors like the total invoice amount or dimensions like weight, and other such criteria applicable in your country.

For example:

  • If you live in Mexico, and the declared value of your ordered items is over $ 50, for you to receive a package, you will have to pay additional import tax of 19% which will be $ 9.50 to the courier service.
  • Whereas if you live in Turkey, and the declared value of your ordered items is over € 22, for you to receive a package, you will have to pay additional import tax of 18% which will be € 3.96 to the courier service.
How can I cancel my order? Chevron down icon Chevron up icon

Cancellation Policy for Published Printed Books:

You can cancel any order within 1 hour of placing the order. Simply contact customercare@packt.com with your order details or payment transaction id. If your order has already started the shipment process, we will do our best to stop it. However, if it is already on the way to you then when you receive it, you can contact us at customercare@packt.com using the returns and refund process.

Please understand that Packt Publishing cannot provide refunds or cancel any order except for the cases described in our Return Policy (i.e. Packt Publishing agrees to replace your printed book because it arrives damaged or material defect in book), Packt Publishing will not accept returns.

What is your returns and refunds policy? Chevron down icon Chevron up icon

Return Policy:

We want you to be happy with your purchase from Packtpub.com. We will not hassle you with returning print books to us. If the print book you receive from us is incorrect, damaged, doesn't work or is unacceptably late, please contact Customer Relations Team on customercare@packt.com with the order number and issue details as explained below:

  1. If you ordered (eBook, Video or Print Book) incorrectly or accidentally, please contact Customer Relations Team on customercare@packt.com within one hour of placing the order and we will replace/refund you the item cost.
  2. Sadly, if your eBook or Video file is faulty or a fault occurs during the eBook or Video being made available to you, i.e. during download then you should contact Customer Relations Team within 14 days of purchase on customercare@packt.com who will be able to resolve this issue for you.
  3. You will have a choice of replacement or refund of the problem items.(damaged, defective or incorrect)
  4. Once Customer Care Team confirms that you will be refunded, you should receive the refund within 10 to 12 working days.
  5. If you are only requesting a refund of one book from a multiple order, then we will refund you the appropriate single item.
  6. Where the items were shipped under a free shipping offer, there will be no shipping costs to refund.

On the off chance your printed book arrives damaged, with book material defect, contact our Customer Relation Team on customercare@packt.com within 14 days of receipt of the book with appropriate evidence of damage and we will work with you to secure a replacement copy, if necessary. Please note that each printed book you order from us is individually made by Packt's professional book-printing partner which is on a print-on-demand basis.

What tax is charged? Chevron down icon Chevron up icon

Currently, no tax is charged on the purchase of any print book (subject to change based on the laws and regulations). A localized VAT fee is charged only to our European and UK customers on eBooks, Video and subscriptions that they buy. GST is charged to Indian customers for eBooks and video purchases.

What payment methods can I use? Chevron down icon Chevron up icon

You can pay with the following card types:

  1. Visa Debit
  2. Visa Credit
  3. MasterCard
  4. PayPal
What is the delivery time and cost of print books? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela