Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Unity 5.x 2D Game Development Blueprints
Unity 5.x 2D Game Development Blueprints

Unity 5.x 2D Game Development Blueprints: Explore the features of Unity 5 for 2D game development by building three amazing game projects

Arrow left icon
Profile Icon Abdelrahman Elsayegh Profile Icon Sapio
Arrow right icon
₹3276.99
Full star icon Full star icon Half star icon Empty star icon Empty star icon 2.7 (3 Ratings)
Paperback Sep 2016 252 pages 1st Edition
eBook
₹2621.99
Paperback
₹3276.99
Subscription
Free Trial
Renews at ₹800p/m
Arrow left icon
Profile Icon Abdelrahman Elsayegh Profile Icon Sapio
Arrow right icon
₹3276.99
Full star icon Full star icon Half star icon Empty star icon Empty star icon 2.7 (3 Ratings)
Paperback Sep 2016 252 pages 1st Edition
eBook
₹2621.99
Paperback
₹3276.99
Subscription
Free Trial
Renews at ₹800p/m
eBook
₹2621.99
Paperback
₹3276.99
Subscription
Free Trial
Renews at ₹800p/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

Unity 5.x 2D Game Development Blueprints

Chapter 1.  Sprites

As we start our journey into the world of 2D game development, let's start this chapter by talking about the most important elements of creating 2D games. A 2D sprite is a two-dimensional image that is rendered on your screen while the game is still running.

In this chapter, we will start working on our own Platformer game. It consists of a character that must navigate through a platform level by jumping and running to achieve certain tasks. Along the way, we will learn how to use sprites and how Unity handles them. In this particular chapter, we will cover:

  • Using the 2D mode within Unity
  • Importing and rendering sprites
  • Creating sprite sheets and atlases
  • Beginning to use scripting

2D mode

Unity has a 2D mode that allows us to quickly set up the project for 2D game development. In fact, the main reason to use this mode is to automatically import new assets as Sprites.

When creating a new project, you have the option to choose between the 3D and the 2D mode. Let's select the 2D mode, as shown in the following image:

2D mode

Now, we need to import the standard assets that we will use to build our game. Click on Asset packages and select 2D.

Note

Unity doesn't come with the standard packages, you need to download them from the official website.

2D mode

Finally, we can click on Create project. If you have used Unity before for 3D game development, you will notice a few differences in the default interface. In particular, the 2D view is already selected:

2D mode

Furthermore, the camera in new scenes will always be orthographic, which is exactly what we want:

2D mode

Having selected the 2D mode doesn't mean that you cannot change it any more. In fact, you can change it to 3D mode whenever you want by going to Edit | Project Settings | Editor and selecting 3D under Default Behavior Mode.

This can come in handy when adding 3D models to your 2D project and vice versa. It is recommended that you switch before importing 2D sprites or 3D models to the appropriate mode since Unity will import textures accordingly.

Custom packages

During the course of this book, we will use custom packages, since we don't have time to create all the graphics on our own.

For our first game, we are going to use a package from http://kenney.nl, which is a website full of interesting graphic packages, and free to use in any project. In particular, you need to download the following package: http://kenney.nl/assets/platformer-art-deluxe.

Once the file has been downloaded, it is compressed, so we will need to open it with a software for decompression.

As you can see, there are many folders containing different expansions of the pack. We only need the basepack folder. We need to copy this folder into the Asset folder in Unity. You can do this by just dragging and dropping it in the Project panel. Finally, we can rename it PlatformerPack, so our project will be better organized.

Dealing with sprites

When working on our 2D game, we need sprites to fill in our environment, and also to display characters. Several sprites can be used to create an animation, like a walking character: each sprite represents a certain frame in the animation.

Dealing with sprites

Importing sprites

Tip

If we don't import the package when we have created the project, we can do it at any moment by clicking on Assets | Import Package.

In the Project panel, click on p1_front to see its setting in the Inspector. It can be found under Platformer Pack | Player, or can be searched by using the small search box in the right upper corner of the Project panel. Once selected, the Inspector looks like the following:

Importing sprites

