(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