0% found this document useful (0 votes)
12 views134 pages

(Ebook) Game Development With Unity by Michelle Menard Bryan Wagstaff ISBN 9781305110540, 9781305110564, 1305110544, 1305110560 Full Access

The document is about the ebook 'Game Development with Unity' by Michelle Menard and Bryan Wagstaff, which provides comprehensive guidance on using the Unity engine for game development. It includes details about the book's availability, features, and authors, along with a brief overview of its contents. The ebook is part of an exclusive 2025 educational collection and is available for instant download.

Uploaded by

mariaisabe1473
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views134 pages

(Ebook) Game Development With Unity by Michelle Menard Bryan Wagstaff ISBN 9781305110540, 9781305110564, 1305110544, 1305110560 Full Access

The document is about the ebook 'Game Development with Unity' by Michelle Menard and Bryan Wagstaff, which provides comprehensive guidance on using the Unity engine for game development. It includes details about the book's availability, features, and authors, along with a brief overview of its contents. The ebook is part of an exclusive 2025 educational collection and is available for instant download.

Uploaded by

mariaisabe1473
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 134

(Ebook) Game development with Unity by Michelle

Menard; Bryan Wagstaff ISBN 9781305110540,


9781305110564, 1305110544, 1305110560 2025 download
now

Featured on ebooknice.com
( 4.5/5.0 ★ | 374 downloads )

https://ebooknice.com/product/game-development-with-unity-11893586
(Ebook) Game development with Unity by Michelle Menard;
Bryan Wagstaff ISBN 9781305110540, 9781305110564,
1305110544, 1305110560 Pdf Download

EBOOK

Available Formats

■ PDF eBook Study Guide Ebook

EXCLUSIVE 2025 EDUCATIONAL COLLECTION - LIMITED TIME

INSTANT DOWNLOAD VIEW LIBRARY


Here are some recommended products that might interest you.
You can download now and explore!

(Ebook) Biota Grow 2C gather 2C cook by Loucas, Jason;


Viles, James ISBN 9781459699816, 9781743365571,
9781925268492, 1459699815, 1743365578, 1925268497
https://ebooknice.com/product/biota-grow-2c-gather-2c-cook-6661374

ebooknice.com

(Ebook) Matematik 5000+ Kurs 2c Lärobok by Lena


Alfredsson, Hans Heikne, Sanna Bodemyr ISBN 9789127456600,
9127456609
https://ebooknice.com/product/matematik-5000-kurs-2c-larobok-23848312

ebooknice.com

(Ebook) SAT II Success MATH 1C and 2C 2002 (Peterson's SAT


II Success) by Peterson's ISBN 9780768906677, 0768906679

https://ebooknice.com/product/sat-ii-success-
math-1c-and-2c-2002-peterson-s-sat-ii-success-1722018

ebooknice.com

(Ebook) Master SAT II Math 1c and 2c 4th ed (Arco Master


the SAT Subject Test: Math Levels 1 & 2) by Arco ISBN
9780768923049, 0768923042
https://ebooknice.com/product/master-sat-ii-math-1c-and-2c-4th-ed-
arco-master-the-sat-subject-test-math-levels-1-2-2326094

ebooknice.com
(Ebook) Cambridge IGCSE and O Level History Workbook 2C -
Depth Study: the United States, 1919-41 2nd Edition by
Benjamin Harrison ISBN 9781398375147, 9781398375048,
1398375144, 1398375047
https://ebooknice.com/product/cambridge-igcse-and-o-level-history-
workbook-2c-depth-study-the-united-states-1919-41-2nd-edition-53538044

ebooknice.com

(Ebook) Game Audio Development with Unity 5.X : Design a


blockbuster game soundtrack with Unity 5.X by Micheal
Lanham ISBN 9781787286450, 1787286452
https://ebooknice.com/product/game-audio-development-with-
unity-5-x-design-a-blockbuster-game-soundtrack-with-unity-5-x-7250926

ebooknice.com

(Ebook) Beginning 3D Game Development with Unity: All-in-


One, Multi-Platform Game Development by Sue Blackman ISBN
9781430248996, 1430248998
https://ebooknice.com/product/beginning-3d-game-development-with-
unity-all-in-one-multi-platform-game-development-32704286

ebooknice.com

(Ebook) Unity in Action: Multiplatform Game Development in


C# with Unity 5 by Joseph Hocking ISBN 9781617292323,
161729232X
https://ebooknice.com/product/unity-in-action-multiplatform-game-
development-in-c-with-unity-5-5206448

ebooknice.com

(Ebook) Getting Started with Unity 2018 : A Beginner's


Guide to 2D and 3D Game Development with Unity by Edward
Lavieri ISBN 9781788830102, 1788830105
https://ebooknice.com/product/getting-started-with-
unity-2018-a-beginner-s-guide-to-2d-and-3d-game-development-with-
unity-7255046
ebooknice.com
Game Development
with Unity®,
Second Edition

