Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
NGUI for Unity
NGUI for Unity

NGUI for Unity: The NGUI plugin for Unity makes user interfaces so much more efficient and attractive. Learn all about it in this step-by-step tutorial that includes lots of practical exercises, including creating a fun 2D game.

eBook
$15.99 $22.99
Paperback
$38.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
OR
Modal Close icon
Payment Processing...
tick Completed

Shipping Address

Billing Address

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

NGUI for Unity

Chapter 1. Getting Started with NGUI

In this first chapter, we will talk about the overall workflow of NGUI before we import the plugin and create our first UI. Then we will look into the UI's structure, important parameters, and general behavior.

What is NGUI?


The Next-Gen User Interface kit is a plugin for Unity 3D. It has the great advantage of being easy to use, very powerful, and optimized compared to Unity's built-in GUI system, UnityGUI. Since it is written in C#, it is easily understandable and you may tweak it or add your own features, if necessary.

The NGUI Standard License costs $95. With this, you will have useful example scenes included. I recommend this license to start comfortably—a free evaluation version is available, but it is limited, outdated, and not recommended.

The NGUI Professional License , priced at $200, gives you access to NGUI's GIT repository to access the latest beta features and releases in advance.

A $2000 Site License is available for an unlimited number of developers within the same studio.

Let's have an overview of the main features of this plugin and see how they work.

UnityGUI versus NGUI

With Unity's GUI, you must create the entire UI in code by adding lines that display labels, textures, or any other UI element on the screen. These lines have to be written inside a special function, OnGUI(), that is called for every frame. This is no longer necessary; with NGUI, UI elements are simple GameObjects!

You can create widgets—this is what NGUI calls labels, sprites, input fields, and so on—move them, rotate them, and change their dimensions using handles or the Inspector. Copying, pasting, creating prefabs, and every other useful feature of Unity's workflow is also available.

These widgets are viewed by a camera and rendered on a layer that you can specify. Most of the parameters are accessible through Unity's Inspector, and you can see what your UI looks like directly in the Game window, without having to hit the Play button.

Atlases

Sprites and fonts are all contained in a large texture called atlas. With only a few clicks, you can easily create and edit your atlases. If you don't have any images to create your own UI assets, simple default atlases come with the plugin.

That system means that for a complex UI window composed of different textures and fonts, the same material and texture will be used when rendering. This results in only one draw call for the entire window. This, along with other optimizations, makes NGUI the perfect tool to work on mobile platforms.

Events

NGUI also comes with an easy-to-use event framework that is written in C#. The plugin comes with a large number of additional components that you can attach to GameObjects. These components can perform advanced tasks depending on which events are triggered: hover, click, input, and so on. Therefore, you may enhance your UI experience while keeping it simple to configure. Code less, get more!

Localization

NGUI comes with its own localization system, enabling you to easily set up and change your UI's language with the push of a button. All your strings are located in the .txt files: one file per language.

Shaders

Lighting, normal mapping, and refraction shaders are supported in NGUI, which can give you beautiful results. Clipping is also a shader-controlled feature with NGUI, used for showing or hiding specific areas of your UI.

We've now covered what NGUI's main features are, and how it can be useful to us as a plugin, and now it's time to import it inside Unity.

Importing NGUI


After buying the product from the Asset Store or getting the evaluation version, you have to download it. Perform the following steps to do so:

  1. Create a new Unity project.

  2. Navigate to Window | Asset Store. Select your download library.

  3. Click on the Download button next to NGUI: Next-Gen UI.

  4. When the download completes, click on the NGUI icon / product name in the library to access the product page.

  5. Click on the Import button and wait for a pop-up window to appear.

  6. Check the checkbox for NGUI v.3.0.2.unitypackage and click on Import.

  7. In the Project view, navigate to Assets | NGUI and double-click on NGUI v.3.0.2.

  8. A new imported pop-up window will appear. Click on Import again.

  9. Click any button on the toolbar to refresh it. The NGUI tray will appear!

The NGUI tray will look like the following screenshot:

You have now successfully imported NGUI to your project. Let's create your first 2D UI.

Creating your UI


We will now create our first 2D user interface with NGUI's UI Wizard. This wizard will add all the elements needed for NGUI to work.

Before we continue, please save your scene as Menu.unity.

