full details

Additional Features, improvements, and changes
Unity is a lot of things to a lot of people, so of course we added lots more for your development pleasure.
Asset Bundles

* All types of assets in the Project View can exported as a compressed asset bundle.
* The asset bundle file can be streamed through the WWW class. This makes it possible to stream all assets on demand, as characters or other assets come into view.
* Assets in asset bundles can be loaded by name or through a designated "main asset" for easy prefab instantiation.
* Asset bundles can contain additional scene files and their dependencies. This can be combined with asset bundle cross dependencies.
* Asset bundles and all their loaded assets can be unloaded explicitly through AssetBundle.Unload function.

Web Player

* PlayerPrefs now work in the Web Player! Use them to store persistent data on the client machine.
* Joysticks and mice are now hot swappable on OS X web players

Editor

* Undo and Redo for all scene operations!
* Unity Editor can now natively import .DDS texture files.
* Added "Split tangents across UV seams" option to mesh import settings, most often used for bumpmapped characters.
* Arrays of booleans, Vector2, Vector4, Rect, LayerMask are shown in the Inspector now.
* Game View statistics window displays video memory size used by the screen, total video memory usage and skinning/animation statistics.
* Assets->Reimport and Assets->Import Settings now works recursively for folders.
* Help menu and the Console window have buttons to open Editor and Player logs.
* Renamed Open and Save menu entries Open Scene and Save Scene.
* Added warning when importing scripts and shaders that use mixed CR & LF line endings.
* Ogg Vorbis encoding bitrate expanded to 16..320 kbps (previously was 56..256 kbps).
* .ogv files are recognized as Theora movies. Exporting movie to a file also uses .ogv extension.

Editor Extensibility

* New EditorWindow class lets you create a window in which you can draw custom GUI. Use it to create your own game design tools!
* Editor classes AssetImporter, TextureImporter, MeshImporter have been renamed to AssetPostprocessor. Be ready to update your asset post-processing scripts.
* Introduced OnAssignMaterial for overriding the default material assignment behaviour.
* Introduced OnPostprocessAllAssets for tracking any changes to assets from editor scripts.
* Import settings for textures and models are now exposed and can be modified from AssetPostprocessor to customize the asset import pipeline.
* Added AssetDatabase class with functions to import, delete, create Assets, and create, instantiate, update Prefabs.

Asset Server

* Server view now shows a quick summary of changes and conflicts at the top of the view.
* Improved performance of Asset Server Status and Update commands by 10x.
* Added a feature to update entire project to any previous Asset Server version.
* Reduced connection timeout from 60 to 15 seconds when connecting to the Asset Server.
* Much reduced false positives of changed Prefabs, Materials and Scripts.
* Commit message in Asset Server is now a lot faster.
* Improved displayed message when trying to commit without commit access rights.

Terrain Engine

* Multiple terrains can be included in a single scene.
* Terrains can now be moved and connected. LOD across terrain edges can be matched with Terrain.SetNeighbors.
* Terrains have an additional "Pixel Lit" render mode. Shadows on terrains finally work!
* VertexLit terrain lighting mode supports point lights now. Spot lights are treated as point lights.
* Projectors work on terrain.
* Terrain can be displayed in wireframe mode in Scene View.
* Terrain textures, tree types, and detail object types can be removed from Terrain Inspector.

Graphics & Shaders

* Added rendering with shader replacement. See Camera.RenderWithShader and Camera.SetReplacementShader – it's The Bomb :-)
* RenderTextures with high precision "depth" format can be created (see RenderTextureFormat).
* Shader Model 3.0 level shaders can be created by using #pragma target 3.0 compilation directive.
* Improved support for lightmapping inside of Unity. Each renderer now has a per-renderer offset & scale value for the lightmap and a index into a set of lightmaps available in each scene.
* Added Particle render modes for rendering particles that always face up right and particles that always lie flat down.
* Shader compiler is multithreaded, usually resulting in about 2x speedup.
* Much reduced "double lighting" artifacts on Direct3D on close or intersecting geometry when pixel lights are used!
* Re-enabled fragment programs, shadows and render-to-cubemap on Intel GMA X3100 on Mac OS X 10.5.3 and up (driver bugs got fixed).
* Upgraded Cg to version 2.0, January 2008. Improves code generation a bit and fixes some bugs.
* On graphics card with 512MB or more video memory, Unity allows higher shadowmap resolutions.
* ShaderLab: added RequireOptions=SoftVegetation pass tag, IgnoreProjector=True subshader tag, LightmapMode texture property.
* Combine Children script supports mesh vertex colors now. This requires you to reimport the Standard Assets package!
* Much improved handling of "out of video memory" situations:
o Automatic reduction of anti-aliasing level if memory required by screen would not sanely fit into VRAM.
o Automatic down-scaling of textures that are within hardware limits but are too large to sanely fit into free VRAM.
o Automatic reduction of shadowmap resolution when running close to video memory limits. Fixes major slowdowns or machine hangs with large resolutions, high anti-aliasing settings, large shadowmaps and not-so-large VRAM amounts.