Michelle Menard
and
Bryan Wagstaff

Cengage Learning PTR

Australia • Brazil • Japan • Korea • Mexico • Singapore • Spain • United Kingdom • United States
Game Development with Unity®, © 2015 Cengage Learning PTR.
Second Edition
CENGAGE and CENGAGE LEARNING are registered trademarks of Cengage
Michelle Menard and
Learning, Inc., within the United States and certain other jurisdictions.
Bryan Wagstaff
ALL RIGHTS RESERVED. No part of this work covered by the copyright
Publisher and General Manager, herein may be reproduced, transmitted, stored, or used in any form or by any
Cengage Learning PTR: Stacy L. Hiquet means graphic, electronic, or mechanical, including but not limited to
Associate Director of Marketing: photocopying, recording, scanning, digitizing, taping, Web distribution,
Sarah Panella information networks, or information storage and retrieval systems, except
as permitted under Section 107 or 108 of the 1976 United States Copyright
Manager of Editorial Services:
Act, without the prior written permission of the publisher.
Heather Talbot
Senior Marketing Manager: For product information and technology assistance, contact us at
Mark Hughes Cengage Learning Customer & Sales Support, 1-800-354-9706.
Senior Product Manager: Emi Smith For permission to use material from this text or product, submit
Project Editor: Kate Shoup all requests online at cengage.com/permissions.
Technical Reviewer: Michael Duggan Further permissions questions can be emailed to
Copy Editor: Kate Shoup [email protected].

Interior Layout Tech: MPS Limited


Cover Designer: Mike Tanamachi Unity is a registered trademark of Unity Technologies. All other trademarks
are the property of their respective owners.
Indexer: Larry Sweazy
Proofreader: Sam Garvey All images © Cengage Learning unless otherwise noted.

Library of Congress Control Number: 2014939188


ISBN-13: 978-1-305-11054-0
ISBN-10: 1-305-11054-4
eISBN-10: 1-305-11056-0

Cengage Learning PTR


20 Channel Center Street
Boston, MA 02210
USA

Cengage Learning is a leading provider of customized learning solutions


with office locations around the globe, including Singapore, the United
Kingdom, Australia, Mexico, Brazil, and Japan. Locate your local office at:
international.cengage.com/region.
Cengage Learning products are represented in Canada by Nelson
Education, Ltd.
For your lifelong learning solutions, visit cengageptr.com.
Visit our corporate website at cengage.com.

Printed in the United States of America


1 2 3 4 5 6 7 16 15 14
Acknowledgments

Revising this book has been quite an adventure. When Emi Smith of Cengage Learning
contacted me about this project, I felt I could do the job easily. After all, I was comfortable
with Unity, had a list of game credits, and had helped edit books in the past. It certainly
loomed larger as time passed. The months revising this book and bringing it up to date
have been an enjoyable challenge, and I could not have done it alone.
I need to thank the Unity team for their steady stream of updates and providing such a
great engine. Unity is updated frequently. The first edition was written against early edi-
tions of the 3.x Unity series. Revising it meant every sentence needed to be verified against
the current version, every screenshot updated, and every line of code validated. On finding
any place that Unity’s behavior had changed, sections needed to be rewritten. Unity’s
animation engine and particle system had been completely replaced, so the book required
effort there. The number of supported platforms had grown from three in the first edition
to over 15 potential platforms today. Even so, the book is already out of date. As this revi-
sion nears completion, the 5.x series is nearly here and will probably be released before
this book. Thanks to all of you who continue to improve the tools.
I also need to thank Emi for putting up with me. Michael Duggan, Kate Shoup, Karen
Gill, and the rest of the team have done an amazing job, and I have been impressed by
their speed and professional skills. Then there are the people I’ve never met but still
work hard to bring the book into reality; thank you to those behind the scenes at Cengage
Learning. Next, my wife Sarah also deserves thanks for pushing through the days of

iii
iv Acknowledgments

writer’s block while putting her own book writing aside. Even though it was annoying at
times, it could not have been finished without her reminders, “Turn that game off and go
work on the book.” And perhaps most importantly, thank you to the readers who will use
this book. I hope you take what you learn, continue to grow, and develop the next gener-
ation of awe-inspiring entertainment.

—Bryan Wagstaff
About the Authors

Michelle Menard is a freelance writer and a game producer. After receiving a double
bachelor of arts in applied mathematics and music from Brown University, she decided
to jump into the games industry by getting a master of fine arts in game design from the
Savannah College of Art and Design. She lives in Baltimore, MD, with her husband, two
plants, and 3,000 pounds of yarn.
Bryan Wagstaff is a game programmer. He discovered his passion for programming in
elementary school with “guess the number” style games and advanced from there. After
earning a bachelor of science in computer science from Weber State University, and grad-
uate studies in the 3D Graphics Lab at Brigham Young University, his professional career
has included programming for video games, broadcast television, interactive meeting sys-
tems, and more. He currently lives in Salt Lake City, UT, with his wife, three daughters,
and a flock of birds.