UI Wizard

Create your UI by opening the UI Wizard by navigating to NGUI | Open | UI Wizard from the toolbar. Let's now take a look at the UI Wizard window and its parameters.

Window

You should now have the following pop-up window with two parameters:

Parameters

The two parameters are as follows:

  • Layer: This is the layer on which your UI will be displayed

  • Camera: This will decide if the UI will have a camera, and its drop-down options are as follows:

    • None: No camera will be created

    • Simple 2D: Uses a camera with orthographic projection

    • Advanced 3D: Uses a camera with perspective projection

Separate UI Layer

I recommend that you separate your UI from other usual layers. We should do it as shown in the following steps:

  1. Click on the drop-down menu next to the Layer parameter.

  2. Select Add Layer.

  3. Create a new layer and name it GUI2D.

  4. Go back to the UI Wizard window and select this new GUI2D layer for your UI.

You can now click on the Create Your UI button. Your first 2DUI has been created!

Your UI structure


The wizard has created four new GameObjects on the scene for us:

  • UI Root (2D)

  • Camera

  • Anchor

  • Panel

Let's now review each in detail.

UI Root (2D)

The UIRoot component scales widgets down to keep them at a manageable size. It is also responsible for the Scaling Style—it will either scale UI elements to remain pixel perfect or to occupy the same percentage of the screen, depending on the parameters you specify.

Select the UI Root (2D) GameObject in the Hierarchy. It has the UIRoot.cs script attached to it. This script adjusts the scale of the GameObject it's attached to in order to let you specify widget coordinates in pixels, instead of Unity units as shown in the following screenshot:

Parameters

The UIRoot component has four parameters:

  • Scaling Style: The following are the available scaling styles:

    • PixelPerfect: This will ensure that your UI will always try to remain at the same size in pixels, no matter what resolution. In this scaling mode, a 300 x 200 window will be huge on a 320 x 240 screen and tiny on a 1920 x 1080 screen. That also means that if you have a smaller resolution than your UI, it will be cropped.

    • FixedSize: This will ensure that your UI will be proportionally resized depending on the screen's height. The result is that your UI will not be pixel perfect but will scale to fit the current screen size.

    • FixedSizeOnMobiles: This will ensure fixed size on mobiles and pixel perfect everywhere else.

  • Manual Height: With the FixedSize scaling style, the scale will be based on this height. If your screen's height goes over or under this value, it will be resized to be displayed identically while maintaining the aspect ratio (width/height proportional relationship).

  • Minimum Height: With the PixelPerfect scaling style, this parameter defines the minimum height for the screen. If your screen height goes below this value, your UI will resize. It will be as if the Scaling Style parameter was set to FixedSize with Manual Height set to this value.

  • Maximum Height: With the PixelPerfect scaling style, this parameter defines the maximum height for the screen. If your screen height goes over this value, your UI will resize. It will be as if the Scaling Style parameter was set to FixedSize with Manual Height set to this value.

    Note

    Please set the Scaling Style parameter to FixedSize with a Manual Height value of 1080. This will allow us to have the same UI on any screen size up to 1920 x 1080.

Even though the UI will look the same on different resolutions, the aspect ratio is still a problem since the rescale is based on the screen's height only. If you want to cover both 4:3 and 16:9 screens, your UI should not be too large—try to keep it square. Otherwise, your UI might be cropped on certain screen resolutions.

On the other hand, if you want a 16:9 UI, I recommend you force this aspect ratio only. Let's do it now for this project by performing the following steps:

  1. Navigate to Edit | Project Settings | Player.

  2. In the Inspector option, unfold the Resolution and Presentation group.

  3. Unfold the Supported Aspect Ratios group.

  4. Check only the 16:9 box.

Now that we have seen the UI Root's different parameters, let's discuss the camera.

Camera

Select the Camera GameObject in the Hierarchy view. It has the UICamera.cs script attached to it. This script must be attached to any camera that needs to interact with your UI.

Its purpose is to send different messages concerning events that happen to UI elements such as colliders attached to a button. Some of the more frequently used events are OnClick() and OnHover().

You may have multiple cameras if you consider it necessary; for example, you can have an orthographic camera for 2D in-game UI elements and a separate perspective camera for a 3D pause menu.

