Index
A
- active scene, Unity
- changing / Immortal objects
- AI
- games / Artificial Intelligence in games
- animation
- using, with camera / Cameras and animation
- animation curves
- URL / Cameras and curves
- Animation System, Unity
- Animator.StringToHash
- arrays
- AssetBundles
- and external files / AssetBundles and external files
- URL / AssetBundles and external files
- AssetDatabase class
- URL / Procedural meshes
- Attack state
- creating / Creating the Attack state
- Awake
- versus Start / Understanding singleton objects and statics
- Awake function / Finite State Machines in C# – getting started
- Axially Aligned Bounding Box (AABB) / Frustum testing – renderers
B
- batch renaming functionality
- about / Batch renaming
- bitwise operations
- Blender
- URL / Starting the project
- BroadcastMessage
- about / SendMessage and BroadcastMessage
- URL / SendMessage and BroadcastMessage
- online resources / SendMessage and BroadcastMessage
- BuildPipeline.BuildAssetBundle
C
- C#
- need for / Why C#?
- about / Why C#?
- selecting / Why C#?
- properties / C# properties
- URL / Error logging
- Finite State Machines (FSMs) / Finite State Machines in C# – getting started
- C# attributes
- about / C# attributes and reflection
- URL / C# attributes and reflection
- C# delegates
- C# properties
- about / C# properties
- and Unity / C# properties
- URL / C# properties
- call stack / Debugging with MonoDevelop – call stack
- camera
- using, with animation / Cameras and animation
- follow camera / Follow cameras
- camera fly-throughs / Cameras and animation
- camera gizmos
- about / Camera gizmos
- camera rendering
- cameras
- using, with curves / Cameras and curves
- paths / Camera paths – iTween
- camera shakes
- about / Camera shake
- CDATA
- URL / Localization
- ChangeHealth function / Creating the Seek-Health (or flee) state
- ChangeHealth method / Creating the Seek-Health (or flee) state
- Chase state
- creating / Creating the Chase state
- classes
- and object-oriented programming / Classes and object-oriented programming
- URL / Classes and object-oriented programming
- and inheritance / Classes and inheritance
- and polymorphism / Classes and polymorphism
- code, Unity
- compiling / Creating script files
- code folding, MonoDevelop
- #region directive, using / Code folding in MonoDevelop with #region and #endregion
- #endregion directive, using / Code folding in MonoDevelop with #region and #endregion
- EventManager, using / Using EventManager
- delegates / Alternative with delegates
- MonoBehaviour events / MonoBehaviour events
- mouse events / Mouse and tap events
- tap events / Mouse and tap events
- OnApplicationQuit / Application focus and pausing
- OnApplicationFocus / Application focus and pausing
- OnApplicationPause / Application focus and pausing
- application focus / Application focus and pausing
- collection
- about / Lists and collections
- ColorBlend class / Color blending
- color blending
- about / Color blending
- ColorRangeAttribute class / Color blending
- commenting
- about / Commenting
- compilation errors
- component / The GameObject
- component interactions
- about / Component interactions
- GetComponent / GetComponent
- multiple components, obtaining / Getting multiple components
- messages / Components and messages
- conditional breakpoints / Debugging with MonoDevelop – conditional breakpoints
- conditional statements
- about / Conditional statements
- if statement / The if statement
- switch statement / The switch statement
- console
- Coroutines
- about / Mouse and tap events
- URL / Mouse and tap events, Creating the Idle state
- CSV files
- Text Assets, loading from / Text Assets – loading from the CSV files
- curves
- using, with cameras / Cameras and curves
- CustomPropertyDrawer attribute / Color blending
D
- 3DMotive video course
- Debug.Log
- debugging / Debugging with Debug.Log – custom messages
- statements, removing / Debugging with Debug.Log – custom messages
- Debug.Log function
- URL / The if statement
- debugging
- MonoDevelop, using / Debugging with MonoDevelop – getting started
- debugging, MonoDevelop used
- starting with / Debugging with MonoDevelop – getting started
- Watch window / Debugging with MonoDevelop – the Watch window
- continue program execution / Debugging with MonoDevelop – continue and stepping
- stepping / Debugging with MonoDevelop – continue and stepping
- call stack / Debugging with MonoDevelop – call stack
- Immediate window / Debugging with MonoDevelop – the Immediate window
- conditional breakpoints / Debugging with MonoDevelop – conditional breakpoints
- tracepoints / Debugging with MonoDevelop – tracepoints
- defines
- removing / Overriding the ToString method
- delegates
- about / Alternative with delegates
- deltaTime variable / Rule #2 – motion must be relative to time
- dictionaries
- about / Creating an EventManager
- URL / Creating an EventManager
- Dictionary class
- URL / Creating an EventManager
- about / The Dictionary class
- DontDestroyOnLoad function / Immortal objects
E
- #endregion directive
- used, for code folding in MonoDevelop / Code folding in MonoDevelop with #region and #endregion
- editor debugging / Editor debugging
- EditorGUI
- URL / Color blending
- empty strings / Null, empty strings, and white space
- enumeration (enum)
- about / The switch statement
- benefit / The switch statement
- URL / The switch statement
- error logging / Error logging
- event
- about / Events
- Event Listener / Event management
- event management
- about / Event management
- Event Listener / Event management
- Event Poster / Event management
- Event Manager / Event management
- starting, with interfaces / Starting event management with interfaces
- EventManager, creating / Creating an EventManager
- EventManager
- creating / Creating an EventManager
- using / Using EventManager
- Event Manager
- about / Event management
- Event Poster / Event management
- events
- about / Events
- external files
- and resources folder / Resources folder and external files
- and AssetBundles / AssetBundles and external files
F
- files, Git
- ignoring / Step #5 – ignoring files
- changing / Step #7 – changing files
- obtaining, from repository / Step #8 – getting files from the repo
- FindObjectsOfType function / Iterating through enemies with IEnumerator
- FindPropertyRelative method / Color blending
- Finite State Machines (FSMs)
- in Mecanim / Finite State Machines in Mecanim
- in C# / Finite State Machines in C# – getting started
- first commit, Git
- creating / Step #6 – creating the first commit
- FixedUpdate event / The world, time, and updates
- follow camera
- about / Follow cameras
- foreach loop
- about / The foreach loop
- URL / The foreach loop
- for loop
- about / The for loop
- URL / The for loop
- Format function / Overriding the ToString method
- frame
- Frames Per Second (FPS) / The world, time, and updates
- frames per second (FPS) / Events
- functions
G
- GameObject
- about / The GameObject
- GameObject.Find function
- URL / Finding GameObjects
- GameObject.FindGameObjectWithTag function / Finding GameObjects
- GameObjects
- about / GameObjects and the world
- searching / Finding GameObjects
- comparing / Comparing objects
- nearest object, obtaining / Getting the nearest object
- specified type object, searching / Finding any object of a specified type
- clearing, path between / Clearing a path between GameObjects
- hierarchies, accessing / Accessing object hierarchies
- games
- GetComponent function
- about / GetComponent
- URL / GetComponent
- GetComponents function
- about / Getting multiple components
- URL / Getting multiple components
- GetEnumerator method / Iterating through enemies with IEnumerator
- GetGameViewSize function / Camera gizmos
- GetNearestHealthRestore method / Creating the Seek-Health (or flee) state
- GetPixelFromArray function / Step 2 – creating a texture painting script
- GetPixels function
- Git
- source control / Git – source control
- downloading / Step #1 – downloading
- URL / Step #1 – downloading
- Unity project, building / Step #2 – building a Unity project
- Unity, configuring for source control / Step #3 – configuring Unity for source control
- repository, creating / Step #4 – creating a Git repository
- files, ignoring / Step #5 – ignoring files
- first commit, creating / Step #6 – creating the first commit
- files, changing / Step #7 – changing files
- files, obtaining from repository / Step #8 – getting files from the repo
- repository, browsing / Step #9 – browsing the repo
- gizmos, Game tab
- about / Visual debugging
- URL / Visual debugging
- Gizmos.DrawFrustum function / Camera gizmos
H
- Hanoi puzzle game
- URL / The Stack class
- HaveLineSightToPlayer function / Creating the Patrol state
I
- Idle state
- creating / Creating the Idle state
- IEnumerable
- about / IEnumerable and IEnumerator
- IEnumerator
- about / IEnumerable and IEnumerator
- used, for iterating through enemies / Iterating through enemies with IEnumerator
- if-else statement / The if statement
- if statement, conditional statements
- about / The if statement
- URL / The if statement
- Immediate window / Debugging with MonoDevelop – the Immediate window
- immortal objects / Immortal objects
- infinite arguments
- about / Infinite arguments
- infinite loops
- about / Infinite loops
- inheritance
- and classes / Classes and inheritance
- URL / Classes and inheritance
- using / Classes and inheritance
- INI files
- Text Assets, loading from / Text Assets – loading from the INI files
- Integrated Development Environment (IDE) / Debugging with Debug.Log – custom messages
- interfaces
- used, for starting event management / Starting event management with interfaces
- Invoke function
- URL / Components and messages
- IsNullOrWhiteSpace method / Null, empty strings, and white space
- iTween
- about / Camera paths – iTween
- URL / Camera paths – iTween
L
- Last in, first out (LIFO) model / The Stack class
- LateUpdate event / The world, time, and updates
- level-loading functions
- URL / Immortal objects
- Lightmapping
- URL / Starting the project
- LineCast method / Frustum testing – occlusion
- LINQ
- about / Language Integrated Query
- URL / Language Integrated Query
- using, with regular expressions / Linq and regular expressions
- List class
- about / The List class
- URL / The List class
- lists
- storing / Lists and collections
- local files
- Text Assets, loading from / Text Assets – loading from the local files
- localization
- about / Localization
- localPosition
- versus position / GetComponent
- loops
- about / Loops
- foreach loop / The foreach loop
- for loop / The for loop
- while loop / The while loop
- infinite loops / Infinite loops
M
- Mathf.Clamp function / C# attributes and reflection
- Mecanim
- Finite State Machines (FSMs) / Finite State Machines in Mecanim
- Mecanim animator graph / Finite State Machines in Mecanim
- messages / Components and messages
- modify (mod) game content / AssetBundles and external files
- MonoBehaviour.Invoke
- URL / Finding GameObjects
- MonoBehaviour class
- MonoBehaviour events
- about / MonoBehaviour events
- URL / MonoBehaviour events
- OnApplicationQuit / Application focus and pausing
- OnApplicationPause / Application focus and pausing
- OnApplicationFocus / Application focus and pausing
- MonoDevelop / Creating script files
- code folding, with #region directive / Code folding in MonoDevelop with #region and #endregion
- code folding, with #endregion directive / Code folding in MonoDevelop with #region and #endregion
- Mono framework
- List class / The List class
- Dictionary class / The Dictionary class
- Stack class / The Stack class
- motion
- relative, to time / Rule #2 – motion must be relative to time
- creating / Rule #2 – motion must be relative to time
- mouse events
- OnMouseDown / Mouse and tap events
- OnMouseEnter / Mouse and tap events
- OnMouseExit / Mouse and tap events
- multiple components
- obtaining / Getting multiple components
- multiple defines
- adding / Overriding the ToString method
N
- navigation mesh
- baking / Baking a navigation mesh
- URL / Baking a navigation mesh
- non-player character (NPC) / Classes and polymorphism, Artificial Intelligence in games
- NPC agent
- starting / Starting an NPC agent
- null string / Null, empty strings, and white space
O
- ? operator
- about / The ? operator
- object-oriented programming
- and classes / Classes and object-oriented programming
- Object Inspector / Instantiating scripts
- object visibility
- about / Being seen, More on the object visibility
- detecting / Detecting the object visibility
- frustum testing, with renderers / Frustum testing – renderers
- frustum testing, renderers / Frustum testing – renderers
- frustum testing, with points / Frustum testing – points
- frustum testing, with occlusion / Frustum testing – occlusion
- front camera vision / Camera vision – front and back
- back camera vision / Camera vision – front and back
- occlusion
- used, for frustum testing / Frustum testing – occlusion
- off-mesh links
- URL / Baking a navigation mesh
- OnApplicationFocus / Application focus and pausing
- OnApplicationPause / Application focus and pausing
- OnApplicationQuit / Application focus and pausing
- OnBecameInvisible function
- OnBecameVisible function
- OnGUI function / Color blending
- OnLevelWasLoaded event
- URL / Creating an EventManager
- OnSave function / Components and messages
- OnWizardCreate function / Batch renaming
- orthographic cameras
- about / Orthographic cameras
P
- PaintSourceToDestTexture function / Step 2 – creating a texture painting script
- Patrol state
- creating / Creating the Patrol state
- persistent data / Persistent data and saved games
- points
- used, for frustum testing / Frustum testing – points
- polymorphism
- and classes / Classes and polymorphism
- URL / Classes and polymorphism
- position
- versus localPosition / GetComponent
- PostNotification function / Creating an EventManager, Alternative with delegates
- postprocessing / Camera rendering and postprocessing
- Print function / The if statement
- procedural meshes
- about / Procedural meshes
- profiler
- using / Using the profiler
- property
- exposing / Property exposing
- PropertyDrawer class
- URL / Color blending
Q
- Quads
- creating / Procedural meshes
- Quaternion.Slerp
- URL / Follow cameras
R
- #region directive
- used, for code folding in MonoDevelop / Code folding in MonoDevelop with #region and #endregion
- Random.Range function / Creating the Patrol state
- RaycastHit.textureCoord
- reflection / SendMessage and BroadcastMessage
- about / C# attributes and reflection
- regular expressions
- about / Strings and regular expressions, Regular expressions
- URL / Regular expressions
- using, with LINQ / Linq and regular expressions
- renderers
- used, for frustum testing / Frustum testing – renderers
- repository
- about / Git – source control
- files, obtaining / Step #8 – getting files from the repo
- browsing / Step #9 – browsing the repo
- Resources.Load function / Resources folder and external files
- Resources class
- URL / Localization
- resources folder
- and external files / Resources folder and external files
- URL / Resources folder and external files
- revision control
- about / Git – source control
- revision control, needs
- collaboration / Git – source control
- reverting / Git – source control
- changes, tracking / Git – source control
- histories / Git – source control
S
- @ symbol / Linq and regular expressions
- saved games
- about / Persistent data and saved games
- SayGreeting function / Classes and polymorphism
- ScriptableWizard class
- URL / Batch renaming
- script files
- creating / Creating script files
- URL / Creating script files
- scripts
- instantiating / Instantiating scripts
- scrolling textures
- Seek-Health (Flee) State
- creating / Creating the Seek-Health (or flee) state
- SendMessage
- about / SendMessage and BroadcastMessage
- URL / SendMessage and BroadcastMessage
- online resources / SendMessage and BroadcastMessage
- serialization process / Persistent data and saved games
- SerializedProperty
- URL / Color blending
- SerializeField class
- URL / Property exposing
- SetPixel function / Step 2 – creating a texture painting script
- SetPixelInArray function / Step 2 – creating a texture painting script
- SetPixels function / Step 2 – creating a texture painting script
- SetTrigger function / Creating the Idle state
- singleton objects
- Skybox
- about / Skybox
- source control / Git – source control
- Stack class
- about / The Stack class
- Start
- versus Awake / Understanding singleton objects and statics
- StartCoroutine function / Creating the Idle state
- Start function / Events, Step 2 – creating a texture painting script
- State_Idle function / Creating the Idle state
- statics
- StreamWriter
- URL / Error logging
- String.Compare function / String comparison
- String.Compare method
- URL / String comparison
- String.Format function
- String.GetHashCode function
- URL / String comparison
- String.IndexOf method / Searching strings
- strings
- about / Strings and regular expressions
- null / Null, empty strings, and white space
- white space / Null, empty strings, and white space
- empty strings / Null, empty strings, and white space
- comparison / String comparison
- formatting / String formatting
- looping / String looping
- creating / Creating strings
- searching / Searching strings
- @ symbol / Linq and regular expressions
- StringToHash function / Finite State Machines in C# – getting started
- switch statement, conditional statements
- about / The switch statement
- URL / The switch statement
T
- Text Assets
- static loading / Text Assets – static loading
- loading, from local files / Text Assets – loading from the local files
- loading, from INI files / Text Assets – loading from the INI files
- loading, from CSV files / Text Assets – loading from the CSV files
- loading, from Web / Text Assets – loading from the Web
- Text Data Assets
- working with / Working with Text Data Assets
- Text Assets / Text Assets – static loading
- texture blending shader
- creating / Step 1 – creating a texture blending shader
- texture painting
- about / Texture painting
- texture blending shader, creating / Step 1 – creating a texture blending shader
- script, creating / Step 2 – creating a texture painting script
- setting up / Step 3 – setting up texture painting
- texture painting script
- creating / Step 2 – creating a texture painting script
- Time class / The world, time, and updates
- TortoiseGit
- URL / Step #1 – downloading
- ToString function / The while loop, Debugging with Debug.Log – custom messages
- ToString method
- overriding / Overriding the ToString method
- tracepoints / Debugging with MonoDevelop – tracepoints
- Transform component / The GameObject
U
- Unity
- and C# properties / C# properties
- configuring, for source control / Step #3 – configuring Unity for source control
- Unity console / The if statement
- Unity documentation
- Unity Editor, customizing
- batch renaming functionality / Batch renaming
- C# attributes / C# attributes and reflection
- reflection / C# attributes and reflection
- color blending / Color blending
- property, exposing / Property exposing
- localization / Localization
- Unity GUI Layout
- URL / Editor debugging
- Unity hot keys
- list, URL / Editor debugging
- Unity Profiler
- URL / Using the profiler
- Unity project
- creating / Starting the project
- Unity project, Git
- building / Step #2 – building a Unity project
- Update event / The world, time, and updates
- Update function / Functions, Events, Creating the Patrol state, Step 2 – creating a texture painting script
- updates
- rules / Rule #1 – frames are precious
- UpdateScore function / Functions
- UVs
- animating / Animating UVs – scrolling textures
V
- variables
- variable visibility
- about / Variable visibility
- Vector3.SmoothDamp
- URL / Follow cameras
- visual debugging / Visual debugging
- Visual iTween Path Editor
- URL / Camera paths – iTween
W
- Watch window / Debugging with MonoDevelop – the Watch window
- Web
- Text Assets, loading from / Text Assets – loading from the Web
- while loop
- about / The while loop
- URL / The while loop
- white space / Null, empty strings, and white space
- Wizard class / Iterating through enemies with IEnumerator
- WizardEnumerator class / Iterating through enemies with IEnumerator
- WWW class