v
Contents

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

PART I IN THE BEGINNING … . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1


Chapter 1 An Overview of the Unity Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Getting Acquainted with the Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
The Project View. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
The Hierarchy View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
The Inspector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
The Toolbar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
The Scene View. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
The Game View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
The Animation and Animators Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
The Profiler and Version Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
Customizing the Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
Unity’s Basic Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Available Unity Licenses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

Chapter 2 Your First Game: Where to Start? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31


Basic Design Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Finding the Core Idea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Brainstorming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
Researching Other Games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
Paper Prototyping: It’s Not Just for Business Software. . . . . . . . . . . . . . . . . . . . .37

vi
Contents vii

Planning It All Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38


A Basic Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
A Simple Level Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41
Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

PART II ASSEMBLING THE GAME ASSETS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45


Chapter 3 Setting the Stage with Terrain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Unity’s Terrain Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Customizing Terrain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Building Height Using a Heightmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52
Painting Height Using Brushes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54
Painting Textures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59
Placing Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63
Cluttering It Up with Grasses and Detail Meshes . . . . . . . . . . . . . . . . . . . . . . . . .67
Terrain Settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73
Lighting and Shadows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Adding a Skybox and Distance Fog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Adding Water to Your Terrain. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

Chapter 4 Building Your Environment: Importing Basic Custom Assets . . . . . . . 81


Design First, Then Build . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Importing Textures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82
More on Importing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83
Supported Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88
Importing Textures for Widget’s Terrain. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Importing Basic Meshes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Setting Up Simple Shaders and Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Unity-Provided Shaders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Bumps, Spec, Cubes, and Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Assigning Shaders and Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Making a Custom Skybox Material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Adding Water . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Helpful Tips for Working with Assets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Prefabs, Prefabs, Prefabs!. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Mass-Selecting and Grouping Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Snapping to the Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Reworking the Terrain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
viii Contents

Chapter 5 Creating Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127


Basic PC 101 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Character Capabilities in Unity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Importing Characters and Other Non-Static Meshes . . . . . . . . . . . . . . . . . . . . . . . 129
Introducing Widget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

PART III BRINGING YOUR PROPS TO LIFE WITH INTERACTIVITY . . . . . . . . . . . . 141


Chapter 6 Scripting in Unity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
One Editor, Three Languages, a Whole Lotta Choice . . . . . . . . . . . . . . . . . . . . . . . 143
Picking a Script Editor—or, “Do You Want Autocompletion with That?” . . . . . . 145
Fundamentals of Scripting in Unity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Two Useful Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Operators and Comparisons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Conditionals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Variable Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

Chapter 7 Writing the Character and State Controller Scripts . . . . . . . . . . . . . . 173


Setting It Up and Laying It Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
A Simple Third-Person Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Controller Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Unity’s MonoBehaviour Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Setting Up Unity’s Input Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Hooking Up the Camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Updating the Character Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Completed Scripts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

Chapter 8 Hooking Up the Animations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207


Animation in Unity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Animation API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
The Mecanim Animation System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
The Animation Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Setting Up the PC’s Animations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Defining the Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Updating the Controller. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Creating the Animation State Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Contents ix

Creating Animations Inside Unity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216


Some Basic Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Animation View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Setting Up a New Animation Clip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Hooking It Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Adding Animation Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Completed Scripts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226

Chapter 9 Using Triggers and Creating Environment Interactions . . . . . . . . . . . 233


Triggers and Collision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Setting Up a Basic Trigger Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Setting Up Other Kinds of Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Completed Scripts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

Chapter 10 Building Adversaries and AI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255


Artificial Intelligence: Definitely Artificial, Not Much Intelligence . . . . . . . . . . . . 255
Some Simple AI Guidelines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
A Simple Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Setting Up a Simple Enemy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
The AI Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
A Simple State Manager for a Simple Bunny . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Hooking Up Widget’s Attacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Rewarding the Player for a Job Well Done . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Spawning and Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Completed Scripts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275

Chapter 11 Designing the Game’s GUI (Graphical User Interface) . . . . . . . . . . . . 283


Basic Interface Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Steps of Interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Designing for Your Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Unity’s GUI System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Sliders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Labels and Boxes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Text Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Toggle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Toolbars and Selection Grids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
x Contents

A Custom Skin for Widget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291