For the purpose of this book, we will stick with only one camera.

Parameters

The UICamera.cs script has a large number of parameters as shown in the following screenshot:

These parameters are as follows:

  • Event Type: Select which event type this camera will send.

    • World: This is used for interacting with 3D-world GameObjects

    • UI: This is used for interacting with the 2D UI

  • Event Mask: Select which layer will be used to receive events.

    • In our case, we will set it to GUI2D since our UI will reside on it.

  • Debug: This consists of the enable or disable debug mode options. This option is useful when you have unwanted behavior.

    • Enabled: When Debug is enabled, the currently hovered object will be displayed on the top left-hand corner of the screen

  • Allow Multi Touch: This consists of the enable or disable touch mode options that allow simultaneous touches. This is mandatory if you want to use pinch-to-zoom or other such gestures on mobile platforms.

  • Sticky Press: This consists of the enable or disable sticky press mode options.

    • Enabled: If you drag your finger out of a pressed button, it will remain in the pressed state and no other element will receive upcoming events from that finger until it is released

    • Disabled: If you drag your finger out of a pressed button, it will no longer be pressed and other elements will receive upcoming events from that finger

  • Sticky Tooltip: It consists of the enable or disable sticky tool tip mode options.

    • Enabled: The tool tip disappears when the mouse moves out of the widget

    • Disabled: The tool tip disappears as soon as the mouse moves

  • Tooltip Delay: It consists of the required stationary time in seconds before the widget's tool tip is displayed.

  • Raycast Range: A raycast is an invisible ray that is cast from one point towards a specific direction and is stopped if it encounters another object. The camera uses raycasts from the mouse or touch position towards the camera's forward direction to detect collisions and handle events. You may set the range of this raycast if you need to limit the interaction to a certain range. The default -1 value implies that the raycast's range will be as far as the camera can see.

  • Event Sources: These Booleans let you specify what events this camera listens to.

    • Mouse: This is used for mouse movements, left/right/middle click, and scroll wheel.

    • Touch: This is used for touch-enabled devices.

    • Keyboard: This is used for keyboard input. It uses the OnKey() event.

    • Controller: This is used for joystick-based devices. It uses the OnKey() event.

  • Thresholds: These values come in handy when you want to specify the minimum values before a particular event is triggered. This may vary from one game/app to another.

    • Mouse Drag: When a mouse button is pressed (the OnPress() event is triggered), this value determines how far in pixels the mouse must move before it is considered a drag, and sends OnDrag() events to the dragged object

    • Mouse Click: When a mouse button is pressed (the OnPress() event is triggered), this value determines how far in pixels the mouse can travel before the button release has no effect (the OnClick() event is not triggered)

    • Touch Drag: This is the same as Mouse Drag, but for touch-based devices

    • Touch Tap: This is the same as Mouse Click, but for touch-based devices

  • Axes and Keys: These parameters let you assign Unity input axes and keys to NGUI's input system.

    • Horizontal: This is the input axis for horizontal movement (the left and right key events)

    • Vertical: This is the input axis for vertical movement (the up and down key events)

    • Scroll: This is the input axis for scrolling

    • Submit 1: This is the primary keycode for validation

    • Submit 2: This is the secondary keycode for validation

    • Cancel 1: This is the primary keycode for cancel.

    • Cancel 2: This is the secondary keycode for cancel.

    Note

    You can edit Unity inputs at any time by navigating to Edit | Project Settings | Input.

Ok, we have seen what the main parameters of the UICamera component are. We have to see what the camera's anchor child is.

Anchor

An anchor is used to attach GameObjects to the same area inside the camera view. For example, you can attach them to borders or corners of the screen, or another widget.

Select the Anchor GameObject in the Hierarchy view. It has the UIAnchor component attached to it. It is configured to center content on the screen based on the parent camera.

Before we create widgets, we must understand how these UIAnchor parameters modify their placement behavior.

Parameters

The UIAnchor component has seven parameters as seen in the following screenshot:

These parameters are as follows:

  • Ui Camera: This is the reference camera from which our anchor bounds are determined. By default, it is set to the camera used by the UI.

  • Container: If you drag and drop a GameObject in this field, it will overwrite the camera anchoring. This can be useful if you need to anchor your panels or widgets based on a container GameObject, instead of a camera. Your content will be placed using the assigned container's position.

  • Side: Do you want your child GameObjects to be centered or attached to one side or corner of your referenced camera/container? You can choose your anchor point here.

  • Half Pixel Offset: You should leave this Boolean checked. It makes widget positions pixel perfect on Windows machines.

  • Run Only Once: This Boolean can be checked if your screen resolution never changes, or if you want it to remove it on start. As a result, your anchor will be executed at the start and then removed and no longer be updated.

  • Relative Offset: This Vector2 class takes two values between -1 and 1 to add a relative offset to the final position. With a value of 0.12 for X and 0.32 for Y, it will result in an offset of 12% horizontally and 32% vertically—it will look the same on any resolution because the offset depends on the screen size.

  • Pixel Offset: This parameter is like Relative Offset, but it is absolute instead of relative. You can enter the offset in pixels—it will look different depending on the resolution because the offset will stay identical in pixels on all screen sizes.

We have explained the different UIAnchor parameters, but what is this last child, Panel? Let's look into that, and we'll be ready to create our first widget!

Panel

Select the Panel GameObject in the Hierarchy view. It has a UIPanel component attached.

A panel's purpose is to hold widgets and render geometry in only one draw call. You may create multiple panels to split your UI, but it will add a draw call per new panel.

Parameters

The UIPanel.cs script has eight parameters as shown in the following screenshot:

These parameters are as follows:

  • Alpha: You may change the transparency level of the entire panel. All child widgets will be affected by this alpha value, but nested panels won't.

  • Depth: This is used to define which panel is rendered over another. A panel with a depth value of 1 will appear in front of a panel with a depth value of 0. You can use either the Back or Forward button to change the Depth or simply enter a number in the field. Panels can also have negative depth.

  • Normals: This Boolean must be checked if you need it to react to lighting using shaders. It will calculate normals for your UI geometry.

  • Cull: This Boolean gives you the ability to disable the child widgets rendering while the panel is being dragged, which improves performance.

  • Static: If all your panel's widgets are static and won't ever move, check this—it will improve performance!

  • Show All: This will show all draw calls in the Inspector view.

  • Panel Tool: This is a panel managing tool. You can visualize and select each panel in the scene. You can open it with Alt + Shift + P or navigate to NGUI | Open | Panel Tool. Will this panel show in the Panel Tool parameter? This should be unchecked for dynamically created temporary panels through code, like a warning message or ammo pick-up notification.

  • Clipping: This will let us hide widgets outside a given rectangle. When turned on, you will be able to choose the clipping rectangle's dimensions with the Center and Size parameters. Anything outside this rectangle will be hidden.

    • None: No clipping—the entire panel will be displayed.

    • Hard Clip: Clipping enabled—rough clipping of widgets outside the box.

    • Soft Alpha: Clipping enabled—soft clipping with fade-out / fade-in borders.

    We've now taken a look at the parameters of the UIPanel component, which will be used to hold our widgets.

Summary


During this chapter, we discussed NGUI's basic workflow—it works with GameObjects, uses atlases to combine multiple textures in one large texture, has an event system, can use shaders, and has a localization system.

After importing the NGUI plugin, we created our first 2D UI with the UI Wizard, reviewed its parameters, and created our own GUI 2D layer for our UI to reside on.

Finally, we analyzed the four GameObjects that were created automatically for us by NGUI. After reviewing their parameters, we can summarize their roles as follows:

  • The UI Root holds the UI and scales it for pixel perfect or fixed sizes

  • The Camera views the UI and sends messages to the widgets for interactions

  • The Anchor can attach elements to the borders of screen or objects and add offsets

  • The Panel holds our widgets and renders them, with or without clipping

We are now ready to create our first widget. It's time to move on to the next chapter.

Left arrow icon Right arrow icon

What you will learn

  • Download and import NGUI
  • Construct a basic user interface: buttons, sprites, text inputs, lists, sliders, and more
  • Enhance your UI using clipping, draggable panels, content alignment, animations, and localization
  • Use C# with NGUI to save options, implement volume modification, launch animations, and change variables
  • Build a scrollable viewport with a draganddrop system
  • Create tooltips and notifications
  • Add your sprites and fonts to customize your main menu
  • Move elements through code and handle collisions to create a game
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 : Jan 24, 2014
Length: 182 pages
Edition :
Language : English
ISBN-13 : 9781783558667
Vendor :
Unity Technologies
Category :
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
OR
Modal Close icon
Payment Processing...
tick Completed

