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
Free Learning
Arrow right icon
Learning C++ by creating games with UE4
Learning C++ by creating games with UE4

Learning C++ by creating games with UE4: Learn C++ programming with a fun, real-world application that allows you to create your own games!

eBook
£7.99 £29.99
Paperback
£36.99
Subscription
Free Trial
Renews at £16.99p/m

What do you get with eBook?

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

Billing Address

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

Learning C++ by creating games with UE4

Chapter 1. Coding with C++

You're a first-time programmer. You have a lot to learn!

Academics often describe programming concepts in theory but like to leave implementation to someone else, preferably someone from the industry. We don't do that in this book—in this book, we will describe the theory behind C++ concepts and implement our own game as well.

The first thing I will recommend is that you do the exercises. You cannot learn to program simply by reading. You must work with the theory with the exercises.

We are going to get started by programming very simple programs in C++. I know that you want to start playing your finished game right now. However, you have to start at the beginning to get to that end (if you really want to, skip over to Chapter 12, Spell Book, or open some of the samples to get a feel for where we are going).

In this chapter, we will cover the following topics:

  • Setting up a new project (in Visual Studio and Xcode)
  • Your first C++ project
  • How to handle errors
  • What are building and compiling?

Setting up our project

Our first C++ program will be written outside of UE4. To start with, I will provide steps for both Xcode and Visual Studio 2013, but after this chapter, I will try to talk about just the C++ code without reference to whether you're using Microsoft Windows or Mac OS.

Using Microsoft Visual C++ on Windows

In this section, we will install a code editor for Windows, Microsoft's Visual Studio. Please skip to the next section if you are using a Mac.

Note

The Express edition of Visual Studio is the free version of Visual Studio that Microsoft provides on their website. Go to http://www.visualstudio.com/en-us/products/visual-studio-express-vs.aspx to start the installation process.

To start, you have to download and install Microsoft Visual Studio Express 2013 for Windows Desktop. This is how the icon for the software looks:

Using Microsoft Visual C++ on Windows

Tip

Do not install Express 2013 for Windows. This is a different package and it is used for different things than what we are doing here.

Once you have Visual Studio 2013 Express installed, open it. Work through the following steps to get to a point where you can actually type in the code:

  1. From the File menu, select New Project..., as shown in the following screenshot:
    Using Microsoft Visual C++ on Windows
  2. You will get the following dialog:
    Using Microsoft Visual C++ on Windows

    Tip

    Note that there is a small box at the bottom with the text Solution name. In general, Visual Studio Solutions might contain many projects. However, this book only works with a single project, but at times, you might find it useful to integrate many projects into the same solution.

  3. There are five things to take care of now, as follows:
    1. Select Visual C++ from the left-hand side panel.
    2. Select Win32 Console Application from the right-hand side panel.
    3. Name your app (I used MyFirstApp).
    4. Select a folder to save your code.
    5. Click on the OK button.
  4. After this an Application Wizard dialog box opens up, as shown in the following screenshot:
    Using Microsoft Visual C++ on Windows
  5. We have four things to take care of in this dialog box, as follows:
    1. Click on Application Settings in the left-hand side panel.
    2. Ensure that Console application is selected.
    3. Select Empty project.
    4. Click on Finish.

Now you are in the Visual Studio 2013 environment. This is the place where you will do all your work and code.

However, we need a file to write our code into. So, we will add a C++ code file to our project, as shown in the following screenshot:

Using Microsoft Visual C++ on Windows

Add your new source code file as shown in the following screenshot:

Using Microsoft Visual C++ on Windows

You will now edit Source.cpp. Skip to the Your First C++ Program section and type in your code.

Using XCode on a Mac

In this section, we will talk about how to install Xcode on a Mac. Please skip to the next section if you are using Windows.

