* (asterisk) character 57
2D Editor mode 105
switching cameras to 2D mode 108–109
2D functionality
card objects
displaying card images 112–118
instantiating grids of cards 115–116
loading images programmatically 112–113
comparing revealed cards 119
hiding mismatched cards 119–120
storing revealed cards 119
programming UIButton components using SendMessage 123–124
Aseprite 341
GIMP 340
Photoshop 340
Pyxel Edit 341
TexturePacker 340
2D images, texture scenes with 81–86
2D Rect tool 337
2D Scene view 105
2D sounds 257
local vs. global coordinate spaces 36–37
visualizing movement programming 34
writing code to implement diagrams 34–36
adjusting components for walking instead of flying 47–49
moving CharacterController for collision detection 46–47
responding to keypresses 44–45
setting rate of movement independent of computer speed 45–46
placing objects in scenes 28–34
responding to input from mouse 37–43
horizontal and vertical rotation at same time 41–43
horizontal rotation tracking mouse movements 38–39
vertical rotation with limits 39–41
file formats
for 3D models 90
choosing file formats 90
3D objects, attaching particle effects to 98–99
3ds Max software 339
3D sounds 257
3D space, rotating 29
acceleration, applying 182–184
Action type 235
Activate( ) function 206
active variable 275
AddComponentMenu method 48
AddForce( ) command 138
AddItem( ) method 214
Additive shader 98
ad hoc distribution 321
Agasper Android Notifications 353
AI (artificial intelligence) 60–63
diagramming 60
seeing obstacles with raycast 61–62
tracking character states 63
aiming, adding visual indicators for 54–57
alerting targets, when hit 58–60
alpha channel 82
Android operating system
animation clips 133
animation loops 190
animation root 191
animations
defined 76
triggering animations from code 135–136
using Mecanim animation system 133–134
animator controllers, creating 192–195
defining animation clips in imported models 190–191
animators
anonymous function 247
Application.ExternalEval( ) method 316
Application.persistentDataPath 302
Application.Quit( ) method 311
Aseprite tool 341
AssetBundles 246
assets
assembling from multiple projects 278–280
updating managers frameworks 278–279
assigning looping sounds 258–259
asterisk (*) character 57
atmospheres, controlled by code 228–230
Attach Unity Debugger option, Debug menu 20
Audacity application 341
audio control interface 260–266
playing UI sounds 266
setting up central AudioManager 261–262
controlling music volume separately 271–273
importing clips 268
importing sound effects 253–256
supported file formats 253
playing clips in AudioManager 269
assigning looping sounds 258–259
triggering sound effects from code 259–260
software 341
Audacity 341
Pro Tools 341
audio listener 258
AudioListener class 257, 258, 264
AudioManager
playing audio clips in 269
setting up AudioSource for 268
AudioMixer 258
audio source 258
AudioSource
setting up for AudioManager 268
axes points 28
BackAndForth script 98
controlling volume separately 271–273
adding music controls to UI 270
importing audio clips 268
playing audio clips in AudioManager 269
setting up AudioSource for AudioManager 268
BaseDevice script 283
BasicUI script 218
caching downloaded images for reuse 246–248
displaying images on billboards 245–246
loading images from internet 242–245
building mesh geometry 343–346
texture mapping models 346–350
.blend file 89
Blend property 229
broadcasting
browsers, communicating with JavaScript in 315–318
setting up Android build tools 321–322
setting up iOS build tools 319–321
caching downloaded images, for reuse 246–248
adjusting view for third-person games 172–177
adding shadows to scenes 173–175
orbiting around characters 175–177
programming camera-relative movement controls 178–181
rotating character to face movement direction 178–180
card_back sprite 110
card games
displaying card images 112–118
instantiating grids of cards 115–116
loading images programmatically 112–113
comparing revealed cards 119
hiding mismatched cards 119–120
storing revealed cards 119
text displays for scores 120–122
CardRevealed( ) method 118
cards
comparing revealed 119
instantiating grids of 115–116
mouse input code 111
storing revealed 119
Cartesian coordinate system 26
Cast Shadows setting, Inspector 175
Catlike Coding 352
ChangeHealth( ) method 222, 287
CharacterController, moving for collision detection 46–47
CharacterController.Move( ) method 181
characters
orbiting camera around 175–177
rotating to face movement direction 178–180
tracking states 63
CheckMatch( ) method 120
CheckpointTrigger script 250
children 30
clicks, cards reacting to 110–112
mouse input code 111
clipping planes 281
closing doors, on keypress 198–200
code
assembling from multiple projects 278–280
implementing AI enemies 279–280
updating managers frameworks 278–279
atmospheres controlled by 228–230
triggering animations from 135–136
triggering sound effects from 259–260
writing to implement diagrams 34–36
Agasper Android Notifications 353
DOTween 352
FMOD Studio 353
iTween 352
LeanTween 352
Play Games services from Google 353
post-processing stacks 352
prime[31] 353
Unify community wiki 352
Collada 90
CollectibleItem script 207
collection objects, storing inventory in, List vs. Dictionary 214–216
colliding
with physics-enabled obstacles 203–204
collision detection, moving CharacterController for 46–47
ColorChangeDevice script 202, 284
color-changing monitors, operating 202
comparing revealed cards 119
compilations, platform-dependent 312–313
components
adjusting for walking instead of flying 47–49
overview 5
computer speed, setting rate of movement independent of 45–46
deploying
ConsumeItem( ) method 222
ContainsKey( ) method 216
controller object 157
controllers
animator controllers, creating 192–195
programming camera-relative movement 178–181
rotating character to face movement direction 178–180
coordinate spaces, local vs. global 36–37
coroutines
overview 54
requesting HTTP data using 234–237
writing coroutine methods 235
CSG (Constructive Solid Geometry) 79
Cube objects 31
culling 175
culling mask 175
data, posting to web servers 248–251
server-side code in PHP 250–251
DataManager script 301
Deactivate( ) function 206
Debug.Log( ) command 22
Debug statement 119
delta lines 42
deltaTime value 45
deploying
setting up build tools 319–322
deserialize 240
deploying
to desktop platforms 8
desktop platforms
platform-dependent compilations 312–313
deploying to 8
DeviceOperator script 201, 245
devices
setting up build tools 319–322
diagrams
for AI 60
writing code to implement 34–36
Dictionary objects, List objects vs. 214–216
DifferentInventoryManager 209
directional lights 31
displaying
instantiating grids of cards 115–116
loading images programmatically 112–113
distance property 62
distances, checking before opening doors 200–201
DontDestroyOnLoad( ) method 125, 294
DontRequireReceiver option 201
checking distance and facing before opening 200–201
opening and closing on keypress 198–200
triggering with pressure plates 204–207
Dot( ) function 187
dot product 187
DOTween engine 352
downloading weather data, from internet services 231–242
requesting HTTP data using coroutines 234–237
scenes based on weather data 241–242
dynamic string 163
edge selection mode, blender 347
effects, particle systems 94–99
adjusting parameters on default effects 95
applying textures for fire 95–98
attaching particle effects to 3D objects 98–99
elements, controlling position in GUI 154–156
enemies
losing levels when caught by 298–300
instantiating from invisible scripts 66–67
enemy variable 67
EquipItem( ) method 220
equippedItem property 220
error messages 23
ETC (Ericsson Texture Compression) 323
Euler angles property 41
broadcasting events from HUDs 166–168
broadcasting events from scenes 165–166
integrating event systems 164–165
listening for events from HUDs 166–168
listening for events from scenes 165–166
EventTrigger component 158
exits, completing levels by reaching 296–298
Aseprite 341
GIMP 340
Photoshop 340
Pyxel Edit 341
TexturePacker 340
audio software 341
Audacity 341
Pro Tools 341
3ds Max 339
Blender 340
Maya 339
SketchUp 340
Extrude Individual command, Mesh menu 345
Face Selection mode, Blender 345
facing, checking before opening doors 200–201
FBX export 90
File.Create( ) method 302
File.CreateText( ) method 302
fire, applying textures for 95–98
adjusting components for walking instead of flying 47–49
moving CharacterController for collision detection 46–47
responding to keypresses 44–45
setting rate of movement independent of computer speed 45–46
first-person shooter scene 25
first-person views 172
Fisher-Yates algorithm 118
float parameters 135
floors
placing in platformer games 129
flying, adjusting components for walking instead of 47–49
FollowCam script 144
FPS (first-person shooter) scene 25
FPSInput script 44
frame rate dependent 45
frame rate independent 45
frames 19
freezeRotation property 42
FSM (finite state machines) 63
GameEvent script 165
GameObject class 31
gameObject property 58
games
beating by completing three levels 304–305–306
developing overarching structure 292–300
completing levels by reaching exits 296–298
controlling mission flow and multiple levels 292–296
losing levels when caught by enemies 298–300
programming game managers 210–214
setting up player managers 209–210
geometry mesh, building 343–346
GetButtonDown( ) function 183
GetComponent( ) method 58, 113, 143
GetItemCount( ) method 217
GetItemList( ) method 217
GetWeatherXML( ) method 235
GetWebImage( ) method 244, 247
GIMP (GNU Image Manipulation Program) 340
gitignore file 7
gizmos 141
Gizmos menu 128
global coordinate spaces, local vs. 36–37
GNU Image Manipulation Program 340
Google, Play Games services 353
switching cameras to 2D mode 108–109
choosing file formats 90
creating effects using particle systems 94–99
adjusting parameters on default effects 95
applying textures for fire 95–98
attaching particle effects to 3D objects 98–99
importing sprite sheets 129–130
placing floors 129
placing walls 129
generating sky visuals using texture images 86–89
skybox material, creating 87–89
texture scenes with 2D images 81–86
laying out primitives according to plans 79–80
overview of 78
grayboxing 77
ground
modifying detection of 184–187
grounded variable 139
GUI.Label( ) method 57
GUI (graphical user interface) 146–168
canvas for interface, creating 150–152
controlling position of elements 154–156
programming interactivity in 156–163
pop-up windows, creating 158–161
programming UI interaction 157–158
setting values using input fields 162–163
setting values using sliders 162–163
replacing with new interfaces 285–288–292
broadcasting events from HUDs 166–168
broadcasting events from scenes 165–166
integrating event systems 164–165
listening for events from HUDs 166–168
listening for events from scenes 165–166
health, restoring by consuming health packs 221–222
hiding mismatched cards 119–120
hits
adding visual indicators for 54–57
HTML5/WebGL, Unity Player vs. 313
HTTP data, requesting using coroutines 234–237
writing coroutine methods 235
HUDs (heads-up displays)
broadcasting events from 166–168
listening for events from 166–168
Hurt( ) method 73
icons array 291
IDE (integrated development environment) 5
id property 114
IEnumerator 55
IGameManager interface 209, 278
images
displaying card images 112–118
instantiating grids of cards 115–116
loading images programmatically 112–113
displaying on billboards 245–246
ImagesManager.GetWebImage( ) method 246
image variable 112
importing
audio clips 268
supported file formats 253
inactive variable 275
indicators
Initialize( ) function 325
Input.GetAxis( ) method 39, 179
Input.GetMouseButtonDown method 53
Input.GetTouch( ) method 318
Input.touchCount 318
input fields, setting values with 162–163
Instantiate( ) method 65, 67, 115
instantiating
projectile prefabs, creating 68–70
integrating event systems 164–165
interacting with objects 203–208
colliding with physics-enabled obstacles 203–204
triggering doors with pressure plates 204–207
pop-up windows, creating 158–161
programming UI interaction 157–158
setting values using input fields 162–163
setting values using sliders 162–163
internet
downloading weather data from services 231–242
requesting HTTP data using coroutines 234–237
scenes based on weather data 241–242
interpolate 179
int parameter 270
intro-synth variable 269
inventory
setting up inventory managers 209–210
storing inventory in collection objects 214–216
displaying inventory items in 217–219
equipping key to use on locked doors 219–221
restoring health by consuming health packs 221–222
InventoryManager 209
iOS (Apple operating system)
isGrounded property 184
iTween animation system 352
JavaScript language, in browsers 315–318
JSListener 315
JSON (JavaScript Object Notation) 239–241
jump control 283
applying upward impulses 138
applying vertical speed 182–184
modifying ground detection 184–187
Jumping Boolean 196
keyboard controls, writing 131–132
keypresses
opening and closing doors on 198–200
keys, equipping for locked doors 219–221
Knuth algorithm 118
lambda function 247
LateUpdate( ) function 144, 176
lazy-loading 267
LeanTween engine 352
left-handed coordinates 28
Lerp 179
level design 78
levels
beating games by completing three 304–306
completing by reaching exits 296–298
losing when caught by enemies 298–300
lightmaps 174
light sources 31
List.Add( ) method 213
listening
for events from scenes 165–166
List objects, Dictionary objects vs. 214–216
loading player progress 300–304
local coordinate spaces, global vs. 36–37
localEulerAngles property 41
localRotation property 41
LocomotionCharge 64
LocomotionSlink 64
LookAt( ) method 177
Loop Pose 190
loops
assigning looping sounds 258–259
adding music controls to UI 270
importing audio clips 268
playing audio clips in AudioManager 269
setting up AudioSource for AudioManager 268
Loop Time 190
loop variable 269
manager-of-managers 209
managers, updating frameworks 278–279
mapping models, texture 346–350
matches
comparing revealed cards 119
hiding mismatched cards 119–120
storing revealed cards 119
scoring in card games 118–120–122
Mathf.Clamp( ) method 40
Maya animation software 339
Maya LT game development software, guide for 352
Mecanim animation system 93, 133–134, 189
MemoryCard.cs script 111
mesh elements 344
mesh geometry, building 343–346
MiniJSON 239
MissionManager script 292, 304, 305
missions, controlling flow of 292–294–296
deploying
to mobile platforms 9
mobile platforms, deploying to 9
MobileTestObject script 326
building mesh geometry 343–346
texture mapping models 346–350
models
choosing file formats 90
monitors, color-changing 202
MonoBehaviour class 17, 31, 56
MonoDevelop 338
mouse
input code 111
navigating scenes using 336–337
operating devices using 283–285
responding to input from 37–43
horizontal and vertical rotation at same time 41–43
horizontal rotation tracking mouse movements 38–39
vertical rotation with limits 39–41
MouseDown function 123
MouseEnter function 123
MouseExit function 123
code
for mouse input 111
mouse picking 52
MouseUp function 123
Move( ) method 46
movement
setting rate independent of computer speed 45–46
visualizing programming of 34
movement script 135
MovingPlatform script 141
Multiply shader 98
MVC (Model-View-Controller) 198
names, setting game names 311–312
NameToLayer( ) method 285
Near/Far clipping planes 281
networked billboards, adding 242–248
caching downloaded images for reuse 246–248
displaying images on billboards 245–246
loading images from internet 242–245
NetworkService.DownloadImage( ) method 247
NetworkService class 231
normal property 187
normals 173
No Shadows option, Inspector 173
ObjectiveTrigger script 298
OBJ file 80
obstacles
physics-enabled, colliding with 203–204
OnControllerColliderHit function 187
OnDestroy( ) method 166
OnDrawGizmos( ) method 141
OnEnemyHit( ) method 165
OnEquip( ) method 291
online learning resources 351–353
Agasper Android Notifications 353
DOTween 352
FMOD Studio 353
iTween 352
LeanTween 352
Play Games services from Google 353
post-processing stacks 352
prime[31] 353
Unify community wiki 352
Catlike Coding 352
game development at StackExchange 352
Maya LT guide 352
script references 351
Unity Learn tutorials 351
Unity manual 351
OnMouseDown( ) function 111
OnMusicToggle( ) method 272
OnMusicValue( ) method 272
OnOpenSettings( ) method 157
OnPointerDown( ) method 158
OnSoundToggle( ) method 265
OnSoundValue( ) method 264
OnSpeedValue( ) method 163
OnSubmitName( ) function 162
OnTriggerEnter( ) method 72, 206, 220
OnTriggerExit( ) method 206
OnUse( ) method 291
OnWeatherUpdated( ) method 241
OnXMLDataLoaded( ) method 237
OOP (object-oriented programming) 5
opening
checking distance and facing before 200–201
orbiting camera around characters 175–177
atmospheres controlled by code 228–230
generating sky visuals with skybox 227–228
OverlapSphere( ) method 200
parameters
adjusting default effects 95
overview 135
parents 30
parsing
particle effects, attaching to 3D objects 98–99
particle systems
adjusting parameters on default effects 95
applying textures for fire 95–98
attaching particle effects to 3D objects 98–99
Path.DirectorySeparatorChar 303
PCM (Pulse Code Modulation) 256
Photoshop editing software 340
PHP (hypertext preprocessor), server-side code in 250–251
Physics.Raycast( ) method 52, 54, 186
Physics.SphereCast( ) method 62
pixelHeight value 54
pixel-perfect 109
Pixels-Per-Unit setting 107
pixelWidth value 54
plans
laying out primitives according to 79–80
platform defines 312
platform-dependent compilations 312–313
applying upward impulses 138
implementing moving platforms 141–143
moving player left and right 130–133
writing keyboard controls 131–132
one-way platforms 140
playing sprite animations 133–136
triggering animations from code 135–136
using Mecanim animation system 133–134
setting up graphics for 128–130
importing sprite sheets 129–130
placing floors 129
placing walls 129
slopes 140
PlatformerPlayer script 131
platforms
one-way 140
PlatformTest script 313
Play( ) method 260
PlayerManager 209
Player object 33
PlayerPrefs method 163
players
beating games by completing three levels 304–306
saving and loading player progress 300–304
writing keyboard controls 131–132
setting up animations on 188–196
animator controllers, creating 192–195
defining animation clips in imported models 190–191
Play Games services from Google 353
PlayMusic( ) method 269
PlayOneShot( ) method 260, 269
PNG format 82
point-and-click controls, programming 280–285
operating devices using mouse 283–285
top-down view of scenes 281
PointClickMovement script 282
Pointer_stringify( ) method 316
point lights 31
popup sprite 159
pop-up windows
inventory, implementing 288–292
posting data to web servers 248–251
server-side code in PHP 250–251
post-processing stacks 352
#pragma strict directive 17
prefabs
pressure plates, triggering doors with 204–207
prime[31] plug-in 353
primitives, laying out according to plans 79–80
programmer art 77
programming external tools 338–340
3ds Max 339
Blender 340
Maya 339
SketchUp 340
progression of players 300–306
beating games by completing three levels 304–306
saving and loading player progress 300–304
projectiles
shooting by instantiating objects 68–73
creating projectile prefabs 68–70
adding visual indicators for aiming 54–57
adding visual indicators for hits 54–57
ScreenPointToRay command for 52–54
Pro Tools 341
provisioning profiles 320
Pyxel Edit drawing application 341
QuadsBox object 79
Quality settings, Inspector 313
Quaternion.Euler 176
Quaternion.Lerp( ) method 179
Quaternion.LookRotation( ) method 179
Quaternion.Slerp( ) method 283
quaternions 41
Random.Range( ) method 62, 115
Raycast( ) method 54
raycasting 50
adding visual indicators for aiming 54–57
adding visual indicators for hits 54–57
ScreenPointToRay command for 52–54
scripts
ReactiveTarget script 57, 63, 279
ReactToHit( )method 59
real-time shadow 174
Receive Shadows setting, Inspector 175
Refresh( ) method 288
RelativeMovement script 178
Remove Component option, Inspector 33
rendering 57
RequireComponent( ) method 48, 181
requireKey option 221
Resources.Load( ) method 217, 219, 267
Restart( ) method 125
programming UIButton components using SendMessage 123–124
restoring health, by consuming health packs 221–222
revealing cards on clicks 111–112
right-handed coordinates 28
Rigidbody2D.velocity 132
Rotate( ) method 35, 36, 39, 41
rotating
characters to face movement direction 178–180
horizontally and vertically at same time 41–43
horizontally tracking mouse movements 38–39
rotationX variable 40
RPGs (role playing games), building by repurposing projects 277–292
assembling assets from multiple projects 278–280
programming point-and-click controls 280–285
replacing GUI with new interface 285–292
SabreCSG 79
saving player progress 300–304
scenes
broadcasting events from 165–166
listening for events from 165–166
atmospheres controlled by code 228–230
generating sky visuals with skybox 227–228
placing objects in 34
separate for startups and levels 294–296
top-down view of 281
scoring matches in card games 118–120–122
scratch folder 76
ScreenPointToRay command, for shooting 52–54
Screen Space-Camera settting 150
Screen Space-Overlay setting 150
scripts
3D, attaching particle effects to 98–99
alerting targets when hit 58–60
colliding with physics-enabled obstacles 203–204
triggering doors with pressure plates 204–207
invisible, instantiating from 66–67
placing in scenes 34–
references 351
shooting by instantiating 68–73
creating projectile prefabs 68–70
storing inventory in collection objects 214–216
seamless tile 83
SendMessage( ) method 123–124, 201, 317, 324
sensitivityHor variable 38
serialize 240
SerializeField 66
serializing values 35
server-side code, in PHP 250–251
SetActive( ) method 112
SetCard( ) method 114
SetFloat( ) method 229
SetOvercast( ) method 230, 241
shader 87
shadows, adding to scenes 173–175
Shadow Type option, Inspector 173
shooting
by instantiating objects 68–73
creating projectile prefabs 68–70
adding visual indicators for aiming 54–57
adding visual indicators for hits 54–57
ScreenPointToRay command for 52–54
shortcuts, with keyboard 336–337
sideloading 322
SimpleJSON 239
skeletal animation 188
SketchUp modeling software 340
SkyboxBlended 228
skyboxes
generating sky visuals with 227–228
sky visuals
generating using texture images 86–89
creating skybox material 87–89
generating with skybox 227–228
Slerp (spherical linear interpolation) 179
sliced image 159
Slider object 295
sliders, setting values with 162–163
slopes 140
SmoothDamp function 144
solutions 20
file formats
for sound effects 253
assigning looping sounds 258–259
supported file formats 253
soundMute 264
soundVolume 264
instantiating from invisible scripts 66–67
SPEED_CHANGED listener 167
SphereCast( )method 61
SphereIndicator( ) method 55, 56
Sphere objects 31
spherical linear interpolation 179
spot lights 31
Sprite Packer 107
sprite property 113
SpriteRenderer component 113
sprites 104
animations
building card objects from 110
importing sprite sheets 129–130
triggering animations from code 135–136
using Mecanim animation system 133–134
sprite sheet 107
SSAO (screen space ambient occlusion) 4
StackExchange network, game development at 352
stacks, post-processing 352
StartCoroutine( ) method 56, 234, 237
StartupEvent script 292
startups, separate scenes for 294–296
state machines 63
static extern command 325
status property 210
storing revealed cards 119
SVN (Subversion) 339
SyntaxTree 338
table_top sprite 107
Targas (TGA) format 82
targetObject.SendMessage( ) method 124
target property 178
targets
alerting targets when hit 58–60
targets property 206
TestPostBuild script 310
Text Mesh component 121
texture images, generating sky visuals using 86–89
creating skybox material 87–89
texture mapping
overview 347
TexturePacker tool 340
textures, applying for fire 95–98
file formats
texture scenes, with 2D images 81–86
Texture Type setting 150
adjusting camera view for 172–177
adding shadows to scenes 173–175
orbiting camera around characters 175–177
implementing jump action 182–187
applying vertical speed 182–184
modifying ground detection 184–187
programming camera-relative movement controls 178–181
rotating character to face movement direction 178–180
setting up animations on player characters 188–196
creating animator controllers 192–195
defining animation clips in imported models 190–191
third-person views 172
this.gameObject.GetComponent( ) method 181
tileable image 83
tilemaps 139
time variable 144
touch input 318
T-pose 173
tracking character states 63
transform 29
transform.position 116
TransformDirection( ) method 47, 179
local vs. global coordinate spaces 36–37
visualizing movement programming 34
writing code to implement diagrams 34–36
Transition settings, Inspector 194
Translate( ) method 44, 62, 63
triggering
doors with pressure plates 204–207
sound effects from code 259–260
Catlike Coding 352
game development at StackExchange 352
Maya LT guide 352
script references 351
Unity Learn tutorials 351
Unity manual 351
UI (user interface)
adding music controls to 270
for inventory 216–217–219, 222
overview 120
playing sounds 266
UIButton, programming components using SendMessage 123–124
UIButton.cs script 123
UIController script 297
Unify community wiki 352
Unikron Software 103
UNITY_ANDROID platform 329
Unity platform
deploying to desktop platforms 8
deploying to mobile platforms 9
Learn tutorials 351
manual 351
Unity Player, HTML5/WebGL vs. 313
UnityPlayer.UnitySendMessage( ) method 331
UnityScript 17
UnitySendMessage( ) method 327
UnityWebRequest class 234, 242, 246
Unreveal( ) method 120
unwrapping 347
Update( ) method 17, 34, 55, 200, 283
UpdateData( ) method 300
updating managers frameworks 278–279
UV coordinates 347
UV unwrapping 347
values
setting using input fields 162–163
VCS (version control system) 339
Vector3.ClampMagnitude( ) method 46, 181
Vector3.Dot( ) method 201
vectors 41
velocity variable 144
Vertex Selection mode, Blender 343
vertSpeed variable 183
viewpoints
top-down view of scenes 281
visualizing movement programming 34
volume
VR (Virtual Reality) 312
WaitForSeconds( ) method 234
walking, adjusting components for 47–49
walls
placing in platformer games 129
WanderingAI script 62, 63, 279
WeatherController script 229
weather data
downloading from internet services 231–242
requesting HTTP data using coroutines 234–237
WeatherManager class 231
web, building games for 313–318
building games embedded in web pages 315
communicating with JavaScript in browsers 315–318
Unity Player vs. HTML5/WebGL 313
WebLoadingBillboard script 245, 246
web servers, posting data to 248–251
server-side code in PHP 250–251
laying out primitives according to plans 79–80
overview of 78
World Space setting 150
WWWForm object 249
Xcode project 320
XML (eXtensible Markup Language), parsing 237–239