Shipping Address

Billing Address

Shipping Methods
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 : Jan 24, 2014
Length: 182 pages
Edition :
Language : English
ISBN-13 : 9781783558667
Vendor :
Unity Technologies
Category :
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 $ 142.97
Unity 4.x Game Development by Example: Beginner's Guide
$48.99
NGUI for Unity
$38.99
Unity Character Animation with Mecanim
$54.99
Total $ 142.97 Stars icon

Table of Contents

7 Chapters
Getting Started with NGUI Chevron down icon Chevron up icon
Creating Widgets Chevron down icon Chevron up icon
Enhancing your UI Chevron down icon Chevron up icon
C# with NGUI Chevron down icon Chevron up icon
Building a Scrollable Viewport Chevron down icon Chevron up icon
Atlas and Font Customization Chevron down icon Chevron up icon
Creating a Game with NGUI 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.9
(14 Ratings)
5 star 42.9%
4 star 21.4%
3 star 28.6%
2 star 0%
1 star 7.1%
Filter icon Filter
Top Reviews

Filter reviews by




Amazon Customer Feb 12, 2014
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Full Disclosure - I was one of the technical editors for this book.NGUI for Unity provides a step-by-step guide to help you get started using NGUI in Unity. The author explains how each component works and demonstrates proper use of the most commonly used NGUI widgets. The author also walks you through the creation of a 2D game, complete with menu screen and drag-drop elements, as you progress through the book.
Amazon Verified review Amazon
Frida Feb 20, 2014
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Im new to NGUI, complete beginner ,The book take you step by step , shows you how to create UI , explain how to use the component with good examples , Widgets , how to create new atlas.Ngui is a great UI system , you can buy it on the Asset store and it's decently wort it.The book is easy to read, very clear , very organized , easy to follow .Now, i understand how to use NGUIi recommend this book book .excellent book !!!Frida
Amazon Verified review Amazon
John Grden Feb 09, 2014
Full star icon Full star icon Full star icon Full star icon Full star icon 5
After interviewing with a few unity3D shops,I was hit with the same question every single time: "do you have NGUI experience?" - to which I replied "no, but I'm sure I can pick it up". They didn't share my optimism :) Enter in NGUI for Unity!What I love about e-books these days is their size and how concise they can be, and this book delivers not only on both counts, but sets you in motion with a very real world example project that covers a great portion of the capabilities of NGUI. Everything from the wizards to widgets to creating atlas' and fonts is covered. The book isn't exhaustive in its explanations but IS thorough in pointing out the features and properties of all the components it covers - which makes it easy to follow along with in the examples.The author gets right to the meat of the matter immediately walking you step by step through the sample project. It helps to have Unity3D experience and you'll have to understand the basics of how unity works with prefabs and code as this book is targeting unity devs looking for a solid UI framework. It IS written in a very practical manner so even a complete beginner could get something out of it.Now, in thinking back about my response to potential clients about just "picking NGUI up", I see how deep the framework really is. It's much more than just a set of UI components, and this book really brought me up to speed in a very short amount if time - excellent work!
Amazon Verified review Amazon
Xavier Valade Mar 23, 2014
Full star icon Full star icon Full star icon Full star icon Full star icon 5
NGUI is an amazing plugin that makes creating UI and 2D games really easy. This book is THE book to have if you want to discover and master NGUI.It’s perfect for everyone, no matter what their Unity skills are. Beginners can follow clear step by step explanations while professionals can take it to the next level with the advanced features, the complete overview of the different parameters and the many tips.
Amazon Verified review Amazon
Joselyn O'Connor Feb 09, 2014
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Finished reading NGUI for Unity a few days ago. Since, I've been skimming through it using it as a reference. I absolutely appreciated that the author was brief and concise in his examples, it made them a most valuable resource while working. It was very easy to read and has given me a much better understanding of NGUI. The resources that are provided with the book are also very well organised, and make for an excellent starting point while tinkering. I definitely recommend this book!
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<