Xcode is available on all Mac machines. You can get Xcode using the Apple App Store (it's free), as shown here:

Using XCode on a Mac
  1. Once you have Xcode installed, open it. Then, navigate to File | New | Project... from the system's menu bar at the top of your screen, as shown in the following screenshot:
    Using XCode on a Mac
  2. In the New Project dialog, select Application under OS X on the left-hand side of the screen, and select Command Line Tool from the right-hand side pane. Then, click on Next:
    Using XCode on a Mac

    Note

    You might be tempted to click on the SpriteKit Game icon, but don't click on it.

  3. In the next dialog, name your project. Be sure to fill in all the fields or Xcode won't let you proceed. Make sure that the project's Type is set to C++ and then click on the Next button, as shown here:
    Using XCode on a Mac
  4. The next popup will ask you to choose a location in order to save your project. Pick a spot on your hard drive and save it there. Xcode, by default, creates a Git repository for every project you create. You can uncheck Create git repository —we won't cover Git in this chapter—as shown in the following screenshot:
    Using XCode on a Mac

Tip

Git is a Version control system. This basically means that Git keeps the snapshots of all the code in your project every so often (every time you commit to the repository). Other popular source control management tools (scm) are Mercurial, Perforce, and Subversion. When multiple people are collaborating on the same project, the scm tool has the ability to automatically merge and copy other people's changes from the repository to your local code base.

Okay! You are all set up. Click on the main.cpp file in the left-hand side panel of Xcode. If the file doesn't appear, ensure that the folder icon at the top of the left-hand side panel is selected first, as shown in the following screenshot:

Using XCode on a Mac

Creating your first C++ program

We are now going to write some C++ source code. There is a very good reason why we are calling it the source code: it is the source from which we will build our binary executable code. The same C++ source code can be built on different platforms such as Mac, Windows, and iOS, and in theory, an executable code doing the exact same things on each respective platform should result.

In the not-so-distant past, before the introduction of C and C++, programmers wrote code for each specific machine they were targeting individually. They wrote code in a language called assembly language. But now, with C and C++ available, a programmer only has to write code once, and it can be deployed to a number of different machines simply by sending the same code through different compilers.

Tip

In practice, there are some differences between Visual Studio's flavor of C++ and Xcode's flavor of C++, but these differences mostly come up when working with advanced C++ concepts, such as templates.

One of the main reasons why using UE4 is so helpful is that UE4 will erase a lot of the differences between Windows and Mac. The UE4 team did a lot of magic in order to get the same code to work on both Windows and Mac.

Note

A real-world tip

It is important for the code to run in the same way on all machines, especially for networked games or games that allow things such as shareable replays. This can be achieved using standards. For example, the IEEE floating-point standard is used to implement decimal math on all C++ compilers. This means that the result of computations such as 200 * 3.14159 should be the same on all the machines.

Write the following code in Microsoft Visual Studio or in Xcode:

#include <iostream>  // Import the input-output library
using namespace std; // allows us to write cout
                     // instead of std::cout
int main()
{
  cout << "Hello, world" << endl;
  cout << "I am now a C++ programmer." << endl;
  return 0;      // "return" to the operating sys
}

Press Ctrl + F5 to run the preceding code in Visual Studio, or press Creating your first C++ program + R to run in Xcode.

The first time you press Ctrl + F5 in Visual Studio, you will see this dialog:

Creating your first C++ program

Select Yes and Do not show this dialog again—trust me, this will avoid future problems.

The first thing that might come to your mind is, "My! A whole lot of gibberish!"

Indeed, you rarely see the use of the hash (#) symbol (unless you use Twitter) and curly brace pairs { } in normal English texts. However, in C++ code, these strange symbols abound. You just have to get used to them.

So, let's interpret this program, starting from the first line.

This is the first line of the program:

#include <iostream>  // Import the input-output library

This line has two important points to be noted:

  1. The first thing we see is an #include statement. We are asking C++ to copy and paste the contents of another C++ source file, called <iostream>, directly into our code file. The <iostream> is a standard C++ library that handles all the sticky code that lets us print text to the screen.
  2. The second thing we notice is a // comment. C++ ignores any text after a double slash (//) until the end of that line. Comments are very useful to add in plain text explanations of what some code does. You might also see /* */ C-style comments in the source. Surrounding any text in C or C++ with slash-star /* and star-slash */ gives an instruction to have that code removed by the compiler.

This is the next line of code:

using namespace std; // allows us to write cout
                     // instead of std::cout

The comments beside this line explain what the using statement does: it just lets you use a shorthand (for example, cout) instead of the fully qualified name (which, in this case, would be std::cout) for a lot of our C++ code commands. Some people don't like a using namespace std; statement; they prefer to write the std::cout longhand every time they want to use cout. You can get into long arguments over things like this. In this section of the text, we prefer the brevity that we get with the using namespace std; statement.

This is the next line:

int main()

This is the application's starting point. You can think of main as the start line in a race. The int main() statement is how your C++ program knows where to start; take a look at the following figure:

Creating your first C++ program

If you don't have an int main() program marker or if main is spelled incorrectly, then your program just won't work because the program won't know where to start.

The next line is a character you don't see often:

{

This { character is not a sideways mustache. It is called a curly brace, and it denotes the starting point of your program.

The next two lines print text to the screen:

cout << "Hello, world" << endl;
cout << "I am now a C++ programmer." << endl;

The cout statement stands for console output. Text between double quotes will get an output to the console exactly as it appears between the quotes. You can write anything you want between double quotes except a double quote and it will still be valid code.

Tip

To enter a double quote between double quotes, you need to stick a backslash (\) in front of the double quote character that you want inside the string, as shown here:

cout << "John shouted into the cave \"Hello!\" The cave echoed."

The \ symbol is an example of an escape sequence. There are other escape sequences that you can use; the most common escape sequence you will find is \n, which is used to jump the text output to the next line.

The last line of the program is the return statement:

return 0;

This line of code indicates that the C++ program is quitting. You can think of the return statement as returning to the operating system.

Finally, the end of your program is denoted by the closing curly brace, which is an opposite-facing sideways mustache:

}

Semicolons

Semicolons (;) are important in C++ programming. Notice in the preceding code example that most lines of code end in a semicolon. If you don't end each line with a semicolon, your code will not compile, and if that happens, you can be fired from your job.

Handling errors

If you make a mistake while entering code, then you will have a syntax error. In the face of syntax errors, C++ will scream murder and your program will not even compile; also, it will not run.

Let's try to insert a couple of errors into our C++ code from earlier:

Handling errors

Warning! This code listing contains errors. It is a good exercise to find all the errors and fix them!

As an exercise, try to find and fix all the errors in this program.

Note

Note that if you are extremely new to C++, this might be a hard exercise. However, this will show you how careful you need to be when writing C++ code.

Fixing compilation errors can be a nasty business. However, if you input the text of this program into your code editor and try to compile it, it will cause the compiler to report all the errors to you. Fix the errors, one at a time, and then try to recompile. A new error will pop up or the program will just work, as shown in the following screenshot:

Handling errors

Xcode shows you the errors in your code when you try to compile it

The reason I am showing you this sample program is to encourage the following workflow as long as you are new to C++:

  1. Always start with a working C++ code example. You can fork off a bunch of new C++ programs from the Your First C++ Program section.
  2. Make your code modifications in small steps. When you are new, compile after writing each new line of code. Do not code for one to two hours and then compile all that new code at once.
  3. You can expect it to be a couple of months before you can write code that performs as expected the first time you write it. Don't get discouraged. Learning to code is fun.

Warnings

The compiler will flag things that it thinks might be mistakes. These are another class of compiler notices known as warnings. Warnings are problems in your code that you do not have to fix for your code to run but are simply recommended to be fixed by the compiler. Warnings are often indications of code that is not quite perfect, and fixing warnings in code is generally considered good practice.

However, not all warnings are going to cause problems in your code. Some programmers prefer to disable the warnings that they do not consider to be an issue (for example, warning 4018 warns against signed/unsigned mismatch, which you will most likely see later).

What is building and compiling?

You might have heard of a computer process term called compiling. Compiling is the process of converting your C++ program into code that can run on a CPU. Building your source code means the same thing as compiling it.

See, your source code.cpp file will not actually run on a computer. It has to be compiled first for it to run.

This is the whole point of using Microsoft Visual Studio Express or Xcode. Visual Studio and Xcode are both compilers. You can write C++ source code in any text-editing program—even in Notepad. But you need a compiler to run it on your machine.

Every operating system typically has one or more C++ compilers that can compile C++ code to run on that platform. On Windows, you have Visual Studio and Intel C++ Studio compiler. On Mac, there is Xcode, and on all of Windows, Mac, and Linux, there is the GNU Compiler Collection (GCC).

The same C++ code that we write (Source) can be compiled using different compilers for different operating systems, and in theory, they should produce the same result. The ability to compile the same code on different platforms is called portability. In general, portability is a good thing.

Scripting

There is another class of programming languages called scripting languages. These include languages such as PHP, Python, and ActionScript. Scripted languages are not compiled—for JavaScript, PHP, and ActionScript, there is no compilation step. Rather, they are interpreted from the source as the program is run. The good thing about scripting languages is that they are usually platform-independent from the first go, because interpreters are very carefully designed to be platform-independent.

Exercise – ASCII art

Game programmers love ASCII art. You can draw a picture using only characters. Here's an example of an ASCII art maze:

cout << "****************" << endl;
cout << "*............*.*" << endl;
cout << "*.*.*******..*.*" << endl;
cout << "*.*.*..........*" << endl;
cout << "*.*.*.**********" << endl;
cout << "***.***........*" << endl;

Construct your own maze in C++ code or draw a picture using characters.

Summary

To sum it up, we learned how to write our first program in the C++ programming language in our integrated development environment (IDE, Visual Studio, or Xcode). This was a simple program, but you should count getting your first program to compile and run as your first victory. In the upcoming chapters, we'll put together more complex programs and start using Unreal Engine for our games.

Summary

The preceding screenshot is of your first C++ program and the following screenshot is of its output, your first victory:

Summary
Left arrow icon Right arrow icon

Description

If you are really passionate about games and have always wanted to write your own, this book is perfect for you. It will help you get started with programming in C++ and explore the immense functionalities of UE4.

Who is this book for?

If you are really passionate about games and have always wanted to write your own, this book is perfect for you. It will help you get started with programming in C++ and explore the immense functionalities of UE4.

What you will learn

  • Visualize and truly understand C++ programming concepts, such as how data is saved in computer memory and how program flow works
  • Write reusable code by grouping lines of code into functions
  • Learn how inheritance workshow traits of a base class are passed on to derived classes
  • Learn about dynamic allocation of new memory for your program
  • Design your own world using the UE4 editor
  • Practice programming by coding behaviors into your game world, including player inventory tracking, monsters, and NPCs

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Feb 24, 2015
Length: 342 pages
Edition : 1st
Language : English
ISBN-13 : 9781784394769
Vendor :
Epic Games
Languages :
Concepts :
Tools :

What do you get with eBook?

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

Billing Address

Product Details

Publication date : Feb 24, 2015
Length: 342 pages
Edition : 1st
Language : English
ISBN-13 : 9781784394769
Vendor :
Epic Games
Languages :
Concepts :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
£16.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
£169.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
£234.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 £ 120.97
Unreal Engine Game Development Cookbook
£41.99
Learning C++ by creating games with UE4
£36.99
Building an RPG  with Unreal 4.x
£41.99
Total £ 120.97 Stars icon
Banner background image

Table of Contents

13 Chapters
1. Coding with C++ Chevron down icon Chevron up icon
2. Variables and Memory Chevron down icon Chevron up icon
3. If, Else, and Switch Chevron down icon Chevron up icon
4. Looping Chevron down icon Chevron up icon
5. Functions and Macros Chevron down icon Chevron up icon
6. Objects, Classes, and Inheritance Chevron down icon Chevron up icon
7. Dynamic Memory Allocation Chevron down icon Chevron up icon
8. Actors and Pawns Chevron down icon Chevron up icon
9. Templates and Commonly Used Containers Chevron down icon Chevron up icon
10. Inventory System and Pickup Items Chevron down icon Chevron up icon
11. Monsters Chevron down icon Chevron up icon
12. Spell Book 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.2
(39 Ratings)
5 star 25.6%
4 star 25.6%
3 star 10.3%
2 star 23.1%
1 star 15.4%
Filter icon Filter
Top Reviews

Filter reviews by




saigahunter Jan 10, 2016
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This book is very well written. It teaches you the basics of Unreal engine. Before you can really utilize this book, you need to first get Unreal 4, and also Microsoft Visual Studio. This book is focused on the coding side of UE4, and touches very little on BluePrints and the likes. Though this book is aimed at beginners, it will help you very much if you already know the basics of C++. Great book for the price! It really helped me begin programming in UE4. (Be warned, though. While this book is still UE$, It is engine version 4.8 or some older version. The current engine build is 4.10.1, so a bit has changed. You will need to figure that out yourself.) If you are unsure where to start with Unreal 4, get this book!
Amazon Verified review Amazon
MASTERPEACE Nov 16, 2018
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Great!
Amazon Verified review Amazon
namosca Aug 20, 2015
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I have been waiting a long time to write this review. I wanted my review to be as good as this book was for me.This book is a gift from god to me!I have tried learning C++ from other books, but they are all too boring for me. They usually have a dry writing stile packed full of jargon and too few human language, or are full of boring projects.This book from William has a very very plesant flow of conversation which is very human and has less jargon than any other book I have seen. For example, the way he explains iterators:"You can also use an iterator to walk over the elements of the array one by one, as shown in the following code" (pg 197)Also the way he explains pointers is perfect: No explanation at all, just making an example which doesnt require any explanation about it.I do not care that iterators and pointers are treated supeficially on this book, because I am a beginner in C++ and I dont care about deep s*** which cannot make your life practical. I want just a key concept explained in a obvious way, and later if I am interested, I dig somewhere deeper.I can say that the didatic style of this book is more than answersome, and I would like to see another book written by William Sherif soon!Maybe a complete game developed on SFML or something like this?In general, I would like to see William Sherif added as a "didactics advisor" of any book written for programming languages... I bet he would make a more than great job on that!The only thing I didnt like about the book is using MS Visual Studio, a bloatware with 4 GB to be installed, and the huge UE engine which is also several GBs. I only have a very slow computer and horrible internet connection, so I was more than refusing to install VS and UE engine, so I just downloaded CodeBlocks, which is only 20mb, and skipped all UE part of the book (except chapter 8 teaching STL). I use now SFML (a multimedia library) to make fun Projects, and I am perfectly happy with that... No Need to download the UE engine and I can still have fun :)
Amazon Verified review Amazon
Perry Nally Jun 05, 2015
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This is a book that creates simple to learn bridge between learning a complex language and applying that knowledge to creating a game in Unreal Engine 4, which can have a steep learning curve. Learning C++ by Creating Games with UE4 was like a breath of fresh air. I must admit, I'm not a beginner to C++, but I read it as if I was; and from that perspective, it's a tremendously helpful book. Even if you already know C++, but don't know Unreal Engine 4, you will at the end of this book. But after all, the book's primary focus it to teach C++, and secondarily teach you Unreal Engine 4. I love the way William Sherif uses analogies to describe principles of the c++ language, then apply that same principle to the UE4 environment.After the first initial chapters spent in the syntax of C++, William gets right into learning the ropes, but gives great encouragement along the way. In addition, his tips are timely and valuable, not just fluff. I feel like I'm a much better C++ programmer and can now script great games in the Unreal Engine 4 because I chose to read this book. I'm hoping to release my first Unreal Engine 4 game soon. Thanks William!
Amazon Verified review Amazon
A. Becker Aug 20, 2016
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This is a good introduction to C++, but much of the Unreal Engine specific code in now out of date and many of the chapters cannot be completed with recent versions.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

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

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

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

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

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

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

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

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

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

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

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

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

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

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