Getting Started with Unity 4.x
Understanding and optimizing the User Interface
Saving assets created in Unity as Prefabs
Importing Unity packages into your project
Importing custom packages into your project
Exporting custom packages from your project
Adding custom packages to Unity's quick list
Creating a picture-in-picture effect
Switching between multiple cameras
Customizing the lens flare effect
Making textures from screen content
Creating particle effects using Shuriken
Creating a reflective material
Creating a self-illuminated material
Creating specular texture maps
Creating transparency texture maps
Using cookie textures to simulate a cloudy outdoor
Creating a color selection dialog
Combining textures in real time through the GUI
Highlighting materials at mouse over
Animating textures by looping through array of materials (for example, simulated video)
Disabling culling for a material
Displaying a compass to show player direction
Displaying a radar to indicate relative locations of objects
Displaying images for corresponding integers
Displaying images for corresponding floats and ranges
Displaying a digital countdown timer
Displaying a countdown timer graphically (5, 4, 3, 2, 1 – blast off)
Displaying a countdown timer graphically as a pie-chart style clock
Creating a message that fades away
Displaying inventory texts for single object pickups
Displaying inventory icons for single object pickups
Managing inventories with a general purpose PickUp class
Controlling the scrollbar with the mouse wheel
Implementing custom mouse cursor icons
Configuring a character's Avatar and Idle animation
Moving your character with Root Motion and Blend Trees
Mixing animations with Layers and Masks
Overriding Root Motion via script
Adding rigid props to animated characters
Making an animated character throw an object
Applying ragdoll physics to a character
Rotating the character's torso to aim
Playing and Manipulating Sounds
Matching audio pitch to animation speed
Adding customizable volume controls
Simulating a tunnel environment with Reverb Zones
Preventing the AudioClip from restarting if already playing
Waiting for audio to finish before auto-destructing an object
Working with External Resource Files and Devices
Loading external resource files – by Unity Default Resources
Loading external resource files – by manually storing files in Unity's Resources folder
Loading external resource files – by downloading files from the Internet
Saving and loading player data – using static properties
Saving and loading player data – using PlayerPrefs
Saving screenshots from the game
Control characters in Unity with the Microsoft Kinect using the Zigfu samples
Animating your own characters with the Microsoft Kinect controller
Homemade mocap by storing movements from the Microsoft Kinect controller
Setting up a leaderboard using PHP/MySQL
Working with External Text Files and XML Data
Loading external text files using the TextAsset public variable
Loading external text files using C# file streams
Saving external text files with C# file streams
Loading and parsing external XML files
Creating XML text data manually using XMLWriter
Creating XML text data automatically through serialization
Creating XML text files – saving XML directly to text files with XMLDocument.Save()
Managing Object States and Controlling Their Movements
Controlling cube movement through player controls
Controlling object look-at behavior
Controlling object-to-object movements (seek, flee, follow at a distance)
Controlling object group movement through flocking
Firing objects by instantiation with forward velocity
Finding the nearest spawn point
Following waypoints in a sequence
Managing object behavior with states
Managing complex object behavior with the state pattern
Improving Games with Extra Features and Optimization
Implementing 3D stereography with polarized projection
Preventing your game from running on unknown servers
Identifying performance "bottlenecks" with code profiling
Reducing the number of objects by destroying objects at a "death" time
Reducing the number of enabled objects by disabling objects whenever possible
Improving efficiency with delegates and events (and avoiding SendMessage!)
Executing methods regularly but independent of frame rate with coroutines
Spreading long computations over several frames with coroutines
Caching, rather than component lookups and "reflection" over objects
Dynamically focusing objects with Depth of Field
Simulating underwater ambience with audio filters