Networking

* Better support for limiting transmission of communication groups. Both SetSendingEnabled() and SetReceivingEnabled() now allow modification on the group level or network player level.
* Proxy relay support for clients and server. Servers can get their incoming connections relayed through a proxy server and clients can get their outgoing connections relayed as well.
* Direct relevant set support. Network views can be in or out of scope relevant to specific network players.
* NetworkViewID can now be serialized during state synchronization.

Scripting
Animation & Skinning:

* Added API to procedurally generate animated characters, stitch multiple character pieces into one character at runtime to reduce draw calls, or reassign bones to different characters.
* Added API for creating Animation Events that are invoked when the animation clip is played back and passes the specified time. You can now easily spawn particles, play sounds and so on, all synced to animation.
* Individual Animation Curves can be created from scripts and used as response curves.
* Material properties can now be animated using animation clips. Any material property including UV tiling, UV rotation, float properties, Color properties and Vectors can be animated using Animation Clips.
* Editor API for accessing AnimationClip curves, animation states and sampling the current state of a specific animated property of any scene object.
* You can assign animation curves to animation clips.
* Renamed AnimationCurve's preInfinity, postInfinity to preWrapMode, postWrapMode.

Graphics:

* Added Graphics.DrawMesh that draws a model, while taking all lighting, shadowing, projectors and whatnot into account.
* Renamed Graphics.DrawMesh to Graphics.DrawMeshNow. Graphics.DrawMesh does other things now...
* Exposed Light's shadowStrength, shadowConstantBias, shadowObjectSizeBias properties to scripting.
* Added Texture2D.LoadImage(byte[]) function to load a JPG or PNG from a byte array.
* Shader.name now returns the actual name of the shader (same as used in Shader.Find), not the filename.

Other:

* Added Application.LoadLevelAdditive. Incredibly useful for creating continous virtual worlds, where more content is loaded as you walk through the environment.
* Seeking in played sounds via AudioSource.time!
* JavaScript now supports virtual keyword!
* System.Environment.CommandLine and System.Environment.GetCommandLineArgs() works in editor and standalone players.
* Added TextAsset.bytes.
* GetComponent now works correctly with abstract classes and interfaces.
* WWW files can now be cancelled while they are downloading.
* Input.GetKey API now supports Keycode enum instead of string based queries for improved performance.
* 50% faster GetComponent or component accessors. Heavily reduced memory allocations which reduces strain on the garbage collector, further improving speed.
* A warning is given in the editor when user script has the same name as a built-in Unity component.
* Added warning when creating MonoBehaviour from code incorrectly using the new keyword.

Other improvements

* Multiple Audio Sources can now be added to a single Game Object.
* Standalone Windows games can use arbitrarily sized windowed resolutions (window sizes no longer limited to list of display resolutions).
* ShaderLab reference moved from Manual into Reference. Much expanded documentation regarding Cg shader programs.
* Improved performance for animation sampling with deep hierarchies where not all transforms are animated.
* On OS X, Unity won't print to global system console anymore. Editor prints to ~/Library/Logs/Unity/Editor.log, and players print to ~/Library/Logs/Unity/Player.log (both can be viewed through Console.app, or opened from Unity's Help menu).
* Improved performance when downloading large WWW files.
* PlayerPrefs are now stored in the same place as the published standalone player and not in the Unity Editor preferences file.