You can control the properties of the sprites by changing the values in the Inspector. In order to understand them, let's break them down:

  • Sprite Mode: This mode consists of two options Single and Multiple. Single should be selected when the image contains only a single object or character that will be used as a single sprite. Multiple, instead, it should be selected when multiple elements are contained within the same image .These may include different variations of the same object or its animation sheet.
  • Packing Tag: This is an optional variable used to specify the name of the Sprite Sheet in which this texture will be packed. This is useful when we need to optimize our game.
  • Pixels Per Unit: This controls the scale of the sprite. This variable defines how many pixels correspond to one world space unit. The default value for this is 100.
  • Pivot: This allows us to change the pivot point for our sprite, which, by default, is set to Center. When required, you can change it to one of the other predefined points or place it in a custom position by selecting Custom.

Tip

Choosing Multiple instead of Single in the sprite mode will remove the pivot option. In fact, the pivot point for each sprite in the image can be selected by using the Sprite Editor.

The Sprite Renderer component

Since we already have the p1_front sprite selected, let's drag it into the Hierarchy panel.

Tip

You can place it in the scene by dragging it directly inside the Scene view.

When we add a sprite in our scene, a game object is created with a Sprite Renderer component attached to it. This component is responsible for rendering a Sprite in the game; without it, the game object would be empty.

The Sprite Renderer component

Let's explore the options in this component. First, Sprite is the variable that will store the sprite to render on screen. In this case, it is automatically with the sprite we have dragged in. The Color variable controls the color of the Sprite along with its alpha channel. If we click on it, a color picker shows up; we can see the effect of our change immediately in the Scene view:

The Sprite Renderer component

The Material variable stores information about the material of the sprite. By default, it is set to Default Sprite Material. Usually, we don't want to change this during 2D game development; however, it may be necessary in particular cases, for instance when the sprite needs to be affected by lights.

Then, the Sorting Layer and Order In Layer variables are used to define the order of visualization of the sprites in the scene. In fact, not all the sprites are on the same level. Think about a background, a cloud, and our character. The cloud should be located on top of the background and the character should be on top of both of them. By default, the Sorting Layer is set to Default and Order In Layer to 0. So far, Default is the only layer available. Since we want to order our sprites later, let's create a few more layers. Click on Add Sorting Layer under Sorting Layer. As a result, the Inspector shows us the Tags & Layers settings. By clicking on the + button in the right bottom corner, we are able to add other sorting layers. Let's add two more layers, and name them respectively Background and Foreground, as shown in the following image:

The Sprite Renderer component

The order of these layers is important. We can easily change it by clicking on the designated layer and dragging it above or below another one.

Now, select the game object we have created in the Hierarchy panel again. In the Inspector, we are able to change its sorting layer to Foreground.

Before going forward, create a new folder in the Project panel named Scenes and save the scene inside it as Scene1. We can do this by clicking on File | Save Scene.

The Sprite Editor

In the importing settings, we can find the Sprite Editor button. After we have selected p1_spritesheet again from Platformer Pack | Player, we can now click on the button. As a result, the Sprite Editor window shows up.