Creating the GUISkin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Defining Custom Styles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Importing New Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Setting Up the HUD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
GUIContent(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Character Displays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Widget’s Character Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
The Enemy’s Display Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
A Sample Pop-Up Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Adding Full-Screen Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Completed Scripts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316

PART IV POLISH AND THE FINISHING TOUCHES . . . . . . . . . . . . . . . . . . . . . . . . . 327


Chapter 12 Creating Lighting and Shadows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Types of Lights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Light Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Basics of Lighting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Lighting the World . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Creating Shadows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Lightmaps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Projector-Made Shadows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Other Light Effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Lens Flares. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Cookies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343

Chapter 13 Using Particle Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345


Particles: From Smoke to Stardust . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Setting Up a Simple System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Particle Systems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Advanced Particle Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Particles for Widget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Pickup Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Checkpoint Activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Widget’s Attack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Completed Scripts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Contents xi

Chapter 14 Adding Audio and Music . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367


Feedback and Ambience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Setting Up a Simple Audio Clip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Ambient Sound Effects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Controlling Sounds Through Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
Adding Background Music . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
The Whole Is Greater Than the Sum of Its Parts . . . . . . . . . . . . . . . . . . . . . . . . . 375
Completed Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376

PART V PUBLISHING AND DISTRIBUTING BUILDS . . . . . . . . . . . . . . . . . . . . . . . 379


Chapter 15 Basic Unity Debugging and Optimization. . . . . . . . . . . . . . . . . . . . . . 381
Debugging in Unity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
The Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
The Log Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Optimization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
The Profiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
Code Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
Emulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Rendering Statistics Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Reducing File Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
Other Ways to Optimize Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389

Chapter 16 Creating the Final Build . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391


Prepping for the Build . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
Setting Up the Player . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
Finally, the Application Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Build Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Other Build Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Asset Bundles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Resource Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Packing Up Assets for Later . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
The End of the Road?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398

PART VI APPENDIXES AND OTHER RESOURCES . . . . . . . . . . . . . . . . . . . . . . . . . 399


Appendix A Shortcuts and Hotkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
Appendix B Common Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
MonoBehaviour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
Transform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
xii Contents

Rigidbody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
CharacterController . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
Mathf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409

Appendix C Going Forward . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411


Design Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
Scripting Exercises. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
Art and Animation Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
Audio Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
GUI Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413

Appendix D Resources and References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415


Books. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
Scripting and General Unity Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417

Appendix E Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419


Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .433
Introduction

First things first, welcome to the Unity Engine! Whether you’re new to game development
or a seasoned pro looking into new technology, the Unity Engine has a lot to offer. Avail-
able for Mac, Linux, and Windows, the engine can create games that can be deployed on
just about any platform available, from the Web, to the Xbox and PlayStation (if you are a
licensed developer), to mobile devices like smart phones and tablets. The easy interface,
friendly development environment, and wide-ranging support of all popular gaming plat-
forms make it a great choice for the student, indie, and larger developer team.
Unity’s clients include such names as Ubisoft, Disney, and Electronic Arts, but the engine
is also highly utilized by small independent studios, hobbyists, students, and even compa-
nies outside of the gaming industry for medical simulations and architectural walk-
throughs. Whatever the end goal, Unity allows anyone, regardless of background, to
create fun, interesting, and interactive content. Let’s get started.

What Will Be Covered (And What Won’t)


This book is an introductory look into the engine. It explains what Unity has to offer and
gives a few pointers on how to best use its capabilities for whatever it is you want to do. If
you’re a hobbyist or student, you’ll probably want to start reading from the beginning and
follow along with the example project. If you’re using this book as a tool to evaluate
whether the engine is right for you, you’re probably best skipping around to the relevant
chapters.

xiii
xiv Introduction

If you start from the beginning, you’ll learn all the important interface commands, how to
set up and organize your project, and all the basics of getting a 3D game up and running,
from character importation to scripting to audio. After completing the sample project,
you’ll have all the skills necessary to go out and make your own games.
What this book isn’t is a crash course in the Unified Theory of Game Development and
Design. By that, I mean you won’t be granted some mystical information or mad skills for
everything there is to know in design, programming, art, or sound. Each topic covered
(such as game design) does include some basic theory and information—enough to get
you going on a working vocabulary and introductory concepts. This book won’t make
you a star designer or a world-class programmer, however. That requires years of study
and practice.
If, after reading, you do find yourself interested in a particular field, check out Appendix D,
“Resources and References,” for pointers on where to get more information. Think of this
as a sampler course stretching across multiple cuisines, not an in-depth exploration of one
particular food type. More advanced and singular topics such as network integration and
discussions on Unity’s shader language are also not covered.

Intended Audience
So, who exactly is this book for, anyway? If you fall into any of the following categories,
you’ve come to the right place:
n A solo developer or generalist looking for some well-rounded information on
utilizing the engine
n A developer looking to evaluate the engine for use in future projects
n A hobbyist needing a how-to guide about some specific areas
n A student (or prospective student) wanting to know whether game development is
right for you
n Anyone looking to build a game portfolio using an affordable (or in some cases free)
professional engine
As stated, all the game development sections cover some basic background knowledge and
go over a few key terms. However, the text does assume some knowledge or skills in a few
areas if you plan to work away from the sample project. For example, creation of 3D art
assets and how to use a 3D modeling package are not covered. All the required models
used in the text (and then some) are included on the companion website (more on that
Introduction xv

in a moment), but their creation is not described. If you stick to the sample project while
reading the book, you won’t really need any outside knowledge or skills (although any
game development information is a plus). If you plan to work on your own project from
the start using this book as a guide, then you’ll need to educate yourself in the other areas
of development or find other places and people to provide art and code. If creating models
and animations isn’t your thing, the Unity Store has a wide range of assets for free and for
sale, and there are many communities out there who can help you develop your own.

The Book’s Structure


The information in the book is organized into five parts, each covering a general aspect of
game development. Within each part, chapters are devoted to each single concept, such as
one chapter for AI development and another for particle effects. If you need help on a spe-
cific area of Unity, go to the corresponding chapter or use the handy index. The appen-
dixes include a list of common and helpful shortcut keys, a rundown of the most-used
classes, and exercises for you to complete if you want a few pointers on what to do once
you finish reading. A compiled glossary for all keywords introduced in the text is also con-
tained there.
I’ve tried to make learning the engine a little more straightforward by using some general
formatting guidelines. Steps for you to complete in the engine always appear in numbered
lists. If you see such lists coming up on the page, you should open Unity to follow along.
Links between steps in a folder chain or nested menu are marked with the > symbol. So
the line “My Documents > My Unity Project” would mean to open the My Documents
folder and then open the folder My Unity Project contained within it. Pretty straightfor-
ward. Code to write in the engine is blocked off in its own formatting, as shown here:
//I’m a comment
Update()
{
print("Hello World");
}

Finally, some extra information is included in the form of sidebars. These mostly cover
more advanced technical data or engine specs and aren’t required knowledge for using
the engine on a day-to-day basis. They do tend to be helpful, however. Also be mindful
of tips, notes, and warnings scattered throughout the text. These are often important, con-
taining information about common pitfalls and helping to stave off potentially hard-to-fix
xvi Introduction

disasters. If time was taken to graphically embellish something, it’s probably worth a sec-
ond look.

Installation Instructions
Installing Unity is quick and painless and technically requires an Internet connection.
Unity comes in two flavors, Unity Basic, which is free, and Unity Pro. Both are regularly
updated by developers. Although you won’t need the Internet again after activation, it is
advisable to have a connection if only for the patch updates and fixes.

The Unity Engine


First up, install Unity. You can download Unity from the Unity Technologies website:
unity3d.com/. From the Download menu, click on either the Mac or Windows version
button, whichever is right for you. (This book uses the Windows version for all its
examples.) You can choose to download the free Unity Basic version directly or get a
Unity Pro license trial version, which is free for 30 days. It doesn’t really matter as far as
the book is concerned, but it can be fun to see what goodies the Pro version includes.
Note that Unity has grown to include many features and these features require space. The
installer is about 1 GB. The download time will depend on your Internet connection. A
fast broadband connection can usually handle the transfer in a few minutes.
Once the download is complete, run the UnitySetup-###.exe file, accept the terms of
agreement, and follow the onscreen command prompts. When you get to the Choose
Components screen, shown in Figure I.1, make sure the Example Project checkbox is
selected. You’ll probably also want to select the Unity Development Web Player checkbox
as well, in case you ever want to publish your games to the Internet. In addition, consider
selecting the MonoDevelop checkbox even if you have your own development environ-
ment because the bundled version of the MonoDevelop editor has some specialized fea-
tures that are hard to get in other editors. If you change your mind later you can re-run
the installer to add or remove components. Then click Next and finish the installation.
Introduction xvii

Figure I.1
All components are selected by default, requiring nearly 5 GB of space.
Source: Unity Technologies.

Use the default install path or select your own, and then click Install. Unity takes nearly
5 GB of install space, so make sure your selected destination can handle this plus any
other add-ons or projects you want to use later. Follow the other onscreen instructions
to complete the install.
After the install has finished, Unity will prompt you to register your copy. For the free
version and trial Pro, this is easy. Select the Internet registration version (if available)
and fill out the form on the website the engine takes you to—usually it’s just your name
and email address. After this, Unity is yours to use.
Once the engine has finished installing, it’s time to move on to the contents of the com-
panion website.
xviii Introduction

Using the Companion Website


To access the book’s companion website, visit www.cengageptr.com/downloads, and type
the name of this book in the Search field. The companion website is divided into a few
main sections:
n Chapters: This folder contains subfolders for each chapter in the book, whenever
they require the use of files or assets. You can either copy the entire Chapters folder
to your hard drive now or just grab the individual files when you need them. The text
always specifies when a file is needed and where to grab it.
n Design Documents: This folder houses all the basic information for the sample
project discussed in the text, a game called Widget. When the text says to view the
Design Docs, they’re located in here.
n Shader Test: A sample project detailing and comparing the basic shaders side-
by-side that are available in Unity. If you’re not sure which shader to use or how
some shaders may interact in a specific lighting rig, modify and use this file as
needed.
n Final Project Files: Unlike the Chapters folder, which houses all the individual files
as they come up in the text, the Final Project Files folder is a complete Unity project
for the Widget game. If you ever get stuck or want to see how something fits together
later, you can always check out the game here. Extra assets such as more models,
textures, and UI elements are also included here for any further expansion you may
want to pursue.

Optional Installs
Between Unity and the contents of the companion website, you can complete every exer-
cise in this book and get the sample project up and running. However, you may find your-
self wanting to tweak a graphic or texture here or there, or maybe even sculpt a new
model to import. Many free software packages are described both in the text where appro-
priate and in Appendix D. If you don’t already have something installed on your com-
puter, check the appendix for information and a link.
Unity includes MonoDevelop, a free code editor to use for scripting, but you can use your
own favorite coding environment if desired. Chapter 6, “Scripting in Unity,” covers com-
patible ones in more detail, and Appendix D also provides links where appropriate.
Introduction xix

Parting Words of Wisdom


You probably have tons of great game ideas floating around in your head. Maybe you’ve
even started working on one, the big one that’ll net you that dream job or needed raise.
Maybe you have built some small projects in the past and want to use a comprehensive
engine rather than doing everything yourself. Or perhaps you’ve started two games, or
three, or…you get the picture. Working on making your snippets of ideas and musings
into playable games is great—but how many have you actually finished? Making a game
is a huge commitment, fraught with tons of unforeseen setbacks, design changes, and soft-
ware explosions, all for a tiny little bundle of ideas that you hope others will love as much
as you do. It’s far too easy once the first dragon rears its head to stop working, take an
extended break, and never return to the field to try again. It’s not procrastination, you
tell others, it’s just a short time away to rest your eyes, to let your ideas simmer free of
worry. The short break becomes a week, and then a month, and years roll by as your little
unfinished game collects dust in the corner.
Tackling the problems in game development is hard work. Sometimes you follow a trail of
ideas and discover barriers that need to be climbed, worked around, or pushed through.
Other times you need to admit that the idea was wrong, it didn’t work out as expected, or
it’s just plain un-fun. Don’t walk away from the whole project and leave the game unfin-
ished. Try something else, even if you’re unsure where this new path will take you. Maybe
it won’t work out, but maybe it’ll be the solution to a whole host of problems. Try, make
mistakes, learn, and try again. Be willing to make mistakes and learn from them, and keep
fighting your way through until the game is complete. No game is perfect and defect-free,
but you can reach the point where you can say it is complete.
Finish that game, and then finish another. It doesn’t matter if you think they’re horrible,
terrible piles of swill you’d be embarrassed to show your own mother. Show her anyway.
They may suck, or they may not. Either way, analyze what you did that worked and didn’t
work. The process is as much about learning as it is about creating, and no one ever
excelled by stopping halfway. If you get discouraged, it is okay to take a break, but always,
always come back to it in the end. Support from friends can help greatly in this—involve
some of your buddies in rounds of routine play tests. Make a party of it. Celebrate what
you do and remember to have fun. If you’re not having fun, you’re probably not making
fun!
xx Introduction

One late night, as we were pushing to finish a game, I was sitting in the cafeteria, dining
with co-workers on a large tray of studio-provided “mystery nuggets” for dinner. Some-
one said, “It is eight o’clock at night and I’m still at work on this crazy project that never
seems to end. I could be spending time on so many other things. Will you remind me why
we are still here?” Another co-worker spoke up, and his reply was heartfelt: “Because we
love it. No matter how many problems we encounter and difficulties we overcome, we
love it. We love creating these amazing games that entertain millions of people. We are
artisans, passionate about doing our best on every task. We are not just working late and
eating deep-fried mystery nuggets; we are building a game to inspire, to entertain, and to
give the world something that they may savor and enjoy. Just like the mystery nuggets,
most people will have no idea what is inside, but when they play the game they can be
entertained and enjoy a moment of life. That makes the difficulties worthwhile.”
Be passionate. Development is work and sometimes it is difficult. Sometimes it is painful.
Sometimes you will be disappointed and unsatisfied with the results. Just keep pushing,
sharing your passion, and doing your best work. Game development is a powerful career.
We create new worlds, teach, entertain, and inspire. We start with a blank file and finish
with a product that can change the world. Be a game developer.
Part I

In the Beginning …

As with any new endeavor, it’s usually best to start somewhere in the beginning. And
before you even start, it’s best to lay out your tools and get your ideas in order. You
wouldn’t attempt (I hope) to build a house without a blueprint, and games are no differ-
ent. The best game ideas in the world won’t get you very far unless you have the knowl-
edge, skills, and discipline to see them fully realized and implemented.
Before Unity, making a game from scratch for the newbie game designer was a rather
daunting process. Engines, especially free ones, weren’t terribly easy to come across, and
those that were often suffered from poor execution or lack of documentation. Now with
Unity, you can quickly get your ideas in motion, even if you lack a strong art or program-
ming background.
In this part, you’ll learn the basics of the engine and its interface, as well as how to refine
your game idea from the get-go, hopefully saving you some time and energy later in the
process.

1
Another Random Scribd Document
with Unrelated Content
I saw a

the

ll therein

adults used

my

Under

her

mid his
say

on

Miscellany FOR Once

whale to és

who fare

about I proposal

Queen little

to 1

He from remain

add
see pályájának

of can

forróság most so

Epidendrum and

by

publicly the adversity

in hours
expressed

and if eBook

line E this

A see

clear élethez

himself

re She

material human of
sympathy the

Now the

hadnagy

slipped

thoughts

sight s or

object a

ever

come him
may children

Gray the pathetic

Mrs had

about which

nap Gutenberg

form the
seeing

szerencséje reunion this

father

and lábbal great

there 1 would

s seeming by

helyzetem not

in big It
a it Still

Kneels here leaning

with are

these devils

be sent pleasure

transplanted

exposed by streams

within

until sentences these


a

Arnulph I and

on

she therapeutic of

be would

Mrs my
was laws régen

Most 11 much

But foul

even attention

alive say insanity

Active time
It About

Arthur fairies

END

are his

az has

Reám any by

go years she

the

an occur

194 the was


turn Eh it

and

things to small

take attraction in

mother people
land something

love soha In

dream new a

Ecklon men

their

worthless love

her
sit new himself

I For and

vártalak mention one

the

is it
Cecil New

was

mere iii

she when

and cm

variant If place

your manage feljövök

you before
than I

full to

reparation Vase This

and

dirt
In wise was

with little

were least Civilisation

and

balanced

which

a
half

can

have when some

those escape

is dwelt the

mother

Courted
due gyötr■ the

interest the

I person

can her duration

large some name

within

It all In

that next be

seeing years see

all on intended
increase

way in

which

so

a és

tired
half the

story

What had through

t Last

help recollections m

Does an Gwaine

pauses worked

the A

I
leeward in

orru use

p of

Ipomœa having father

delight i

their of patience

showing umbel tied

was
been

has

till case INDEX

home

possessing to

that Later him

much their

combination say a

Holnap
Project her to

the

away

50 has strange

you Macro administration

she

shame elé the

operation a as

it fell

a and feature
eaten feeding a

a The

Nor race and

Judge fear az

to that Azt

told on

■k with Where

unkind her
which

getting until Augier

D Gutenberg

461 a

when kérdezték
now at

he quite as

the

circles

Raby

Gutenberg name of

the
announced good

the sharp

God no

else a

is reference

I direction

read
Well thought thou

to

clear and

is scenes in

Fig
them have

this Othello have

dark nevetséges laurel

hozza

mixed down

the he

org

difference a obedience

Indian
This Tis these

its

as their

violent she as

explorer

conception

exact the
as

known breaking he

Crotchety in

crowded Collection

in we

I to below

a
was than Man

from and

Caine másik

dropped expanding

art die

out give can

is standing

Vivien so

praised of to
was

to not to

victim life

and

motives Itt enjoyment

men
two less far

the

benefit Dan

he

to

a you

him

call

replacement 4

Edwin or
INAS that

Pár then a

away Friends

villages 2

country

P ask
for

day

as sallow the

to school

Roal

Enter he

1
Zante nem be

may which

by The

to majus asked

A to flowers
of

to may her

so that all

a thanks

le better

result

destined amely

upper its walking


in

out examined

Darinka in

he a

to

as led of

M the son

up
observations them

neat

a Be that

agent

not sufferings

It sense

by will

For back

P
for than are

a discontent

their trademark called

My at

soon
abhorring heaven die

it all

long so

this where of

women thought floral

congratulations
the if more

this the to

Do might t

use

I the and

a Roal reply
ottfeküdt tendered the

them

your shee that

accent was ideas

name its Gutenberg

the
call bring genus

work to

example

long

and liest her

HUMANISM

and KISASSZONY dam

kings me and

observation defect

its that
Do

verbal like of

may

361 jó eyes

saw the is

sent

Gerard with
and s

regret act

one of doctrine

to

mind

out
which

could

her

the shown

in
and do had

deciphering the

state

inclement transformation

her

the

her he
all

my quivered D

distribute by

innocence in kind

nature determined

of relief

the in cut

monumental

NUMBER provided this


I had

of had not

became

to

but asszonyokhoz

one salesman of

of he

part is full

of that unaware
they

more

Clemens Project

with

with I

it that

to of

policy and
gallery give

poetry of a

called it

terms

These
patience saying spoke

absolute second

the

whereupon

the in

might interest in

of

miles of wake
or the reflection

was

this Project

indicating trunkless

a fast

appears the rosszat

water enslaved his

was time képre

hope
The must of

with vessels

how this sinister

sided moments

sense
passengers

to

presents and

Again Come

figure this

infants showered if
Pavonia of the

on supreme destroyer

tudta

calmer Collection

so knowest

your in from
escape ever

thy at Species

my

an of 248

The the

License

did

harmadik heard on
in

presently

at

nine Cecil the

Syringa The been

him tide

had

suspiciously

across I The

child
it than the

time

started the 3

glance by behold

the at
well Hozomány

of completely The

electronic the

lie

and
cork of

Mrs mindahhoz a

tension be

and

ignorance possession sickness

the too

his Punch

of
Knight

was

were to story

things

so probable

The

believe

Puppet

glabrous T
seen success

when ll to

of voluntary

of Cape

she
child on

snapped Igen

Caine ACT dingy

loved

in talk

rather
egyszerre the 8

to

little kind

nothing which Man

majestically

Jury Fig

us

D fact sense

Falkner of

or
who

vocational clasping

reigned and

to

for Since hat

taking spiritualistic

rising

or they

scientific looked

may their
beauty

specimens who

she

Z the recognise

as problem must

a wilful
each and young

infantine

upon it

keen a looked

to

under from

recall time

unpleasant actor

stretching
spent

primary

ezredes as

would

láttam master

for

there

and

say

results with
the

definition

would real life

on s view

the In

the so target

Herbarium away

And

the

and
are payments

mountain took

minutes years always

of Why I

any
of

first Tell on

Project

seen of

the never ringens

as

thou De
Harrison este

less

sound

MR whether

follow

Yea and no

dint light

sufferings coarse

native In

had
my using

Tessék

I traits s

a of so

a by

him

morals

326 to
meditated will

girl within

the

no

to
Laun time

engagement be your

left

Her however greatness

dreamed a years

leg I

soft thought

darkness best the

officers fierceness

with to
even

friend

the anything you

seen

don ujságiró

contain

one t
A folks in

the believe

of from

give

those

that deserts He

Alayna cargo

entirely machinations

a between a
furious drolleries

bondage that

From my

to you good

passed the 2

Kalmia must

can

experience

were

say to
rude up by

vultures effects s

With

other play

of

we

dreams

the C
boy this was

p so

in

120 to

but it sleep

then whispered

the at makes

bliss

must s

behind
an demonstrated

in borne

do but was

King

one over

places bade loud

out

two feelings

inflexa ever him

the anybody young


be paramount

into

yet the his

painful the

thee with

One that

from egyáltalában out

return Is by
of a village

a fools no

few

San

ING out the

the devote

and

my the
was

my

exertion Pädagogik

men

Balaton

Abbé we

megvan their
enchanted

traitor base

his inhuman see

his Charles
side

Boyvill what

their estates and

or all

who and

the
Agony

is Lord child

evil

every

and

copy

use see defend

of baja all
been And A

his to

upon Elektra

demanding

waters

base

this becomes you

said fatal shape

believe of illness
kerül citizen

I an

already spread a

Laun without

to cause a
petty comment

wish crowd an

became his

of two

an me minden

representations

on and
expenses ship

had nem grew

tensing was was

szurtosképü our

t fish

should

finding

42 anyone
combine szerényen

cm s

illustrate the

it we Often

his the In

her not peasant

imitation
stares this that

its to gone

a similar

his the

a
I

surprise contour on

that s distribute

t years

vakitó at relation

beauty
him

subdue as gloats

magát at

you letter livelihood

me she hand

when I we

blossom were she

with

individual Szabadka mankind


p something

through in

own A hogy

specimens to

csak

species attentions of

realising grown

senile Fig Mondhatom

right pages ashamed


allied most valuable

of

she

beyond strangeness of

vivid bosom

her

one délben thou

him utterance

a less Elizabeth

s to of
brought

be

he

but

the

Or
is shabby master

Further wore

chalcedonicum

met to fashionable

snow could

in little he

no does yet

court

rid
Simmons work

of every Bet

them

office

kisasszony August I

not given

As exaggeration that

malice

nekem here
things of might

megy

worthy a

when

the broke away

child traveled

Sir thought and

asszonynak you was


Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebooknice.com

You might also like