The Sprite Editor should be used when dealing with a sprite that contains multiple elements (If this is the case, don't forget to set Multiple in the Sprite Mode). So, we should see something like the following:

The Sprite Editor

Our goal is to slice all the single positions of the character in the image, so that we can use them as an individual sprites in our scene. There are different ways to achieve this. Let's discuss some of them:

  • Click and drag: This allows you to simply click and drag over the desired elements to create rectangular selections that will define each sprite. You can change each selection as preferred. You are able to change the position by dragging the rectangle, its size by clicking on the corners of each rectangle, and the Pivot point by clicking and dragging it. Furthermore, clicking on the trim button in the sprite window will change the size of the rectangle to fit the selected sprite.

    By clicking on the slice button in the top left of the Sprite Editor, a new window appears. This allows you to select other ways to slice your Sprite Sheets. The default slicing type is set to Automatic, but you can also choose different kinds of grids too.

  • Automatic: When using the automatic method, Unity will detect each sprite and draw a trimmed rectangle around it. With Automatic selected, you can also change the Pivot position for each sprite. We can also select a Method to tell Unity what should happen to the sprites that are already defined. The Delete Existing method deletes all the previous selections and creates new ones from scratch. The Smart method attempts to create new selections for undefined sprites, while adjusting them to fit with the older selections. Finally, the Safe method adds new selections over the previous ones without changing them.
  • Grid: This allows you to create equal size selections for all the sprites in the image. Once we have set Grid as slicing type, then we will be able to change the size used for the slicing, and eventually adjust the position of the Pivot point for each sprite.

In particular, for our project, we can just use the Automatic method - it will work fine.

Note

By clicking on the Revert button, we can restart from scratch, removing all the previous selections.

The Sprite Editor

After closing the Sprite Editor, let's check the image file in the Project panel. As you can see, a little icon appeared and it allows us to expand the file and see all the single Sprites we have created in the Sprite Editor. Now, these can be used as normal Sprites in our game and can be placed in our scenes and scripts.

Note

Having a single image with different Sprites is a technique called Sprite sheets. When importing sprites to your game project, it is preferred to group them into one image. This is because Unity can send a single file in the graphic card, and, as a result, enhance the performance by saving both memory and computational time.

Furthermore, sprite sheets are useful for creating 2D animations (such as walking, jumping, breathing, and explosions). In fact, it allows us to keep everything organized and easy to use. In the next chapter, we will discuss the process of animation in more detail.

Our character makes its first steps

Starting from this chapter, and continuing in the next two, we will work on our first project. It is a Platformer game that resembles the original Mario game.

In this chapter our objective is to create a character that will move on a platform across the x-axis. We can achieve this by using the player input. Now, let's continue from where we stopped. We should have a game object named p1_front, now we can rename it as Player. As a result, your scene should look like the following:

Our character makes its first steps

However, our character is now floating in the middle of nowhere. Therefore, adding some ground for him to move on is a good start. To achieve this, go to the Project panel and from the Platformer Pack folder select tiles_spritesheet. We can see its Import Settings in the Inspector. We need to change the Sprite Mode to Multiple and then click on Apply.

Open the Sprite Editor for our selected asset by clicking on the Sprite Editor button. As we did before, we can slice the image by using the Automatic method and it will work fine. Now that each sprite has been sliced, click on Apply and close the editor. You will now notice that more sprites have been generated under tiles_spritesheet, as shown here:

Our character makes its first steps

In order to keep things organized, let's create a new empty game object. It can be done by right-clicking in the Hierarchy panel, and then selecting Empty game object. In the Inspector, we can rename this Floor and change its position in (0,0,0), as shown in the following image:

Our character makes its first steps

Now we can drag the sprite named tiles_spritesheet_9 onto the Floor object we just created. Rename the file to Floor_1 and set its position to (-2,-0.65, 0). Now we also need to change the sorting layer to Foreground and the sorting order to 1 so it doesn't overlap with our player.

As you can see, we have the first tile of our floor under the player and now we want to create more tiles in order to create a floor that the player can walk on. We could scale the Floor_1 object to make it larger. However, the advantage to having titles is the possibility to use more of them next to each other in a seamless way. Therefore, let's duplicate it. To achieve this, select the Floor_1 object and then you can duplicate either by right-clicking and selecting Duplicate, or by using Ctrl + D (for Mac users cmd + D). You will notice that the new object is automatically named Floor_2, which is what we would like to have to keep things organized. Click on the new object and by using the Rect tool, move it to the left from the scene view, next to the original object. Now, to get our floor, let's repeat this procedure and move the tiles, until we have something like the following:

Our character makes its first steps

If you want to reproduce the scene like in the previous image, the last tile on the right is positioned at (2,-0.65,0).

Tip

You can duplicate groups of objects when you need to duplicate large pieces of the map.

After finishing the floor tiles, let's check the game view. It appears that the objects are rather small. We can fix this by scaling the game objects. This is not best practice, because usually the graphics should already be created without the need to scale. On the other hand, we may want to change the camera settings to look at our world more closely. However, for the purpose of learning something new, we can change the scale of the player to (2, 2, 1). This way, we can make our player bigger. Repeat the same with the Floor game object by setting its scale to (2, 2, 1). As a result, all of its children (for example, the single tiles of the floor) will be scaled. As a result, the game view should look like the following:

Our character makes its first steps

Our next step is allowing the player to move the character, in this case, along the x-axis. To achieve this, we need to create a script. In the Project panel, create a new folder and rename it as Scripts. In this new folder, let's create a new C# script by right-clicking and then selecting Create | C# Script. Rename it to PlayerMovement and then attach the script to our player by dragging and dropping it onto the player object. Double-click on the script to open it.

First, we need to add some variables to control the movement. In particular, one for the speed, and another two for the boundary of our world. Let's add the following variables:

    // The Player's speed 
    public float speed = 10.0f; 
 
    //Game boundaries 
    private float leftWall = -4f; 
    private float rightWall = 4f; 

Now, in the Update() function we first need to calculate how far it will be translated and where, based on the input of the player. In this case, we take the horizontal axis, which, by default, is bound to the arrow keys. In order to calculate this, we need to take into consideration how much time is passed from the last frame. This can be done by adding Time.deltaTime into the equation. Then, we need to translate the character so it doesn't fall off the boundary after the translation. So we will write the following:

  // Update is called once per frame 
  void Update () { 
        // Get the horizontal axis that by default is bound to the arrow keys 
        // The value is in the range -1 to 1 
        // Make it move per seconds instead of frames 
        float translation = Input.GetAxis("Horizontal") * speed * Time.deltaTime; 
        // Move along the object's x-axis within the floor bounds 
        if (transform.position.x + translation < rightWall && 
           transform.position.x + translation > leftWall) 
            transform.Translate(translation, 0, 0); 
    } 

Save the changes and hit the play button. By using the left and right arrow (alternatively A and D), you will be able to move the character across the platform. You can change the speed of the player by adjusting the speed value from the Inspector, as shown here:

Our character makes its first steps

Now, our scene needs a background. In the Project panel in the Platformer Pack folder drag the file bg into the scene. Rename the game object to Background and set the scale to (5,3,0). As a result, the game view should look like the following:

Our character makes its first steps

Summary

In this chapter, we covered 2D sprites and started working on our first project. In particular, we have discussed the 2D mode, importing Sprites, the Sprite Renderer component, and the Sprite Editor. We also learned how to use sprites in our game and how to script a character to make it move along the x-axis.

In the next chapter, we will bring our character to life by adding animations into our game!

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Explore the 2D architecture of Unity 5, and the tools and techniques for developing 2D games
  • Discover how to use Unity’s 2D tools, including Sprites, physics, and maps, to create different genres of games
  • Practical tutorial on the intermediate and advanced development concepts in Unity 5 to create three interesting and fully functional games

Description

Flexible, powerful, and full of rich features, Unity 5 is the engine of choice for AAA 2D and 3D game development. With comprehensive support for over 20 different platforms, Unity boasts a host of great new functions for making 2D games. Learn how to leverage these new options into awesome 2D games by building three complete game projects with the Unity game tutorials in this hands-on book. Get started with a quick overview of the principle concepts and techniques needed for making 2D games with Unity, then dive straight in to practical development. Build your own version of Super Mario Brothers as you learn how to animate sprites, work with physics, and construct brilliant UIs in order to create a platformer game. Go on a quest to create a RPG game discovering NPC design, event triggers, and AI programming. Finally, put your skills to the test against a real challenge - designing and constructing a complex strategy game that will draw on and develop all your previously learned skills.

Who is this book for?

If you've got the basics of 2D development down, push your skills with the projects in this hands-on guide.Diversify your portfolio and learn the skills needed to build a range of awesome 2D game genres.

What you will learn

  • Explore and understand the vital role of sprites in 2D games
  • Move, animate, and integrate sprites into a 2D platform game
  • Set up User Interfaces (UIs) to keep track of the progress through the games
  • Apply 2D Physics to improve gameplay believability
  • Learn the foundation of Level Design and how to quickly create 2D Maps
  • Discover NPC design, event triggers, and AI programming
  • Create an epic strategy game, challenging all the skills acquired in the book
Estimated delivery fee Deliver to India

Premium delivery 5 - 8 business days

₹630.95
(Includes tracking information)

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Sep 30, 2016
Length: 252 pages
Edition : 1st
Language : English
ISBN-13 : 9781784393106
Vendor :
Unity Technologies
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 India

Premium delivery 5 - 8 business days

₹630.95
(Includes tracking information)

Product Details

Publication date : Sep 30, 2016
Length: 252 pages
Edition : 1st
Language : English
ISBN-13 : 9781784393106
Vendor :
Unity Technologies
Languages :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
₹800 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
₹4500 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 ₹400 each
Feature tick icon Exclusive print discounts
₹5000 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 ₹400 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 11,023.97
Unity UI Cookbook
₹4096.99
Unity 5.x 2D Game Development Blueprints
₹3276.99
Getting Started with Unity 5.x 2D Game Development
₹3649.99
Total 11,023.97 Stars icon

Table of Contents

9 Chapters
1. Sprites Chevron down icon Chevron up icon
2. Animations Chevron down icon Chevron up icon
3. Physics Chevron down icon Chevron up icon
4. Level Design Chevron down icon Chevron up icon
5. Creating Our Own RPG Chevron down icon Chevron up icon
6. AI and Pathfinding Chevron down icon Chevron up icon
7. Tower Defense Basics Chevron down icon Chevron up icon
8. User Interface for the Tower Defense Game Chevron down icon Chevron up icon
9. Finishing the Tower Defense Game Chevron down icon Chevron up icon

Customer reviews

Rating distribution
Full star icon Full star icon Half star icon Empty star icon Empty star icon 2.7
(3 Ratings)
5 star 33.3%
4 star 0%
3 star 0%
2 star 33.3%
1 star 33.3%
Bart Knowles Oct 27, 2016
Full star icon Full star icon Full star icon Full star icon Full star icon 5
You can ignore the negative reviews: they are clearly biased.This book is not perfect, yet it is one of the best on the market to learn how to develop games using Unity. I have a limited expewrience with Unity and I found it incredibly useful, with clear examples and step-by-step instructions.A couple of figures are too dark and some chapters are better written than others, but overall it is a must-have text.
Amazon Verified review Amazon
Overtech Oct 10, 2016
Full star icon Full star icon Empty star icon Empty star icon Empty star icon 2
I only worked through chapter 4 before returning this book. It's extremely basic and some of the code has errors or is outdated and simply won't work in the latest version of Unity (5.4 as of this book's publication). Ironically, it did help me learn more about Unity 2D game development because it often forced me to search for the correct answers online or figure them out myself. Unless you absolutely prefer a book format, you're better off finding 2D tutorials online.Despite my complaints, I did appreciate the fact that this was not an introduction to Unity book. The authors don't take time to explain things or spell things out, which was fine for me because I've read other books that walked me through the basics of Unity. If you're brand new to Unity, try a different book. I liked Unity in Action, but that's predominately 3D focused, which is why I was looking forward to this book. Unfortunately, this book didn't meet my needs, but I look forward to future 2D-focused books now that it is a standard feature in Unity.
Amazon Verified review Amazon
TJ Oct 16, 2016
Full star icon Empty star icon Empty star icon Empty star icon Empty star icon 1
This book was a disappointment at best. The book is very sloppy and very poorly edited. The authors leave out important steps, use wrong information, and even contradict themselves. For example in one section they tell you to rename an object Level, then you are to add children to this object, but as they continue to refer to the object they call it something else. It is only because they show a screenshot of what it is supposed to look like that the reader figures out what they really meant. This happens multiple times in the first few chapters.The coding in the book does not work properly. I had to go to outside sources to 'fix' the coding so that the project would work properly. They leave out very important information many times over. They have you add a script to make the player perform an action, however, they did not make sure the assets package they include is scaled the same as the asset you use for the player character. Implementing the script they tell you makes the player run around the screen and shrink in size. It is bizarre at best. This happens with several of their scripts in the beginning of the book. In addition, there are key components of the information that are outdated, again forcing the reader to go to outside sources to be able to complete the task.The sprites they give you to work with for your projects are sloppily made. When they 'cut' them on the spritesheet, they did not bother to make sure each image was cut straight so you get pieces of the other images in with each sprite. You cannot create a clean looking game with their materials. Trying to create a map with their assets just creates a huge mess.There were just so many things wrong with this book and that is just the first few chapters. It was such a disappointment.
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