Unity Changelog

New in version 4.6.3 Patch 1

February 26th, 2015
  • Features:
  • Support for Intel RealSense plugin in Unity Free.
  • Improvements:
  • iOS/Metal: Optimized static batching and dynamic geometry handling.
  • Changes:
  • iOS: Bumped the lowest supported iOS version to 5.1 due to Apple's requirements.
  • Input: Changed Input.GetJoystickNames() on Windows to always match names to joystick numbers, similar to most other platforms.
  • Fixes:
  • (673733) - AI: Fixed potential hang when NavMesh connecting wrong side of thin polygons to neighbor tile.
  • (671823) - Asset Management: Show the path to the YAML meta file when there is an error reading it.
  • (671820) - Editor: Fixed scene view Show Mips visualization.
  • (670887) - IL2CPP / Raknet : Fixed RPC call registration not working on IL2CPP backend.
  • (669983) - iOS/IL2CPP: Allow the LogInAsync method in the ParseSDK to work correctly.
  • (667476) - iOS/IL2CPP: Always initialize type information before accessing static fields.
  • (none) - iOS/IL2CPP: Fixed Array.CopyTo() fast path, which was doing the wrong thing when the source array was a value type and destination array was not.
  • (674680), (674310) - iOS/IL2CPP: Fixed a problem with shift operators, resulting in problems with MD5 calculation, crypto, amongst other things.
  • (670763) - iOS/IL2CPP: Fixed a case where having throw statement at the end of a method would cause IL2CPP to crash.
  • (670763) - iOS/IL2CPP: Fixed array marshaling when passing an incorrect argument.
  • (672704) - iOS/IL2CPP: Fixed code generation for delegates having parameters tagged with the Out attribute.
  • (673787) - iOS/IL2CPP: Handle NULL const string values.
  • (671597) - iOS/IL2CPP: Handle out and ref marshaling of a delegate with a struct that has no instance fields.
  • (671790) - iOS/IL2CPP: Implemented Assembly.GlobalAssemblyCache so that is always returned false.
  • (667476) - iOS/IL2CPP: Implemented MethodBase.GetMethodFromHandle with two arguments for a non-generic type.
  • (670763) - iOS/IL2CPP: Implemented Assembly.GetName().
  • (670763) - iOS/IL2CPP: Implemented marshaling support for explicit struct layouts.
  • (670763) - iOS/IL2CPP: Implemented missing Marshal.PtrToStructure overload which takes object reference.
  • (671992), (667779) - iOS/IL2CPP: Implemented marshaling of the System.Runtime.InteropServices.HandleRef type.
  • (674057) - iOS: Fixed iPad Mini 3rd gen detection.
  • (670115) - iOS: Fixed on-screen keyboard not playing nicely with forced screen orientation.
  • (674115), (673324) - iOS: Fixed splash screen issues in non-Pro mode.
  • (668511) 672455) - iOS: Improved Xcode project parser robustness for invalid input.
  • (none) - Mono compiler: Fixed issue with incorrect IL being generated in some cases for iterator finally blocks.
  • (none) - Oculus: Resolved Build Settings issue where Standalone players were not receiving the correct Build Settings when Oculus Plugin was present in project.
  • (none) - OpenGL ES 3: Fixed half RT formats being set to "not supported" incorrectly.
  • (671767) - Physics 2D: Fixed a behaviour issue in Box2D itself where non-dynamic/dynamic contacts always use continuous collision detection.
  • (670509) - Physics 2D: Fixed inaccurate 2D OverlapArea, OverlapAreaAll & OverlapAreaNonAlloc query methods.
  • (671011) - Physics 2D: Fixed incorrect calculation of fraction & distance using Physics2D BoxCast/CircleCast methods (and variants).
  • (673261) - Physics 2D: OnJointBreak() will no longer have garbage passed in as the breaking force. Note that under Unity 4.6, it is not possible to report the actual force the joint was subject to when it broke; OnJointBreak will be passed the joint's configured maximum force. This behaviour is fixed in Unity 5 to report the actual force that broke the joint.
  • (655473) - Serialization: Changed serialization of materials and OGG audio streams to eliminate non-deterministic behaviour when building players and asset bundles.
  • (670061) - Shadows: Fixed precision issues with large non-receiver objects in deferred.
  • (645835) - SpritePacker: Set SpriteAtlas Texture as Non-readable to prevent Redundant Memory Use. (SpritePacker only considers Non-readable Sprites for packing anyway).
  • (669893), (654565) - UI: Fixed overriding/inheriting of pixel perfect status in child canvases.
  • (647488) - Webplayer: Fixed Windows webplayer crash when requested window area was 0.
  • (638724) - Windows Phone 8: Modified MainPage.xaml.cs to account for devices that don't have hardware buttons.
  • (none) - Windows Phone/Windows Store Apps: Capabilities are now read correctly from manifest file.
  • (601528) - Windows Store Apps/Windows 8.1: When creating D3D backbuffer, Unity will take width/height from SwapChainPanel component instead of CoreWindow, SwapChainPanel's offset from CoreWindow will also be taken into account.
  • (664981) - Windows Store Apps/Windows Phone: Better error message when AssemblyConverter fails to resolve type.
  • (670811) - Windows Store Apps: Increased timeout when checking assembly compatibility.

New in version 5.0 RC 3 (February 23rd, 2015)

  • Changes:
  • Editor: Updated Windows Editor splash screen.
  • Mecanim: Added console warning when an IK function is called when the Animator is not in the IK pass.
  • Improvements:
  • Editor: Tab icons for Lighting and Audio Mixer windows
  • GI: Handle upgrade from Beast (4.x and 5.0 beta): continuous mode off, baking enabled, realtime GI disabled.
  • GI: Show a warning in the Lighting window when Directional Specular mode is chosen that those lightmaps cannot be decoded on SM2.0 hardware nor when using GLES2.0 and that there is currently no fallback.
  • Graphcs: Ambient light generated from skybox is now part of the scene Lightmap Snapshot. If your scene is not in 'Continuous Bake' mode and you have ambient light generated from skybox, please manually rebuild your scene lighting by pressing 'Build' button in Lighting window.
  • Shader: Introduced new Gamma tag to shader properties. This tag allows to flag Float and Vector properties for automatic gamma correction. Tagged Float and Vector properties will function the same way as Color properties do - gamma correction will be applied, if necessary, before sending values to the GPU.
  • Fixes:
  • AI: Fix issue where using navmesh built with "Height Mesh" enabled would sometimes crash Unity.
  • AI: Fix issue where NavMeshAgent would report zero velocity when moving on OffMeshLink.
  • Android: Fix for spaces being replaced with underscores in app titles
  • Android: Fix for packed NPOT sprite textures
  • Audio: Fix importing Tracker files so that by default, they are set to load Compressed In Memory. This is also now configurable.
  • Deferred Shading: Fixed scene view deferred visualization modes.
  • Deferred Shading: Made Camera.clearStencilAfterLightingPass flag actually work there.
  • Editor: Fix GI preferences layout.
  • Editor: Fixed asset thumbnail images being too dark when in Linear color space (regression in b22).
  • Editor: Added "-force-gl-ref" cmd-line option support for the OSX Editor.
  • Editor: Creating a new scene with the Animation window open won't spew errors anymore.
  • Editor: Fix bad performance when having multiple views opened in the OSX Editor, caused by vsync.
  • GI: Fixed Baked LODs when loading from a Lightmap Snapshot.
  • GI: Fixed directional output when using final gather. Previous versions produced non-normalised output.
  • GI: Fixed object preview visualizations in the Lighting window showing the underlying texture with wrong UVs.
  • GI: Grey out lightprobes field in inspector if the renderer is using lightmaps.
  • GI: Light probe linear to gamma conversion should only be done once, after accumulating SH.
  • GI: Made synchronous lightmap baking synchronous again.
  • Graphics: Fixed ambient lighting and reflections occasionally becoming out-of-sync with Skybox material when material was changed via drag-and-drop in Scene View.
  • Graphics: Fixed ambient lighting containing incorrect intensities after Linear / Gamma rendering mode switch while in 'Continuous Bake' mode.
  • Graphics: Fixed potential crash when changing Skybox material in 'Continuous Bake' mode.
  • Graphics: Fixed reflection probe glitches on Mac (garbage rendering in some cases and random probe faces appearing).
  • Graphics: Textures are automatically reimported to match new RGBM encoding range.
  • iOS: Fixed crash on disconnecting external display (fix coming to 4.6.2 patches too).
  • Mecanim: Fixed null reference exception when opening Animator Tools for the first time.
  • Mecanim: Fixed State Machine Behaviour not calling base class callback if the derived class doesn't override them
  • Mecanim: Changing Animator.applyRootMotion while playing shouldn't reset anymore controller's state machine.
  • Mecanim: Fixed Rect Transform z component not being animated
  • Mecanim: Fixed StateMachineEnter/Exit not being called on multi-layer component
  • Mecanim: Fixed Transition previewer for very short clip.
  • Mecanim: Animation transition curves are different when importing an animation controller from 4.6 to 5.0
  • Mecanim: Fixed animation event not always fired when there are at the limit of transition end
  • Merging: Fix crash in release mode builds.
  • Physics: Fix HingeJoint spring's targetPosition range that was incorrect.
  • Physics: Fix performance regression when painting heights on Terrain.
  • Physics: Fix that TransformChanged events could re-create the Cloth component, even though the component was already cleaned up.
  • Shadows: Fixed shadow precision issues in deferred with (wrongly) large receiver bounds.
  • Scripting: Fix plugin verification crash when reloading or quitting
  • Shaders: "New Shader" in editor creates a simple PBS surface shader now.
  • Shaders: Emit warnings in surface shaders when vertex input is missing texcoord1/texcoord2, instead of failing hard.
  • Shaders: Fix Angry Bots shader conversion error.
  • Shaders: Fixed Exposure property in Skybox shaders to be automatically Gamma corrected, providing consistent visual results between Linear / Gamma rendering modes. If your project is in Linear rendering mode and you have Exposure values set to values different than 1.0, then you might have to readjust Exposure manually.
  • Shaders: Fixed extremely deep recursion in material hash calculation.
  • Shaders: Fixed glitches in Standard shader on some Mac graphics cards with Global Illumination enabled.
  • Shaders: Fixed Metallic property in Standard shader to be automatically Gamma corrected (represented in sRGB gamma space). If your project is in Linear rendering mode and you have Metallic values set to values significantly different than 0.0 or 1.0, then you might have to readjust Metallic manually.
  • Shaders: Fixed Metallic property in Terrain shaders to be automatically Gamma corrected, providing consistent visual results between Linear / Gamma rendering modes. If your project is in Linear rendering mode and you have Exposure values set to values different than 1.0, then you might have to readjust Exposure manually.
  • Shaders: Fixed ShaderForge deferred lighting shaders being inverted colors in HDR.WebPlayer: Using ToggleGroup shouldn't throw any errors now.
  • UI: Fix a mac-only crash when loading/creating multiple canvas in some situations.
  • UI: Fix for Camera.Render not including canvas's
  • UI: Fix issue where sorting layer as unable to be changed on a canvas
  • Windows Player: Fixed D3D11 Exclusive Fullscreen mode overriding windowed mode option. Added a warning about exclusive mode not being recommended.
  • Windows Store Apps/Windows Phone: better error messages when AssemblyConverter fails to resolve type.
  • Windows Store Apps/Windows Phone: fix AssemblyConverter failing on struct from unprocessed or system assemblies
  • Windows Store Apps: UNITY_WINRT_8_1 and UNITY_WINRT_8_0 will be correctly defined now.

New in version 4.6.3 (February 23rd, 2015)

  • Features:
  • iOS: Added Metal rendering support. By default Metal will be used on capable devices. You can force graphics to be OpenGL ES 2.0/3.0 only in player settings.
  • Improvements:
  • Asset Loading: Added names of affected assets to the error message when a hash collision occurs while generating asset bundles.
  • BlackBerry: Passport device now supports landscape orientation.
  • Documentation: Fixed broken links, particularly in UI docs.
  • Documentation: Updated documentation for iOS 64-bit and UI.
  • iOS: Added launch screen support for iPhones.
  • iOS: Added PlayerSettings.shortBundleVersion which is linked to the CFBundleShortVersionString stored in the Info.plist file; this relates to short public version string. PlayerSettings.bundleVersion can now be used for full incremental build version and is linked to CFBundleVersion.
  • iOS: Allow to set compile flags for already existing files in Xcode API.
  • iOS/IL2CPP: Added support for async delegates (BeginInvoke/EndInvoke).
  • iOS/IL2CPP: Disabled Script Debugging option when building iOS projects with IL2CPP scripting backend.
  • iOS/IL2CPP: Implemented .NET classes: for ThreadPool, Asynchronous Sockets, WebRequest.
  • iOS/IL2CPP: Optimize methods that use string literals and memory used for string literals.
  • Shaders: Added UNITY_NO_SCREENSPACE_SHADOWS, UNITY_NO_RGBM, UNITY_NO_DXT5nm macros; better to check for these instead of hardcoding checks for "GLES or GLES3" and similar.
  • Shaders: MRT support on OpenGL ES 2.0 via GL_EXT_draw_buffers.
  • Shaders: Support for GL_EXT_shader_framebuffer_fetch. If you have a pixel shader with an "inout" color, it gets translated to use shader framebuffer fetch on GLES2/GLES3/Metal. Use UNITY_FRAMEBUFFER_FETCH_AVAILABLE macro in shaders to conditionally enclose that.
  • UI: Exposed IsAddedToManager on Behaviour.
  • UI: Improved ordering for the EventOrdering.
  • UI: Optimized adding/removing Graphics to a Canvas. It should be much cheaper to enable and disable Graphics now.
  • iOS 64 bit / il2cpp fixes:
  • Break IL instruction is now a no-op instead of a crash.
  • Don't allow to select ARM64 architecture when using Mono scripting backend.
  • Don't include .NET metadata into the binary.
  • Ensure that the HideInInspector and ResourceRequest types are not stripped so they can be used if necessary.
  • Fixed an issue with Socket.Poll, where socket instances where not removed from the list if inactive.
  • Fixed Application.RequestUserAuthorization not working.
  • Fixed a problem with generic classes where the generic type argument lives in a different assembly from the type definition.
  • Fixed array of interfaces also being marked as interfaces.
  • Fixed Attribute.GetCustomAttribute crash.
  • Fixed C++ compile error for marshaled types.
  • Fixed C++ compile error for methods with two or more generic arguments of the same type.
  • Fixed C++ compile error when there's a struct array field in a marshalable struct that is marshaled as ByValArray.
  • Fixed C++ compile error when using Interlocked.CompareExchange/Exchange with null.
  • Fixed code generation for arrays of System.IntPtr, as well as IntPtr passed by reference.
  • Fixed code generation for generic methods with generic instance type constraints.
  • Fixed code generation for leave instructions jumping out of multiple exception handlers; fixes crash in Parse libraries.
  • Fixed code generation for unsafe structs with fixed fields.
  • Fixed crash in some cases when using ILeaderboard.
  • Fixed crash when calling GetCustomAttributes() and one of the methods happened to have a [DllImport] attribute.
  • Fixed CustomAttributes on constructors and method parameters.
  • Fixed deserialization of Dictionary.
  • Fixed Enum.IsDefined.
  • Fixed incorrect stripping in some cases when inheriting classes with interfaces.
  • Fixed issue with two dimensional arrays.
  • Fixed lock statement code generation when wrapping a try/catch statement.
  • Fixed memory corruption when using AssemblyName.
  • Fixed MethodInfo.ReturnParameter.
  • Fixed multiple Cryprography library issues.
  • Fixed RakNet being unavailable on IL2CPP, causing linker errors.
  • Fixed some race conditions in the low level threading primitives.
  • Fixed Type.GetNestedTypes() crash.
  • Fixed unsigned storage types for CustomAttributes.
  • Get the correct method to invoke via a delegate that points to an interface method.
  • Handle LdToken IL instruction correctly.
  • Handle non-ASCII characters in names.
  • Implemented dynamic library loading.
  • Implemented FieldInfo.GetRawConstantValue.
  • Implemented marshaling of fixed size strings as fields of structs and classes.
  • Implemented support for StructLayout and FieldOffset attributes in managed code, when not using for PInvoke.
  • iOS Internal profiler is now working on IL2CPP.
  • Make JsonFX library work with stripping.
  • Make reflection on constant fields work (with the exception of string, for which support is pending).
  • Never use microcorlib for iOS/IL2CPP.
  • Nullable now works correctly when being cast to/from object or T.
  • Prevented a duplicate symbol linker error for projects that use zlib in a static library by renaming the zlib symbols exported from the iOS/IL2CPP version of zlib.
  • Prevent the error "Cannot get stack type for Item" when "Item" is a type nested in a generic type.
  • Reduced the maximum depth to which IL2CPP tries to inflate generics. This fixed an issue which caused IL2CPP to never finish on certain C# patterns.
  • Runtime now attaches to native thread automatically if it's being called into from native code through reverse P/Invoke.
  • Support attributes that have arrays of System.Type arguments.
  • Other Fixes:
  • 2D: Detect when Sprite.Create is called with an invalid rectangle.
  • 2D: Fixed sprite UV calculation when mipmapped NPOT sprites were used for sliced UI elements.
  • AI: Fixed crash when exceeding maximum polygon count in a tile (4096).
  • AI: Fixed no result when calling NavMesh.SamplePosition with infinity range argument.
  • AI: NavMeshObstacle carving tessellation fixes.
  • AI: Prevent occasional hang when path is requested to an invalid position (degenerate values).
  • Android: Added support for ATC decompression on x86.
  • Android: Fixed black screen when using some ImageEffects on Adreno 2xx devices.
  • Android: Fixed crash on some NullReferenceExceptions.
  • Android: Fixed TextureAtlasses with only RGBA4444 textures.
  • Animation: Fixed animation event not always fired when they are at the limit of transition end.
  • BlackBerry: Deploy tools on OSX now have execute flag set properly.
  • Deployment Management: Prevent simultaneous launches of Unity loading wrong project.
  • Editor: Fixed occasional crash when switching between DX9 and DX11 in the editor.
  • iOS: Fixed a crash due to unaligned memory access.
  • iOS: Fixed a crash in physics code on iOS 6.x and older.
  • iOS: Fixed a typo in UnityRegisterMainViewControllerListener().
  • iOS: Fixed Chinese/Japanese keyboard dismissing itself when scrolling suggestions on iPhone.
  • iOS: Fixed crashes on iOS 5 devices.
  • iOS: Fixed performance drop for iPhone 6+ in Zoomed Mode.
  • iOS: Fixed sound stopping to work when using OnAudioFilterRead.
  • iOS: Fixed the issue where Unity doesn't check if startUnity() has been called.
  • iOS: Fixed various issues with Xcode project handling.
  • Linux: Fixed "fullscreen to native resolution" for window managers that resize the window many times while full-screening.
  • Oculus Plugin: Fixed editor crash when trying to open a project with Oculus Plugin present and an issue with Plugins not being detected if moved in the Plugins folder.
  • Physics: Changing only Z position of an object which has a Rigidbody2D component no longer disturbs its X/Y interpolation.
  • Scripting: Fixed issue in Mono that threw "Mono.Security.Protocol.Tls.TlsException: Bad record MAC" exception.
  • Scripting: Fixed plugin verification crash on reload/shutdown.
  • Scripting: Fixed regression in StopCoroutine(Coroutine) error message.
  • Scripting: Fixed rare crashes on Webplayer which is most likely to happen on x64.
  • Shaders: Fixed some blending modes (e.g. One Zero, Zero Zero) only working in editor.
  • UI: Disabling an InputField clears the caret data now.
  • UI: Fixed a memory leak with Text objects.
  • UI: Fixed an issue where the ObjectField was not configured to look at the correct time.
  • UI: Fixed an issue with calling disabled from OnEndEdit.
  • UI: Fixed a render-to-texture issue of UI elements.
  • UI: Fixed keyboard not displaying on mobile devices.
  • UI: Fixed menu items in GameObject > UI menu not having spaces between words. They now match component names as shown in the Inspector and in the Component menu.
  • UI: Fixed screen space camera canvas using a uninitialized camera.
  • UI: Fixing issue with setting InputField.value on mobile devices.
  • UI: Make “ignore parent group” work properly with selectable and Graphic.
  • UI: Maximum allowed internal font size (after pixels per unit have been applied) is now clamped to a maximum of 1000 to prevent majority of cases of the font rendering becoming very slow.
  • UI: Prevent characterCountVisible from getting the length of a null string.
  • UI: Prevent deleting selection from calling OnValueChanged multiple times.
  • UI: Prevent InputField caret from positioning based on layout.
  • Webcam: Fixed webcam detection on x86 first time creating WebCamTexture with empty device name.
  • WebPlayer: Unity 2.x content is no longer supported on modern OSes (Windows 8+, Mac OS X 10.9+).
  • Windows Standalone: Adding/removing game controllers should be detected more reliably now.
  • Windows Standalone: Fallback to XInput 1.0 when XInput 1.3 is not installed on the system.
  • Windows Store Apps: Fixed architecture specific plugin copying.
  • Windows Store Apps: Fixed InvokeOnAppThread/InvokeOnUIThread from scripts.

New in version 5.0 RC 2 (February 16th, 2015)

  • Features:
  • Physics: Exposed WheelCollider.sprungMass to C# as a read-only property. Sprung mass can have a wide range of applications like being able to configure suspension springs using natural frequency & damping ratio or having custom forces added to suspension based on the weight supported by particular wheels.
  • Improvements:
  • GI: Material.globalIlluminationFlags and MaterialEditor.LightmapEmissionProperty has been added. In order to define how emissive materials should affect global illumination you now need to set this flag on the Material. MaterialEditor.LightmapEmissionProperty exists to show a consistent UI for selecting how it should affect global illumination. Combined with the meta pass that was added in b21, you now have full custom control over emissive and albedo from the material.
  • GI: Bake Performance improvement; when an Enlighten system is clamped to the maximum size, the cluster size is adjusted accordingly.
  • GI: Spit out the timestamp (HH:MM:SS from Editor startup) when writing long running job timings into the log.
  • GI: Don't attempt to load geometries for which packing failed (because of zero mesh area, zero UV area or non-finite vertex data). Gets rid of harmless console spam.
  • HomeWindow: Recreated video due to mistake in language greeting at start in 2 of the languages, plus renamed and revoiced over ‘Sample Assets’ section as we had to rename it so it won’t match what’s in the editor
  • iOS/IL2CPP: Made internal profiler usable when targeting IL2CPP.
  • iOS/IL2CPP: Optimize methods that use a string literal and memory used for string literals.
  • iOS/IL2CPP: Disabled Script Debugging option when building iOS projects that target the IL2CPP scripting backend.
  • Shaders: Surface shaders can use the UnityGI structure in their lighting functions. UnityGI contains light from all lightmap types, light probes and reflection probes. The built-in Lambert and BlinnPhong were updated to use it as well.
  • Shaders: Existing user surface shaders with custom lighting functions work with Non-Directional (baked and realtime) and Directional (baked) lightmap types. These lighting functions need to be updated to use the UnityGI structure to take advantage of all the new lightmap types and reflection probes.
  • Shaders: Surface shaders using UnityGI and alpha transparency default to alpha premultiply mode (alpha:premul). Otherwise the default is alpha:blend.
  • Fixes:
  • Audio: Fix issue where calling PlayOneShot more than once would not play subsequent voices.
  • Editor: Android - Fixed crash in Mac Editor when using ATC texture compression
  • Editor: Android - Fixed JDK detection when Java was in PATH
  • Editor: Fixed performance on OSX when scene view or hierarchy tab is visible, caused by vsync on flush
  • Editor: Fixed normal map texture preview being too bright in linear color space.
  • GI: Fixed baking of terrains on OS X, due to indeterministic hashing
  • GI: Small rectangular area lights was culled when baking.
  • GI: Fix crash in baking when using Final Gather.
  • GI: Gracefully handle geometries with non-finite vertex data.
  • GI: Properly handle geometries used for baked LODs. They would hang around in the bake manager before and break things.
  • Graphics: Fixed RenderTextureFormat.Default and DefaultHDR only working with RenderTexture.GetTemporary(), not with permanent RenderTextures.
  • Graphics: Made Stable Fit shadow projection the default for all quality levels as it was before.
  • Graphics: Fixed crash when doing Global Illumination bake in batch mode with -nographics option. The bake will still fail as it requires use of the graphics device.
  • iOS/IL2CPP: Handle non-ASCII characters in names.
  • iOS/IL2CPP: Fixed issue with array of interfaces also being marked as interfaces.
  • iOS/IL2CPP: Fixed issue with Application.RequestUserAuthorization not working
  • iOS/IL2CPP: Fixed incorrect stripping in some cases when inheriting classes with interfaces.
  • iOS/IL2CPP: Fix code generation for unsafe structs with fixed fields.
  • iOS/IL2CPP: Fixed an issue with Socket::Poll, where socket instances where not removed from the list if inactive.
  • iOS/IL2CPP: Fixed lock statement code generation when wrapping a try/catch statement.
  • iOS/IL2CPP: Fixed some occasional race conditions in the low level threading primitives.
  • iOS/IL2CPP: Prevent the error "Cannot get stack type for Item" when "Item" is a type nested in a generic type.
  • iOS/IL2CPP: Handle LdToken IL instruction correctly.
  • iOS/IL2CPP: Reduced the maximum depth to which IL2CPP tries to inflate generics. This fixed an issue which caused IL2CPP to never finish on certain C# patterns.
  • iOS/IL2CPP: IL2CPP runtime now attaches to native thread automatically if it's being called into from native code through reverse P/Invoke.
  • iOS/IL2CPP: Fixed an issue which caused IL2CPP to reference non-existing methods, resulting in linker errors.
  • iOS/IL2CPP: IL2CPP no longer generates invalid C++ when there's a struct array field in a marshalable struct that is marshaled as ByValArray
  • iOS/IL2CPP: Break instruction is now a no-op instead of crashing IL2CPP.
  • Linux: Fix "fullscreen to native resolution" for window managers that resize the window many times while fullscreening
  • Mecanim: Prevented deletion of root blendTree in the BlendTree graph.
  • Mecanim: Fixed Event evaluation when mirroring states.
  • Metal: Fixed issues with realtime reflection probes.
  • OpenGL: Fix incorrect behavior related to setting internal render targets.
  • Physics: Fix bug that prevented colliders in IgnoreRaycast layer from being ignored by OnMouseEnter event
  • Physics: Require a strictly positive hit distance for Collider.Raycast(). This unifies hit rules for Physics.Raycast() and Collider.Raycast()
  • Physics: PhysX bounding boxes are no longer increased by 1%
  • Physics: Fix FixedJoint explosion when it connects two bodies that were rotated relative to each other
  • Shaders: Fixed Standard shader Occlusion with directional lightmaps.
  • Shaders: Fixed tangent space issue with Standard shader.
  • Shaders: Surface shaders using the default Lambert or BlinnPhong lighting functions work correctly with Non-Directional, Directional and Directional with Specular lightmap types, both baked and realtime.
  • Shaders: Fixed surface shaders not using correct precision on normal, tangent and light vectors.
  • Terrain: Fixed an issue where modifications made to custom terrain material aren't applied to the terrain immediately.
  • Windows Player: Fixed fullscreen player sometimes disappearing behind other windows on startup.
  • Windows Store Apps: InvokeOnAppThread function is now thread safe, it should be safe to call from UI thread.

New in version 4.6.2 Patch 2 (February 12th, 2015)

  • Features:
  • iOS: Metal rendering support. By default Metal will be used on capable devices. You can force graphics to be OpenGL ES 2.0/3.0 only in player settings.
  • Improvements:
  • Asset Loading: Added names of affected assets to the error message when a hash collision occurs while generating asset bundles.
  • BlackBerry: Passport device now supports landscape orientation.
  • Documentation: Fixed broken links, particularly in UI docs.
  • iOS/IL2CPP: Disabled Script Debugging option when building iOS projects that target the IL2CPP scripting backend.
  • iOS/IL2CPP: Added support for async delegates (BeginInvoke/EndInvoke).
  • iOS/IL2CPP: Optimize methods that use a string literal and memory used for string literals.
  • iOS: Add launch screen support for iPhones.
  • Shaders: Added UNITY_NO_SCREENSPACE_SHADOWS, UNITY_NO_RGBM, UNITY_NO_DXT5nm macros; better to check for these instead of hardcoding checks for "GLES or GLES3" and similar.
  • Shaders: MRT support on OpenGL ES 2.0 via GL_EXT_draw_buffers.
  • Shaders: Support for GL_EXT_shader_framebuffer_fetch. If you have a pixel shader with an "inout" color, it gets translated to use shader framebuffer fetch on GLES2/GLES3/Metal. Use UNITY_FRAMEBUFFER_FETCH_AVAILABLE macro in shaders to conditionally enclose that.
  • Fixes:
  • (645821) - Android: Added support for ATC decompression on x86.
  • (668393) - Android: Fixed crash on NullReferenceException again.
  • (671075) - Animation : Fixed animation event not always fired when there are at the limit of transition end.
  • (669993) - BlackBerry: Deploy tools on OSX now have execute flag set properly.
  • (none) - iOS/IL2CPP: Break instruction is now a no-op instead of crashing IL2CPP.
  • (669543) - iOS/IL2CPP: Fixed code generation for unsafe structs with fixed fields.
  • (none) - iOS/IL2CPP: Fixed an issue with Socket::Poll, where socket instances where not removed from the list if inactive
  • (669378) - iOS/IL2CPP: Fixed C++ compiler error for marshaled types.
  • (669378) - iOS/IL2CPP: Fixed C++ compiler error for methods with two or more generic arguments of the same type.
  • (668281) - iOS/IL2CPP: Fixed crash in some cases when using ILeaderboard.
  • (667053) - iOS/IL2CPP: Fixed incorrect stripping in some cases when inheriting classes with interfaces.
  • (668418) - iOS/IL2CPP: Fixed issue with Application.RequestUserAuthorization not working.
  • (none) - iOS/IL2CPP: Fixed lock statement code generation when wrapping a try/catch statement.
  • (669115) - iOS/IL2CPP: Fixed memory corruption issue when using AssemblyName and other managed types.
  • (none) - iOS/IL2CPP: Fixed some occasional race conditions in the low level threading primitives.
  • (669640) - iOS/IL2CPP: Handle LdToken IL instruction correctly.
  • (667103) - iOS/IL2CPP: IL2CPP no longer generates invalid C++ when there's a struct array field in a marshalable struct that is marshaled as ByValArray.
  • (667982) - iOS/IL2CPP: IL2CPP runtime now attaches to native thread automatically if it's being called into from native code through reverse P/Invoke.
  • (668238) - iOS/IL2CPP: Implemented marshaling of fixed size strings as fields of structs and classes.
  • (669587) - iOS/IL2CPP: Prevent the error "Cannot get stack type for Item" when "Item" is a type nested in a generic type.
  • (668264) - iOS/IL2CPP: Reduced the maximum depth to which IL2CPP tries to inflate generics. This fixed an issue which caused IL2CPP to never finish on certain C# patterns.
  • (668410) - iOS/L2CPP: iOS Internal profiler is not working.
  • (665265) - iOS: Fixed: Chinese/Japanese keyboard dismisses itself when scrolling suggestions on iPhone.
  • (669398) - iOS: Fixed a crash in physics code on iOS 6.x and older.
  • (669858) - iOS: - Fixed the issue of performance drop for iPhone 6+ in Zoomed Mode.
  • (636999) - iOS: On iOS, Unity doesn't check if startUnity() has been called.
  • (669061) - iOS: Fixed the issue of sound stopped working when using OnAudioFilterRead.
  • (none) - Linux: Fixed "fullscreen to native resolution" for window managers that resize the window many times while full-screening.
  • (661822) - Scripting: Fixed Webplayer x64 crash at startup on some scenarios.
  • (none) - Scripting: Fixed issue in mono that threw this exception : "Mono.Security.Protocol.Tls.TlsException: Bad record MAC".
  • (none) - Windows Standalone: Adding/removing game controllers should be detected more reliably now.
  • (none) - Windows Standalone: Fall back to XInput 1.0 when XInput 1.3 is not installed on the system.
  • (632817) - Windows Store Apps: Fixed architecture specific plugin copying.
  • (670212) - Windows Store Apps: Fixed InvokeOnAppThread/InvokeOnUIThread from scripts.

New in version 5.0 RC 1 (February 9th, 2015)

  • Features:
  • Audio: Added AudioSettings.GetConfiguration / AudioSettings.Reset API as an alternative to the now deprecated AudioSettings.outputSampleRate/AudioSettings.speakerMode property setters and the AudioSettings.SetDSPBufferSize function. The new API allows querying the current configuration and applying all changes at once.
  • Audio: Added notification callback AudioSettings.OnAudioConfigurationChanged(deviceChanged) which can be used to get notifications when sound system reinitialisation happens. This can then be used to adapt audio device settings further or reload volatile AudioClips such as generated PCM clips and restore other audio system state.
  • Changes:
  • Asset Loading: Resources.LoadAssetAtPath is no longer available outside of the Editor.
  • Editor: Update Unity logo in About Window
  • Fixes:
  • Deferred Shading: Worked around Mac+Radeon driver bug making colors too dark in Linear color space.
  • Editor: Backout fix for double firing of playmodeStateChanged
  • Editor: Fix case where RectTransform was added to gameobjects that are not in canvas
  • Editor: Fix incremental naming for items which are created from main menu.
  • Editor: Fix undo causing errors on multi-selected texture importer inspectors
  • Editor: Fixed crash when switching DX9-DX11 in the editor.
  • Editor: Fixed particle system renderer not using actual enum for "cast shadows" field, and fixed styles in probe UI.
  • iOS: Make sure to handle locking on startup properly.
  • iOS/IL2CPP: Fix problem with generic classes where the generic type argument lives in a different assembly from the type definition
  • iOS/IL2CPP: Fixed Attribute.GetCustomAttribute crash.
  • iOS/IL2CPP: Fixed C++ build error when using Interlocked.CompareExchange/Exchange with null.
  • iOS/IL2CPP: Fixed Type.GetNestedTypes() crash.
  • iOS/IL2CPP: Make JsonFX work with stripping.
  • iOS/IL2CPP: Nullable now works correctly when being cast to/from object or T.
  • iOS/IL2CPP: Prevented a duplicate symbol linker error for projects that use zlib in a static library by renaming the zlib symbols exported from the IL2CPP version of zlib.
  • Lightmapping: Fixed lightmapping in AssetBundles and WebPlayer
  • Merge Tool: Correct handling of unicode paths on windows
  • Merge Tool: Open merget tool config files in read only mode
  • Physics: Fix a crash that could occur when activating\deactivating a lot of colliders each frame
  • Physics: Fix a crash that could occur when reactivating collider that had collisions ignored
  • Physics: Fix vehicle's suspension springs elongating more at high speeds
  • Physics: TerrainCollider no longer fail after adding more than 64K (tree) instances.
  • Shaders: Fixed some blend modes (One Zero, Zero Zero) only working in editor (fix coming to 4.6.2 patches too).
  • WebGL: Fix Audio panning
  • WebGL: Fix Audio pausing
  • WebGL: Fix pitch of sound being wrong if previous sounds were played at changed pitch
  • WebGL: Fix runtime crash if AudioMixer was in project
  • WebGL: Make AudioSource.time work
  • Windows Phone 8.1: Enabling location capability no longer causes a crash.
  • Windows Phone 8: Tap count is now correctly calculated when using multiple fingers.
  • Windows Phone/Windows Store Apps: Generic list of structs is now properly serialized.
  • Known issues:
  • GI: Final Gather can fail in some scenes.

New in version 4.6.2 Patch 1 (February 5th, 2015)

  • Feature:
  • iOS: Added PlayerSettings.shortBundleVersion which is linked to the CFBundleShortVersionString stored in the Info.plist file; this relates to short public version string. PlayerSettings.bundleVersion can now be used for full incremental build version and is linked to CFBundleVersion.
  • Improvements:
  • Documentation: Updated documentation for iOS 64-bit and UI.
  • iOS: Allow to set compile flags for already existing files in Xcode API.
  • UI: Exposed IsAddedToManager on Behavior.
  • UI: Improved the ordering for the EventOrdering.
  • UI: Optimizing Adding/Removing Graphics to a Canvas. It should be much cheaper to enable and disable Graphics now.
  • Fixes:
  • (659777) - 2D: Detect when Sprite.Create is called with an invalid rectangle.
  • (650986) - 2D: Fixed sprite UV calculation when using mipmapped NPOT sprites were used for sliced UI elements.
  • (626690) - AI: Fixed an issue which was causing a crash when exceeding maximum polygon count in a tile (4096).
  • (610061) - AI: Fixed the issue of no result when calling NavMesh.SamplePosition with infinity range argument.
  • (597962) - AI: Added NavMeshObstacle carving tessellation fixes.
  • (616560) - AI: Prevent occasional hang when path is requested to an invalid position (degenerate values).
  • (661748) - Android: Fixed black screen when using ImageEffects on Adreno 2xx devices.
  • (665177) - Android: Fixed TextureAtlasses with only RGBA4444 textures.
  • (645316), (614238) - Deployment Management: Prevent simultaneous launches of Unity loading wrong project.
  • (none) - Editor: Fixed occasional crash when switching between DX9 and DX11 in the editor.
  • (666962), (666773), (667191), (668541), (668567), (669305) - iOS/IL2CPP : Fixed RakNet being unavailable on IL2CPP, causing linker errors.
  • (669032) - iOS/IL2CPP: Don't include dll metadata files to binary.
  • (663053) - iOS/IL2CPP: Ensure that the HideInInspector and ResourceRequest types are not stripped so they can be used if necessary.
  • (none) - iOS/IL2CPP: Fixed a problem with generic classes where the generic type argument lives in a different assembly from the type definition.
  • (666206) - iOS/IL2CPP: Fixed Attribute.GetCustomAttribute crash.
  • (665476) - iOS/IL2CPP: Fixed C++ build error when using Interlocked.CompareExchange/Exchange with null.
  • (666808) - iOS/IL2CPP: Fixed issue with array of interfaces also being marked as interfaces.
  • (664371) - iOS/IL2CPP: Fixed Type.GetNestedTypes() crash.
  • (668204) - iOS/IL2CPP: Handle non-ASCII characters in names.
  • (none) - iOS/IL2CPP: Make reflection on constant fields work, (with the exception of string, for which support is pending).
  • (none) - iOS/IL2CPP: Never use microcorlib for IL2CPP.
  • (664066), (664035) - iOS/IL2CPP: Nullable now works correctly when being cast to/from object or T.
  • (665825) - iOS/IL2CPP: Prevented a duplicate symbol linker error for projects that use zlib in a static library by renaming the zlib symbols exported from the IL2CPP version of zlib.
  • (none) - iOS/IL2CPP: Support attributes that have arrays of System.Type arguments.
  • (667196) - iOS/IL2CPP: Make JsonFX work with stripping.
  • (667194) - iOS: Don't allow to select ARM64 arch when using Mono scripting.
  • (667090) - iOS: Fixed a crash due to unaligned memory access.
  • (664563) - iOS: Fixed a typo in UnityRegisterMainViewControllerListener().
  • (668017) - iOS: Fixed crashes on iOS 5 devices.
  • (none) - iOS: Fixed various issues with Xcode project handling.
  • (665475) - Oculus Plugin: Fixed Editor Crash when trying to open a project with Oculus Plugin present and an issue with Plugins not being detected if moved in the Plugins folder.
  • (665556) - Physics: Changing Z position only of an object which has a rigidbody2D component no longer disturbs its X/Y interpolation.
  • (655653) - Scripting: Fixed regression in StopCoroutine(Coroutine) error message.
  • (none) - Shaders: Fixed some blending modes (e.g. One Zero, Zero Zero) only working in editor.
  • (648404) - UI: Fixed an issue in screen space camera canvas where uninitialized camera was being used.
  • (661334) - UI: Fixed an issue where the ObjectField was not configured to look at the correct time.
  • (631091) - UI: Fixed the Render To Texture issue of UI elements.
  • 661876) - UI: Fixed a memory leak with Text objects.
  • (660653) - UI: Fixed an issue where keyboard would not display on mobile devices.
  • (662880) - UI: Fixed an issue with calling disabled from OnEndEdit.
  • (none) - UI: Fixed menu items in GameObject > UI menu not putting spaces between words. Menu items now match component names as shown in the Inspector and in the Component menu.
  • (none) - UI: Fixing issue with setting inputfield.value on mobile devices.
  • (645791) - UI: Make ignore parent group work properly with selectable and Graphic.
  • (660156) - UI: Maximum allowed internal font size (after pixels per unit have been applied) is now clamped to a maximum of 1000 to prevent majority of cases of the font rendering becoming unresponsively slow.
  • (657753) - UI: Prevent characterCountVisible from getting the length of a null string.
  • (none) - UI: Prevent deleting selection from calling OnValueChanged multiple times.
  • (none)) - UI: Prevent the InputField caret from positioning based on layout.
  • (657811) - UI: Now disabling the Inputfield clears the caret data.
  • (632809) - Webcam: Fixed webcam detection on x86 first time creating WebCamTexture with empty device name.
  • (648915) - WebPlayer: 2.x content no longer supported on modern OSs (Mac from 10.9 and up, Windows 8+)

New in version 4.6.2 (January 29th, 2015)

  • Features:
  • Support for iOS 64-bit builds using il2cpp.
  • Changes:
  • The Flash build target is no longer supported from this release onwards.
  • Improvements:
  • Audio: Added WWW.GetAudioClipCompressed. Allows AudioClips obtained via WWW class to be loaded into memory compressed, similar to "Compressed in Memory" import option.
  • Graphics: Added MaterialPropertyBlock.Set*() methods to overwrite existing values in a MaterialPropertyBlock instead of adding duplicates.
  • iOS: Add basic launch screen support.
  • iOS: Expose “set pause” as ObjC API.
  • Linux: Added more font fallbacks for Latin and CJK.
  • Oculus GearVR: Enabled low latency audio support.
  • Oculus Plugin: Future Oculus Plugin releases will no longer require Direct_To_Rift.exe
  • Oculus: Added VR friendly splash screen for Unity Free.
  • Scene View: DrawGizmo attribute now reports errors when used incorrectly, and has better documentation.
  • Standalone: Screen.dpi implemented for OSX and Windows standalone platforms.
  • UI: Change Text.m_Text to protected and Text.text to virtual. In this way users can have control over the text contents when extending Text.
  • UI: Expose EventSystem.firstSelected to API.
  • WebPlayer UnityObject: It is now possible to identify the webplayer runtime version before loading content. This makes it possible to load different content based on the runtime version already installed.
  • Fixes:
  • 2D: Custom sprites are now forced to have unique name when created through Sprite Editor.
  • 2D: Fixed PolygonCollider2D mesh generation on Android.
  • 2D: Hotkey for sprite Trim 'T' doesn't intervene with sprite naming anymore.
  • 2D: Single sprite pivot will be now properly saved in Sprite Editor.
  • 2D: Sprite importer multi-editing now works for packing tag, pixels per unit and extrude fields.
  • 2D: Sprite Packer page list is now refreshed after packing.
  • Android: Android TV - do not strictly require accelerometer and microphone.
  • Android: Fix for NullReferenceException causing a crash.
  • Android: Fixed a file-loading problem which occasionally caused 'Inflate Error' messages & freezes or crashes when loading resources on Android.
  • Android: Fixed broken texture upload from OnApplicationPause(false).
  • Android: Fixed build failure on x86 Java on Windows.
  • Android: Fixed CJK fonts on Android Lollipop.
  • Android: Fixed possible crash in hardware stats code.
  • Android: Fixed deadlock when calling UnityPlayer.pause() too early.
  • Android: Fixed freeze during startup on some Amazon Kindle devices.
  • Android: Fixed freeze on focus change when app is not paused (e.g. keyboard input).
  • Android: Fixed Japanese Kana fonts on Android Lollipop.
  • Android: Fixed lights-out mode on Android Lollipop.
  • Android: Fixed possible lost wakeup in UnityPlayer when rapidly calling pause/resume.
  • Android: Fixed theme attribute in default manifest to hide title bar during startup.
  • Android: Increase maximum memory available to Java when building for Android.
  • Animation: Animation window no longer shows 'Function not supported' for events on secondary MonoBehaviours.
  • Animation: Don't expose multiple entries for a source clip in AnimatorOverrideController.
  • Animation: Optimize and DeoptimizeTransformHierarchy are available in runtime as well as editor.
  • Asset Import: Imported assets now update the project label database correctly.
  • Asset Import: Restored previous behaviour of AssetModificationProcessor.OnWillSaveAssets to ignore null or void return values.
  • Asset Import: Reserialize imported .unitypackage assets to comply with project's Force Binary / Force Text serialization setting.
  • Core: Fixed incorrect error message when RectTransform.GetWorldCorners is called with incorrect parameters.
  • Core: PPtr animations now properly trigger the OnDidApplyAnimationProperties callback.
  • Editor: Allow viewing of all ModelImporter tabs when the model is not open for edit.
  • Editor: Fixed importing of .DDS textures with XRGB color formats.
  • Editor: Fixed a bug where driven RectTransform would incorrectly mark the scene dirty if it had a Vector2 where one coord was driven and the other not. Such a setup is common with the ContentSizeFitter UI component.
  • Editor: Fixed a small memory leak related to FormerlySerializedAs attribute.
  • Editor: Fixed bugs that caused UnityEvent object references to change by themselves with no user action when selecting multiple objects.
  • Editor: Fixed lagginess in editor when destroying multiple elements.
  • Editor: Fixed navigation to next / previous animation keyframes when there are subframe keyframes.
  • Graphics: Worked around some GPU driver bugs that were causing crashes when using OpenGL ES 3.0.
  • Graphics: Fixed possible memory corruption when using dynamic batching on platforms that support NEON.
  • Graphics: Fixed D3D9 handling of unsupported BGRA32 texture format to fall back properly to ARGB32.
  • Graphics: Texture2D.PackTextures will produce an ARGB4444-format atlas if all input textures are ARGB4444/RGBA4444.
  • iOS: Do not rotate splash view on non 6+ iPhones.
  • iOS: Ensure that Input.touches is not changed during the frame.
  • iOS: Fixed 2nd stage splash orientation on iOS 8.0+ landscape.
  • iOS: Fixed crash when text field contents are modified via script and undo is used.
  • iOS: Fixed OpenGL ES backbuffer size determination (fixes iPhone6+ zoomed mode).
  • iOS: Fixed local notifications for iOS 8.0. You should call NotificationServices.RegisterForLocalNotificationTypes before scheduling first notification.
  • iOS: Fixed messed up terminal settings if building for iOS from console.
  • iOS: Fixed skewed image on secondary display (AirPlay).
  • iOS: Fixed splash screen check on Xcode 5 when iPhone 6 splashes are present.
  • iOS: Fixed Xcode 6.2 support.
  • iOS: Increased stack allocator size on iOS.
  • iOS: On iOS set no backup flag on __info cache file.
  • iOS: Register SubstanceArchive when procedural materials are used.
  • iOS/IL2CPP: Correctly emit method, property, field, and event counts for array types
  • iOS/IL2CPP: Dramatically reduce the amount of warnings the generated code produces.
  • iOS/IL2CPP: Fixed Armv7 linker errors ("b/bl/blx ARM branch out of range").
  • iOS/IL2CPP: Fixed crash in reflecting over custom attributes.
  • iOS/IL2CPP: Gamecenter integration works now.
  • iOS/IL2CPP: Fixed incorrect code being generated for open generic types deriving from UnityEngine.Object.
  • iOS/IL2CPP: Fixed memory leak in reflection code.
  • iOS/IL2CPP: Fixed race condition in internal reflection implementation.
  • iOS/IL2CPP: Ignore managed types not in the UnityEngine namespace when the types which should not be stripped are discovered.
  • iOS/IL2CPP: BinaryFormatter serializer works now.
  • iOS/IL2CPP: Generated C++ code is a lot easier to read now.
  • iOS/IL2CPP: Treat arrays created with a lower bound of zero (via Array.CreateInstance) as SZARRAY types.
  • Linux: Make device unique identifier more consistent.
  • Mac OS X Standalone: Release player builds are now stripped off symbols again.
  • MonoDevelop: Generated solutions include 'indent size' directive to match tab size now.
  • Oculus Plugin: Fixed GearVR Unity Pro + Android Basic license issue.
  • Physics 2D: HingeJoint2D gizmo is displayed correctly with respect to any reference angle.
  • Physics 2D: Changes to the EdgeCollider2D points are now saved when used in prefabs.
  • Physics 2D: Setting the Rigidbody2D position or rotation directly now wakes the body.
  • Physics 2D: SliderJoint2D & HingeJoint2D reference angles are now reset when connecting to another Rigidbody2D.
  • Physics 2D: Static 2D collider gizmos now render at the correct Transform Z position.
  • Scripting: Fixed a harmless but annoying error message when using StopCoroutine(Coroutine).
  • Scripting: Fixed issue with Console.InputEncoding and Console.OutputEncoding throwing an exception the first they were set on the .NET 2.0 Subset profile.
  • Shaders: Fixed editor memory leak in shader error reporting.
  • UI: Changing any Transition settings on a Selectable Component will now immediately reflect on the Scene and Game View.
  • UI: Don't apply AspectRatioFitter logic when component is inactive.
  • UI: Fixed a bug which caused wrong Y cursor alignment in TextField with custom fonts.
  • UI: Fixed division by zero if ScrollRect content size has zero width or height.
  • UI: Fixed issue where adding and removing a parent canvas wouldn't update parent canvas relationship of child objects.
  • UI: Fixed issue where keyboard would not display on mobile devices.
  • UI: Fixed regression with events being sent to wrong object in some cases when using multiple GraphicRaycasters.
  • UI: Make sure we copy the pointer enter for the right and middle mouse pointers when we fetch them.
  • UI: Moved EventSystemEditor from UnityEditor.UI namespace to UnityEditor.EventSystems namespace.
  • UI: Prevent the '/n' from appearing when reactivating an input-field in the disable call.
  • UI: Sliced image with transparent borders (padding) works correctly with non-default pixelsPerUnit.
  • UI: When activating the standaloneInputModule do not set selected element to NULL.
  • Version Control: Fixed drag-dropping assets between change lists only moving a single asset.
  • Windows Phone 8: It's now possible to specify plugins that should not be processed just like in Windows Store Apps.
  • Windows Phone 8.1/Store Apps: Fixed an issue which caused casting arrays in UnityScript sometimes throw MissingMethodException deep inside Boo.Lang.dll.
  • Windows Phone/Store Apps: Fixed a rare crash that was caused by skinned meshes.
  • WWW: Fixed bug in WWW Caching when WWW.LoadFromCacheOrDownload is canceled using WWW.Dispose.

New in version 4.6.1 Patch 5 (January 23rd, 2015)

  • Features:
  • Support for iOS 64-bit builds using il2cpp.
  • Changes:
  • The Flash build target is no longer supported from this release onwards.
  • Fixes:
  • (664993) Android: Fixed build failure on x86 Java on Windows.
  • (662905) iOS: Fixed messed up terminal settings if building for iOS from console.

New in version 4.6.1 Patch 4 (January 15th, 2015)

  • Improvements:
  • Oculus GearVR: Enabled low latency audio support.
  • Oculus Plugin: Future Oculus Plugin releases will no longer require Direct_To_Rift.exe
  • Oculus: Added VR friendly splash screen for Unity Free.
  • UnityObject: It is now possible to identify the webplayer runtime version before loading content. This makes it possible to load different content based on the runtime version already installed.
  • Fixes:
  • (659976) - Android: Fix for NullReferenceException causing a segfault.
  • (662035) - Android: Fixed freeze on focus change when app is not paused (e.g. keyboard input).
  • (660010) - Android: Fixed Japanese Kana fonts on Lollipop.
  • (598814) - Animation: Animation window no longer shows 'Function not supported' for events on secondary MonoBehaviours.
  • (636409) - Editor: Fixed navigation to next / previous animation keyframes when there are subframe keyframes.
  • (659027) - Graphics: Fixed dynamic batching on NEON devices.
  • (562835) - iOS: Ensure that Input.touches is not changed during the frame.
  • (none) - iOS: Fixed 2nd stage splash orientation on iOS 8.0+ landscape.
  • (661666) - iOS: Fixed gles backbuffer size determination (fixes iphone6+ zoomed mode).
  • (none) - iOS: Fixed local notifications for iOS 8.0. You should call NotificationServices.
  • RegisterForLocalNotificationTypes before scheduling first notification
  • (659858) - iOS: Fixed skewed image on secondary display (airplay).
  • (587175) - iOS: Register SubstanceArchive when procedural materials are used.
  • (661584) - MonoDevelop: Generated solutions include 'indent size' directive to match tab size now.
  • (none) - Oculus Plugin: Fixed GearVR Unity Pro + Android Basic license issue.
  • (653587) - Physics: HingeJoint2D limit gizmo now shows correct upper/lower limits and current joint angle.
  • (655653), 652418) - Scripting: Fixed a harmless but annoying error message when using StopCoroutine(Coroutine).
  • (622538) - UI: Fixed a bug which caused wrong y cursor alignment in TextField with custom fonts.
  • (660653) - UI: Fixed issue where keyboard would not display on mobile devices.

New in version 4.6.1 Patch 3 (January 8th, 2015)

  • Improvements:
  • Audio: Added WWW.GetAudioClipCompressed. Allows AudioClips obtained via WWW class to be loaded into memory compressed, similar to "Compressed in Memory" import option.
  • iOS: Add basic launch screen support
  • iOS: Expose set pause as ObjC API
  • Fixes:
  • (none) - Android: Android TV - do not strictly require accelerometer and microphone.
  • (653025) - Android: Fixed deadlock when calling UnityPlayer.pause() to early.
  • (none) - Android: Fixed lights-out mode on Lollipop.
  • (653025) - Android: Fixed possible lost wakeup in UnityPlayer when rapidly calling pause/resume.
  • (609026) - Android: Fixed theme attribute in default manifest to hide title bar during startup.
  • (none) - Android: Increase maximum memory available to Java when building for Android.
  • (657491) - Android: Removed 1k texture limit for Tegra 2.
  • (627161) - Animation: Don't expose multiple entries for a source clip in AnimatorOverrideController.
  • (none) - Animation: Optimize... and DeoptimizeTransformHierarchy are available in runtime as well as editor.
  • (none) - Editor: Added support for XRGB DDS.
  • (643268) - iOS: Do not rotate splash view on non 6+ iPhones.
  • (654867) - iOS: Fixed crash when text field contents are modified via script and undo is used.
  • (none) - iOS: Fixed splash screen check on Xcode 5 when iPhone 6 splashes are present.
  • (none) - iOS: Fixed Xcode 6.2 support.
  • (none) - iOS: Increased stack allocator's size on iOS.
  • (none) - iOS: On iOS set no backup flag on __info cache file.
  • (none) - Scripting: Fixed issue with Console.InputEncoding and Console.OutputEncoding throwing an exception the first they were set on the .NET 2.0 Subset profile.
  • (651239) - Standalone: Screen.dpi implemented for OSX and Windows standalone platforms.

New in version 5.0 Beta 18 (December 23rd, 2014)

  • Changes:
  • Editor: UI improvements to Standard shader emissive color/texture/intensity fields.
  • Shaders: Renamed UV1/UV2 in Standard shader detail UV selection to UV0/UV1.
  • Improvements:
  • API Updater: Introduced UnityAPICompatibilityVersionAttribute to allow updater to avoid checking assemblies already updated to / compatible with current Unity API.
  • Check Plugin Inspector documentation for more info
  • Deferred Shading: Standard shader outputs occlusion texture into diffuse g-buffer alpha channel.
  • Documentation: Added documentation for "Optimizing Shader Load Time" and "WebGL Networking" plus lots of improvements and fixes in general
  • Editor: Fixed undoing changes to light probe group
  • GI: Exposed modelling tolerance to lightmap parameters. This parameter allows setting the maximum size gap to be ignored by GI calculations.
  • GI: Clamp AO distance to zero in UI. AO distance of zero means infinite length rays as it did in beast.
  • GI: Added a baked lightmap tag. This can be used to force instances into specific baked lightmaps.
  • Plugins: Only relevant Standalone plugin settings will be shown. For ex., OSX and Linux options won't be shown for native dll, because it cannot be used on those platforms
  • Plugins: Added warning box for native plugins in plugin inspector, once native plugin is loaded by scripts, it cannot be unloaded until Unity is restarted.
  • Profiler: Stop collecting GPU data when GPU Profiler chart is closed
  • Profiler: Stop collecting profiler's data on Player's side if recording is disabled
  • ReflectionProbes: Added QualitySettings.maxRealtimeReflectionBounces, this limits reflection bounces for realtime reflection probes.
  • ReflectionProbes: When baking Custom probe, game object's name will be appended to the filename
  • ReflectionProbes: When manually entering position values in the Transform inspector while in Box editing mode, the box will not move.
  • ReflectionProbes: You can now set bake resolution for default reflection, it can be found in Lightmapping window
  • TerrainCollider: Removed warning about TerranCollider no longer supports being a trigger from get_isTrigger
  • Timeline Profiler: Add proper detailed names to Physics Jobs and prefix the names with "PhysX".
  • Shaders: Added "keepalpha" surface shader directive to not force 1.0 to alpha channel for opaque objects.
  • Fixes:
  • 2D: Sprite Packer page list is now refreshed after packing.
  • 2D: Sprite importer multiediting now works for packing tag, pixels per unit and extrude fields
  • 2D: Sprite name can't be empty, or contain characters that are not supported in assets when created from Sprite Editor
  • 2D: Hotkey for sprite Trim 'T' doesn't intervene with sprites naming anymore
  • API Updater: After being updated, some assemblies fails PEVerify with message "[MD]: An attempt was made to load a program with an incorrect format."
  • Editor: Animation Window Add Property button not hiding for new project
  • Editor: Fixed null exceptions from Animation Window when opening projects
  • Editor: Shadows working correctly when zoomed in animation preview window
  • Editor: Fix exception when clicking "Add Behaviour" button
  • Editor: Remove unsupported OSX menu items (Start Dictation & Special Characters)
  • Editor: Fixed wrong color for editor progress bar in dark skin
  • Editor: Fixed repaint issue on Win7 for windows under modal windows
  • Editor: Recently used projects list now has separate keyboard selection and mouse hover again (hover changing selection was making "enter to reopen" unpredictable)
  • Editor: Fix Windows repaint issues with windows behind modal windows on Win7
  • Editor: Fix that undoing when creating assets would cause the temporary asset state to not be cleared
  • Editor: Fix ctrl+click as context click for audio mixer groups
  • Editor: Don't show "Fix now" button for legacy cubemaps in shader UI, fixes crash.
  • Editor: Fixed emissive Standard materials getting same emission color when multi-edited.
  • Editor: Fixed semaphore issue on OSX
  • Editor: Reduce serialization depth limit warnings
  • Editor: Fix crash when executing a menu item from a static constructor
  • Editor: Remove spurious "Platform modules already initialized" messsage when upgrading projects
  • GI: Fix issue with too high intensity GI in the players.
  • GI: Fix issue with lightprobes when baked multiple time in non-continuous mode.
  • GI: Make sure GI has converged before issuing reflection probe jobs.
  • GI: Fix skybox appearing very dark in gamma rendering mode.
  • GI: Fix for creating lightmap data assets larger than 4GB.
  • GI: Fix spurious errors when converting area lights for GI.
  • Graphics: Fixed "Tiled GPU perf. warning" in editor resulting in poor performance.
  • Graphics: Texture2D.SetPixel and friends work with floating point texture formats (TextureFormat.RGBAFloat etc.) now.
  • Graphics: Floating point texture formats (TextureFormat.RGBAFloat etc.) work on D3D9 now.
  • Installers: Download Assistant on Mac doesn't ask for credentials again after downloading has completed
  • iOS: Fixed allocator assert when doing skinning
  • Linux: Trim device identifier
  • Metal: Fixed some shaders not compiling properly (if they change global variables from inside of the shader).
  • ParticleSystem: Fixed regression from Beta 17: Broke editor update of selected particle system.
  • Plugins: Unity will correctly load native plugins from script even if the letter case won't match like it was in 4.x, for ex., if you write DllImport("plugin"), but on disk it's Plugin.dll (with upper case).
  • Plugins: Fixed a rare crash when calling into native plugin from finalizer thread.
  • ReflectionProbes: When baking probes, Unity will no longer bake shadows from objects which are not marked as ReflectionProbeStatic
  • ReflectionProbes: Fixed a bug, where Unity would sometimes not rebake probes or default reflection, when material has a different cubemap setup.
  • Reflection Probes: Realtime probes more efficient on mobile GPUs (less framebuffer restores).
  • Scripting: Fix crash when calling DestroyImmediate in MonoBehaviour constructor
  • Serialization: Added ability to do automatic fix of invalid references to scripts in scene file (to valid registered scripts)
  • Serialization: Fixed windows Layout loading if script for previously opened custom window is absent
  • Shaders: Fixed legacy Diffuse Detail shader when in linear color space.
  • Shaders: Fixed "Maximum number of shader keywords" error in editor resulting in really bad build-time performance.
  • Shaders: Fixed Sprites/Diffuse shader not handling transparency properly.
  • Shaders: Fixed Standard shader using wrong texture scale/offset value.
  • Shaders: Fixed Standard shader wrongly falling back to VertexLit when lower shader LOD is set.
  • Shaders: Fixed exceeding maximum shader keywords sometimes resulting in crashes.
  • Windows: Windows 10 reports SystemInfo.operatingSystem string properly.
  • Windows Phone/Windows Store Apps: Gyroscope.gravity returns same values as other platforms. It used to be inverted before.
  • Windows Phone 8: Camera.ViewportToWorldPoint returns correct value in orthographic view.
  • Windows Store Apps: fix building Universal apps in batch mode

New in version 5.0 Beta 14 (December 20th, 2014)

  • KNOWN ISSUES:
  • WebGL: If you set up a UI Event to trigger a method on a class which is not a MonoBehaviour, and that method is not invoked elsewhere from your code, then the method may be stripped, and the event will fail. The workaround is to explicitly call the method in some place in your code to make sure it won't be stripped.
  • UPGRADE GUIDE:
  • iOS: createUnityViewImpl was deprecated and removed (NSAssert will be fired if you implement this method). override createUnityView instead.
  • iOS: createViewHierarchyImpl was deprecated and removed (NSAssert will be fired if you implement this method). override willStartWithViewController: instead.
  • iOS: createViewHierarchy was deprecated and removed. Use createUI instead if you had it called from custom place.
  • FEATURES:
  • Android: Added support for Android TV banners
  • Audio: Added per-platform compression setting overrides for AudioClip import, much like texture importing. This includes an API change. Users will now be able to enable override settings per platform and have unity have different compression characteristics for different platforms
  • Reflection Probes:
  • A new "Realtime" mode can be selected on probes. When using this mode, the probe can be re-rendered on-demand via scripting. Rendering can be set to be done across many frames, or a single frame.
  • While in the Editor, probes can also render automatically when the scene changes if the "Always Update" mode is selected in the reflection probe inspector. Note that the editor's performance will be negatively affected if too many probes are set to use this option.
  • Sample Assets.
  • Terrain: Added an option to preload all detail patches and keep them loaded in memory. Set via the Terrain settings and with the "collectDetailPatches" property. Can reduce hicupps when navigating a Terrain.
  • Unity Download Assistant.
  • See new related API:
  • ReflectionProbe.RenderProbe
  • ReflectionProbe.IsFinishedRendering
  • CHANGES:
  • Fonts: Font.textureRebuildCallback has been renamed to Font.textureRebuilt and is now a static event of type Action. Font.textureRebuildCallback continues to work but has been deprecated. This change cannot be upgraded automatically by the script updater.
  • GI: Renamed SphericalHarmonics3 to SphericalHarmonicsL2 where L2 denotes SH up to the 2nd order (so 3 bands, 9 coefficients).
  • iOS: changed the way UI integration works. Now there are specialized ViewController's for fixed orientation. Also made custom UI integration easier - both for simple and complicated cases (e.g. if you have portrait unity content in landscape ViewController, script side and _unityView.content orientation will return portrait, while AppController's interface orientation will be landscape). For more details check comments in Classes/UI/UnityAppController+ViewHandling.h in trampoline
  • GI: Changed the SphericalHarmonicsL2 API:
  • GetInterpolatedProbe is now static and takes "out SphericalHarmonicsL2 probe" as the last parameter
  • coefficients became bakedProbes and return SphericalHarmonicsL2[]
  • IMPROVEMENTS:
  • AI: Carving navmesh supports carving the detailed tesselation. Fixes height discontinuities when an undulating region is carved
  • Audio / Profiler: Improved accuracy of reported AudioSources in the scene when working with AudioSources in prefabs
  • Audio: Improved audio importer interface to be make options more clear
  • Editor: EditorStyles.helpBox is now exposed
  • Editor: Improved build times for textures and AudioClips
  • Editor: LightmapParameters now has an icon
  • Editor: LightmapSnapshot now has an icon
  • Editor: ReflectionProbe now has a gizmo icon
  • Editor: ReflectionProbeEditor: group related controls and added tooltips
  • Editor: Warning when there are curves with ambiguous binding (duplicate GameObject names) in animation window
  • GI: Added ability to reset Lighting window values to defaults.
  • GI: Added the Sun slot in the Lighting window which can be used to force a certain light to be used in the procedural skybox, even if the component or the game object is disabled.
  • GI: Improved layout of the Lighting window.
  • GI: Improved the baking progress bar.
  • GI: Show a warning if the user is editing light properties with lighting disabled in the scene view.
  • GI: Updated terminology and the example in the SphericalHarmonicsL2 docs.
  • Graphics: Dynamic batching works again for non-uniformly scaled objects
  • Graphics: Overhauled stats window to be more succinct and profiler rendering stats to be more comprehensive
  • iOS: Added ios8.0 and ios8.1 to iOSTargetOSVersion
  • Mecanim: AutoUpdater support for AnimatorInfo->AnimatorClipInfo
  • Physics: Added 'Static Collider Shapes' to profiler for 2D physics.
  • Windows Player: Added ability to select target monitor in the resolution dialog, including devices like Oculus Rift
  • Windows Player: Added constant aspect ratio in fullscreen mode with OpenGL
  • Windows Player: Added option to run in either exclusive fullscreen mode or windowed fullscreen mode with DirectX 9
  • Windows Player: Performance improvements including lower latency in DirectX 11 mode
  • Windows Player: The default fullscreen mode no longer changes the desktop resolution, so things like IME text input work.
  • FIXES:
  • AI: More robust raycast. Fixes occasional wrong height when raycast terminates at navmesh edge.
  • Android: Fixed resource leak when using antialiased RenderTexture with OpenGL ES 3
  • Android: Fixed auto rotation, Input.acceleration and gyroscope when using Java activity
  • Android: Added support for FullScreenMovieScalingMode.AspectFill to VideoPlayer as long it's not inside a parent Layout
  • Asset Import: Added ability to retry operation on write error when importing assets
  • Assets Management: Added warning when using AssetDatabase.Load* function with an absolute path
  • Asset Import: Assets are no longer reimported when dlls with asset post processors are reimported, unless the postprocessors actually changed version
  • Assetbundles: Fixed exception thrown when accessing AssetBundleRequest.allAssets
  • Assets Management: Be able to unload ScriptableObject.
  • Assets Management: Check if the class id is -1 before calling AddComponent and make the warning message more informative.
  • Audio: fixed Crash when exposing a parameter of an effect that was added to a group
  • Audio: Fixed leaking audio resources when having AudioSources within a Prefab
  • Editor: "File->Open Project...->Open Other.." now works correctly in the new Launcher
  • Editor: Fix gizmos ignoring layer locking
  • Editor: Fix Hierarchy search tests after removal of old Hierarchy window
  • Editor: Fix Object Selector key navigation with Audio Group tree views
  • Editor: Fix ObjectSelector tree view not being serialized properly at assembly reload
  • Editor: Fix that when using hierarchy search and clicking target, exception is thrown
  • Editor: Fix the crash happens when you select top task bar on Welcome Screen.
  • Editor: Fix tooltip position being wrong for StandardShaderGUI
  • Editor: Fix tri state toggle being blurred when multi editing
  • Editor: Fix unique naming for child GameObjects created from menu
  • Editor: Fixed crash when opening Edit or File menu from project launcher on OS X
  • Editor: Fixed crash when pasting in License window on OS X
  • Editor: Fixed crash when pasting in project launcher window on OS X
  • Editor: Fixed incorrect sibling order in hierarchy when upgrading project to 5.0
  • Editor: Fixed null reference exception when dragging a component from one game object to another
  • Editor: Fixed possible crash when entering playmode during script compilation
  • Editor: Fixed random crash when trying to use the animationEvents on an imported model
  • Editor: Fixed regression where class from UnityEngine.Windows wouldn't work.
  • Editor: UnityEditor.Sprites.DataUtility renamed as UnityEditor.Sprites.SpriteUtility
  • Editor: Fix the crash occasionally happens when you create a prefab. Related to the objects sorting in the prefab.
  • Editor: FPS controls now only affects the active scene view
  • Editor: Opened scene will no longer be accidentally marked as modified.
  • Fixed performance regression in tree rendering on some devices
  • Fixed scaling bug on skinned meshed when using Optimize Game Objects
  • Fixed typo in IgnoreTypeTreeChanges
  • GI: Fix lightmap snapshot when building player.
  • GI: Fixed issues with seams in baked lightmaps using builtin models.
  • GI: Fixed SphericalHarmonicsL2.AddDirectionalLight to add correct intensity.
  • GI: Fixed Terrain double representation in object tab.
  • GI: Fixed the Maps tab and import settings reporting different lightmap sizes.
  • GI: Robustness fixes to ambient and skybox probes.
  • GI: Various fixes to the mode where realtime GI and baked GI are disabled.
  • GI: Fixed issues with baked directional lighting looking bad at grazing angles.
  • Home Window: Fix project directory selection not having an effect if path chooser dialog is open for more than 10 seconds.
  • Inspector Functionality: Fixed bool properties with DecoratorDrawers not reserving space for them correctly.
  • iOS: Fixed crash on using iAD wrappers
  • Linux: Fix incorrect behavior on large XFS filesystems
  • Mecanim: Fixed "Dereferencing NULL PPtr" appearing after creating an animation on a game object with a missing script
  • Mecanim: Fixed crash when deleting layer
  • Mecanim: Fixed crash when previewing Animator with UnscaledTime update mode
  • Mecanim: Fixed layer switching performance isssue
  • Mecanim: Fixed linear scale blending for additive layers
  • Mecanim: Animator Gizmo are show only in play mode and if the animator is initialized.
  • Mecanim: Fallback to proper default State when exiting from StateMachine with no outgoing Transition
  • Mecanim: Fixed broken Animator.Crossfade during transition
  • Mecanim: Fixed preview of multiple transitions
  • OpenGL: SkinnedMeshRenderer performance regression on MacOSX
  • OSX: Fix for File limits not being set to Maximum amount and Defaulting to 256 open files
  • Physics: Added 'Physics2D.minPenetrationForPenalty' property to control the penetration radius allowed before any separation impulse for is applied.
  • Scripting: UnityEngine.Object.operator== will return true again for two scripting wrappers that refer to the same unloaded native object.
  • Serialization: Fixed crash during scene loading if the script on a prefab instance did not match the script on the prefab asset
  • Serialization: Added error message with file information if SerializedFile header is corrupted
  • Tags: Fixed tags being shifted by 1 if upgrading from a 4.x project
  • WebGL: Automatically handle deleting of emscripten cache when needed
  • WebGL: Fix Build & Run
  • WebGL: Fix permissions on generated "Compressed" folder
  • WebGL: Show message that WebGL building is not supported in 32-bit editor
  • WebGL: Correct the handling of a volatile field in C# when it is used in a binary operation during IL2CPP code conversion.
  • Windows Player: Run in Background now works properly in DirectX 9 fullscreen mode
  • Windows Store Apps/Windows Phone: fix taking detailed memory sample in profiler
  • Windows Store Apps/Windows Phone: Fixed a memory leak when using async loading of resouces.
  • Windows Store Apps: native plugins now properly added to generated solution

New in version 4.6.1 Patch 2 (December 20th, 2014)

  • Improvements:
  • UI: Expose EventSystem.firstSelected to API.
  • UI: Change Text.m_Text to protected and Text.text to virtual. In this way users can have control over the text contents when extending Text.

New in version 4.6.1 Patch 1 (December 12th, 2014)

  • Improvements:
  • Linux: Added more font fallbacks for Latin and CJK.
  • Scene View: DrawGizmo attribute now reports errors when used incorrectly, and has better docs.
  • Fixes:
  • (621180) - 2D: Custom sprites are now forced to have unique name when created through Sprite Editor.
  • (651420) - 2D: Hotkey for sprite Trim 'T' doesn't intervene with sprites naming anymore.
  • (632336) - 2D: Single sprite pivot will be now properly saved in Sprite Editor.
  • (649911) - 2D: Sprite importer multi-editing now works for packing tag, pixels per unit and extrude fields.
  • (649925) - 2D: Sprite Packer page list is now refreshed after packing.
  • (654591) - Android: Fixed freeze during startup on most Amazon Kindle devices.
  • (none) - Android: Fixed a file-loading problem which occasionally caused 'Inflate Error' messages & freezes or crashes when loading resources on Android.
  • (586149) - Assets Management: Reserialize imported .unitypackage assets to comply with project's Force Binary / Force Text setting.
  • (652838) - Graphics - Worked around GPU driver bugs that were causing crashes when using GLES 3.0
  • (none) - Inspector Functionality: Allow viewing of all ModelImporter tabs when the model is not open for edit.
  • (651705) - Linux: Make device unique identifier more consistent.
  • (650630) - Mac OS X Standalone: Release player builds are now stripped off symbols again.
  • (631943) - Rendering - Other: Add MaterialPropertyBlock.Set*() methods to overwrite existing values in a MaterialPropertyBlock instead of adding duplicates.
  • (624815) - Rendering - Other: Fixed D3D9 handling of unsupported BGRA32 format to fall back properly to ARGB32.
  • (637027) - Shaders: Fixed editor memory leak in shader error reporting.
  • (653443) - UI: Fixed regression with events being sent to wrong object in some cases when using multiple GraphicRaycasters.
  • (629291) - Version Control: Fixed drag-dropping assets between change lists only moving a single asset.
  • (616076) - Windows Phone 8: It's now possible to specify plugins that should not be processed just like in Windows Store Apps.

New in version 4.6.1 (December 12th, 2014)

  • Features:
  • WebPlayer: Added support for 64 bit Mac OS X browsers.
  • Improvements:
  • AssetBundles: Added additional information about WWW.LoadFromCacheOrDownload.
  • Graphics: Improved performance when allocating memory for large numbers of temporary objects.
  • Graphics: Optimized culling of lights in a mostly deferred scene with a few forward-rendered objects.
  • Physics 2D: Added 'Static Collider Shapes' to profiler for 2D physics.
  • Physics 2D: Renamed Physics2D.deleteStopsCallbacks to Physics.changeStopsCallbacks to better represent its purpose (old property is now obsolete).
  • Serialization: Randomize fileIDs for objects in prefabs to lower the chance of merge conflicts.
  • UI: Encapsulate children mesh bounds when calculating Root Bounds. Also cache the value so we don't calculate every time we draw.
  • UI: Performance optimizations. Optimized UI batching, text rendering and reduced amount of editor-only allocations.
  • UI: Standalone input module now leaves keyboard selected object selected. Mouse and Keyboard input are now orthogonal. Clicking with the mouse will move selection to the clicked element.
  • Windows Phone/Store Apps: Profiler shows managed memory usage.
  • Windows Phone/Store Apps: Provide ArrayList.BinarySearch implementation.
  • Windows Standalone: You can now embed windows standalone player into another application, simply pass -parentHWND and windows standalone application's window will be created with specified parent. See Command line arguments documentation for more information.
  • Changes:
  • Documentation: Styling changed to match website design, switch links between Manual and Script Reference are working now.
  • Windows Phone: Disabled shadows on Adreno 305 devices due to driver issues.
  • Fixes:
  • Android: Added splitting of level files in APK to fix slow loading problem.
  • Android: Avoid reading expensive metrics in DisplayInfo more than once per frame.
  • Android: Fixed crash on certain Adreno HW with OS version 4.4.2 or more recent 4.4.x.
  • Android: Fixed crash on XPeria Play.
  • Android: Fixed forwarding of input events to Java when Unity is paused but activity is still running.
  • Android: Fixed frame rate on Tegra devices when doing GPU profiling.
  • Android: Workaround for corrupted font textures on older Adreno drivers.
  • Android: Fixed a crash in glDrawElements() on some devices.
  • Android: Fixed an issue with ProGuard when obfuscating an exported project.
  • Android: Fixed build-tools version check.
  • Android: Fixed erratic touch input when not using NativeActivity.
  • Android: Fixed NEON detection on 64 bit Android.
  • Android: Fixed Unity UI ScrollView/Mask on PowerVR SGX.
  • Android: Joystick input optimization; fixed slowdown on some older devices.
  • Android: Support for xxxhdpi icons.
  • Android: Updated SDK and JDK requirements to match Android 5.0.
  • Android: Added additional fallback font "DroidSansFallback" (but also keeping "Droid Sans Fallback") to fix for e.g. Korean font on older Android devices. Asian fonts are still not working on many - Android 5 devices.
  • Asset Loading: Fixed performance regression when loading scene in the Editor.
  • Audio: Not streamed VBR audio files loaded with WWW.GetAudioClip now play and loop correctly.
  • Core: Fixed undoing Add/Remove RectTransform and will no long break the scene gizmos.
  • Core: Fixed bug in anchoredPosition3D property on RectTransform that caused coordinates to be swapped.
  • Debugger: Fixed crash when stepping into a breakpoint on 64-bit OSX standalone player.
  • DX9: Add black bars in fullscreen mode to maintain aspect ratio.
  • DX11: Fixed GPU video memory detection on some GPUs. Was wrongly disabling shadows & deferred on some Intel ones, for example.
  • Editor: Fixed asset bundle building stealing window focus when Editor is in the background.
  • Editor: Fixed version control plugin and shader compiler sometimes stopping prematurely.
  • Editor: Fixed crash on scene load when prefabs have unsaved child objects.
  • Editor: Add support for importing .DDS cubemaps.
  • Editor: Fixed selection change being undone if click also initiates a drag (Windows only).
  • Editor: Corrected a problem launching MonoDevelop and moving to the proper line of a script file on OSX.
  • Editor: Fixed the error thrown when closing asset label list with escape key.
  • Editor: Reduced memory usage of streamed audio clips.
  • Editor: Fixed AssetModificationProcessor.OnWillSaveAssets checking out files that were not Saved and OnWillDeleteAssets always marking assets for delete.
  • Editor: Fixed Canvas editor for nested Canvas showing UI as if it were a root Canvas if the GameObject was inactive.
  • Editor: Fixed Canvas editor which was not working well with multi-object editing.
  • Editor: Sprite asset inspector in single mode now shows correct values.
  • OpenGL ES :Changed default PlayerSettings Graphics Level to Auto for all platforms using OpenGL ES (was Force OpenGL ES 2).
  • OpenGL ES: Sphere map texture coordinate generation fixes.
  • Graphics: Fixed custom cursors when hovering over black bars in fullscreen mode.
  • Graphics: Fixed incorrect sprite tangent handling on ARM NEON capable devices.
  • Graphics: Fixed occasional crashes when switching the graphics device. Happens in editor when toggling between DX9 and DX11, or on Windows Phone when resuming the app.
  • GUI: Fixed vertical position of text cursor.
  • Inspector: Fixed bool properties with DecoratorDrawers not reserving space for them correctly.
  • Inspector: Disable the asset label editor UI if any of the selected assets are not open for edit.
  • iOS: Add player setting to target iOS 8.0 and 8.1.
  • iOS: Disable tree billboard mipmaps; mipmap generation was causing hiccups.
  • iOS: Do not use AVAudioSessionRouteChangeNotification on pre-iOS6 devices.
  • iOS: Fixed a memory leak in QueryADID().
  • iOS: Fixed visual issues when setting screen orientation via Screen.orientation.
  • iOS: Added support for iPad Mini 3 and iPad Air 2.
  • iOS: Fixed splash screen issues on iPhone 6+, and frame buffer resolution issues.
  • iOS: Fixed crash in Resources.UnloadUnusedAssets after GameCenter login.
  • iOS: Removed unnecessary error messages in GameCenter API.
  • iOS: Don't count the size of the executable twice in the detailed profiler memory snapshot.
  • iOS: Fixed player remaining paused after interstitial ads in certain cases.
  • iOS: Fixed click-through in on-screen keyboard.
  • iOS: Fixed crash when Game Controller gets attached on iOS 8.
  • iOS: Fixed debug log spam in Social API.
  • iOS: Fixed iAD Show method crash when calling it while Ad is not yet loaded.
  • iOS: Fixed WWW crash.
  • iOS: Xcode 6 fixes - OSX no longer have BGRA_EXT; allow iOS8 sdk.
  • iOS: Added support for iPhone 6 icons.
  • iOS: Fixed a crash when a broken socket is written into.
  • iOS: Fixed DPI estimation for newer devices.
  • iOS: Fixed location support on iOS 8.
  • iOS: Fixed memory leak in WWW class.
  • iOS: Report size of assemblies after bytecode stripping to reduce ambiguity.
  • iOS: Work around an Xcode splash screen bug in iOS 8 landscape iPhone apps.
  • iOS: Added OnApplicationFocus() support.
  • iOS: Fixed a linker issue breaking simulator builds.
  • iOS: Fixed a crash in when closing Game Center leaderboard under specific conditions.
  • iOS: Use new font file location on iOS 8.2.
  • License: Activation on OS X 10.10 Yosemite failed on some older hardware.
  • Linux: Fixed incorrect behaviour on large XFS filesystems.
  • Linux: Don't report button/axis data when input field has focus.
  • Linux: Fixed numeric keypad input.
  • Mac OS X Standalone player: Use old location for Application.persistentDataPath if it exists.
  • Mac OS X: Fixed File limits not being set to Maximum amount and Defaulting to 256 open files.
  • Mac OS X: Bring back GPU profiler for NVIDIA GPUs on 10.9 and newer versions.
  • Mecanim: Fixed AnimatorController not being built properly when used in prefabs.
  • Mecanim: Fixed AnyState transitions disappearing in some specific cases.
  • Mecanim: Fixed transitions being duplicated when dragging StateMachines into StateMachines.
  • Mecanim: Show an error when transitions to state that doesn't exist are found.
  • Mono: Fixed issue with System.Console.InputEncoding and System.Console.OutputEncoding not changing the encoding when set.
  • OpenGL: Fixed fullscreen rendering on Windows.
  • Physics 2D: Added Physics2D.minPenetrationForPenalty property to control the penetration radius allowed before any separation impulse for is applied.
  • Physics 2D: Changing 2D collider state between trigger and non-trigger modes now maintains contact state (enter/stay/exit callbacks are correct).
  • Physics 2D: CircleCollider2D editing handles now show in the correct location when X/Y rotation is involved.
  • Physics 2D: Provide option to turn on/off the ability to detect a collider that overlaps the start of any 2D line/ray cast
  • Physics 2D: RaycastHit2D distance is now correctly calculated.
  • Physics 2D: ReferenceAngle for both HingeJoint2D and SliderJoint2D are now maintained when the components are disabled then re-enabled.
  • Physics 2D: Rigidody2D.MovePosition() no longer causes gravity to be ignored when in constant use.
  • Physics 2D: PhysicsMaterial2D bounciness now has an upper limit of 100000 rather than 1.
  • Physics 2D: Ensure that Physics2D.Raycast(all) does not produce an infinite end-point resulting in nothing being hit.
  • Physics 2D: Fixed bad Rigidbody2D interpolation when changing body position via a Transform component change.
  • Physics 2D: 2D physics colliders now correctly transform under full 3D rotation.
  • Scripting: Fixed stack overflow in class loader.
  • Scripting: Fixed Win32_IN6_ADDR.
  • Shaders: Fixed support for more than 16 textures on D3D11.
  • Shaders: Fixed view*projection matrix (UNITY_MATRIX_VP) sometimes getting out of sync.
  • Shaders: Fixed wrong OpenGL ES 3.0 shader code generation in some cases of tangents and glsl_no_auto_normalization being used simultaneously.
  • Standalone: Fixed random crash in 64-bit standalone players.
  • Standalone: Don't force-reload textures/shaders on resolution change, meaning AssetBundle.Unload(false) works as expected again.
  • Substance: Empty image inputs slots are now treated as transparent black.
  • Substance: Fixed "ThreadedObjectActivationQueue not empty" assert.
  • Substance: Some output computations would sometimes not take place when the content of image inputs had changed programmatically.
  • TouchInput: Switched timestamps from ms to us internally, to avoid 0-length delta times.
  • UI: Fixed an issue with some UI shaders not 1/2 texel offsetting correctly on DX9.
  • UI: Disabled layout components are now disregarded from layout calculations.
  • UI: Fixed memory leak in material when reloading assemblies in the editor.
  • UI: Fixed bug where Slider would snap handle to center around cursor when dragging handle instead of retaining the position of the cursor inside the handle.
  • UI: Fixed crash when stripping was enabled.
  • UI: Fixed error message when prefab was loaded that contained a input field.
  • UI: Fixed InputField bug that text did not visibly update when the text property was set from scripting.
  • UI: Fixed InputField OnValueChange not being called when setting InputField.text from script.
  • UI: Fixed issue in GridLayoutGroup that would cause elements to sometimes be offset wrong depending on what startCorner mode was used.
  • UI: fixed issue where input field would not be activated properly if navigation was None.
  • UI: Fixed logic for getting or creating Canvas when creating UI element, which sometimes failed to create a Canvas. -UI: Fixed Selectable logic to find adjacent Selectable in a given direction, which was applying the rotation twice in the logic, producing incorrect results for objects with rotation.
  • UI: InputField now calls UpdateLabel when textComponent get a SetLayoutDirty.
  • UI: Make sure we only notify children of mask state change after we have disabled the parent. This means that the children will be able to correctly examine the mask state.
  • UI: Make the canvas group a behaviour so it can be enabled / disabled. Updated code that uses this group to properly handle disabled groups, and not change the values when enabling or disabling.
  • UI: Only send end drag events when we end dragging, not on all pointer up events.
  • UI: Fixed issue where sort overridden canvas wouldn't get their depth set and therefore no events.
  • UI: Fixed issue where return on touch keyboard would not submit even if MultiLineSubmit was selected.
  • UnityEvents: Fixed an issue where modifying a unity event during invoke could lead to corruption of the UnityEvent, and events not being called properly.
  • UnityEvents: Fixed an issue with code stripping on iOS which was causing some UnityEvent calls to throw a null reference exception.
  • Version Control: Removed warning when saving scene and Perforce integration was enabled.
  • Version Control: Allow changing credentials and reconnect even when a connection is already being established.
  • Version Control: Get rid of double messages in the console windows from a range of VCS commands.
  • Version Control: Fixed plugin stop when reading a recent deleted file.
  • Version Control: Removed out-of-sync state when file is deleted on server.
  • Version Control: Revert recursively.
  • Video: Non Unity-encoded video no longer has a duration of -1.
  • WebPlayer: Mac x86_64 web plugin loads proper x86_64 Mono bundles.
  • WebPlayer: Fixed a security issue.
  • Windows Phone: Texture.ReadPixels works correctly in landscape modes.
  • Windows Phone/Store Apps: Fixed crash that sometimes happened on Application.LoadLevelAsync.
  • Windows Phone/Store Apps: Fixed an issue which caused UnityScript methods that return an IEnumerator but that do not yield throw exception on execution.
  • Windows Phone/Store Apps: Referencing generic methods in scripts no longer crashes the build.
  • Windows Phone/Store Apps: Fixed a memory leak and in rare cases a crash when doing a lot of async loading.
  • Windows Phone: Fixed touchscreen keyboard reappearing after pressing back button while GUI.TextArea has focus (WP8.1 apps only).
  • Windows Phone: Fixed an issue which caused Lumia 530 devices to freeze with black screen (WP8.1 apps only).
  • Windows Player: Fixed custom cursors not showing up correctly in fullscreen mode.
  • Windows Player: Fixed window being always on top after switching from DX9 fullscreen to desktop windowed mode.
  • Windows Store Apps: Using Winmd C++ plugins should work correctly now.
  • Windows Store Apps: It is now possible to launch Unity WSA player on-demand.

New in version 4.6.0 Patch 1 (December 4th, 2014)

  • Improvements:
  • UI: Encapsulate children mesh bounds when calculating Root Bounds. Also cache the value so we don't calculate every time we draw.
  • UI: Performance optimizations. Optimized UI batching, text rendering and reduced amount of editor-only allocations.
  • UI: Standalone input module now leaves keyboard selected object selected. Mouse and Keyboard input are now orthogonal. Clicking with the mouse will move selection to the clicked element.
  • Fixes:
  • (621985) - Android: Fixed an issue with proguard when obfuscating an exported project.
  • (639649) - Android: Fixed build-tools version check.
  • (649931), (649934) - Android: Fixed erratic touch input when not using NativeActivity.
  • (none) - Android: Fixed NEON detection on 64bit Android.
  • (647638) - Android: Fixed uGUI ScrollView/Mask on PowerVR SGX.
  • (599920) - Android: Joystick input optimization: fixed slowdown on some older devices.
  • (605604) - Android: Support for xxxhdpi icons.
  • (none) - Android: Updated SDK and JDK requirements to match Android 5.0.
  • (544272), (561916) - Android: Added additional fallback font "DroidSansFallback" (but also keeping "Droid Sand Fallback") to fix for e.g. Korean font on older Android devices. Asian fonts are still not working on many Android 5 devices.
  • (649235) - Android: Fixed clear of stencil buffer to fix uGUI masking.
  • (none) - Changed default PlayerSettings Graphics Level to Auto for all platforms using OpenGL ES (was Force OpenGL ES 2).
  • (632576) - Core: Fixed undoing Add/Remove RectTransform and will no long break the scene gizmos.
  • (650947), (643162) - Core: Fixed bug in anchoredPosition3D property on RectTransform that caused coordinates to be swapped.
  • (638865) - Editor: Fixed AssetModificationProcessor.OnWillSaveAssets checking out files that were not Saved and OnWillDeleteAssets always marking assets for delete.
  • (none) - Editor: Fixed Canvas editor for nested Canvas showing UI as if it were a root Canvas if the GameObject was inactive.
  • (none) - Editor: Fixed Canvas editor which was not working well with multi-object editing.
  • (646091) - Editor: Sprite asset inspector in single mode now shows correct values.
  • (630411) - Inspector Functionality: Disable the asset label editor UI if any of the selected assets are not open for edit.
  • (439037) - iOS: Added OnApplicationFocus() support.
  • (none) - iOS: Fixed a linker issue breaking simulator builds.
  • (none) - iOS: Fixed frame buffer resolution issues for iPhone 6+.
  • (647735) - iOS: Fixed a crash in when closing Game Center leaderboard under specific conditions.
  • (650698) - iOS: Use new font file location on iOS 8.2.
  • (644500) - License: Activation on OS X 10.10 Yosemite failed on some typically older hardware.
  • (648131) - MacOSX: Bring back GPU profiler for NVIDIA GPUs on 10.9 and newer versions.
  • (none) - Mono: Fixed issue with System.Console.InputEncoding and System.Console.OutputEncoding not changing the encoding when set.
  • (650692) - Shaders: Fixed wrong OpenGL ES3.0 shader code generation in some cases of tangents and glsl_no_auto_normalization being used simultaneously.
  • (644935), (639847), (639987) - Standalone: Don't force-reload textures/shaders on resolution change (meaning AssetBundle.Unload(false) works as expected again).
  • (642040) - Substance: Empty image inputs slots are now treated as transparent black.
  • (626250) - Substance: Fixed "ThreadedObjectActivationQueue not empty" assert.
  • (none) - Substance: Some output computations would sometimes not take place when the content of image inputs had changed programmatically.
  • (none) - UI: Fixed an issue with some UI shaders not 1/2 texel offseting correctly on dx9.
  • (none) - UI: Disabled layout components are now disregarded from layout calculations.
  • (647812) - UI: Fixed memory leak in material when reloading assemblies in the editor.
  • (none) - UI: Fixed bug where Slider would snap handle to center around cursor when dragging handle instead of retaining the position of the cursor inside the handle.
  • (646188) - UI: Fixed crash when stripping was enabled.
  • (none) - UI: Fixed error message when prefab was loaded that contained a input field.
  • (646147), (646375) - UI: Fixed InputField bug that text did not visibly update when the text property was set from scripting.
  • (647713) - UI: Fixed InputField OnValueChange not being called when setting InputField.text from script.
  • (646689) - UI: Fixed issue in GridLayoutGroup that would cause elements to sometimes be offset wrong depending on what startCorner mode was used.
  • (642289) - UI: fixed issue where input field would not be activated properly if navigation was None.
  • (645219) - UI: Fixed logic for getting or creating Canvas when creating UI element, which sometimes failed to create a Canvas.
  • (none) - UI: Fixed Selectable logic to find adjacent Selectable in a given direction, which was applying the rotation twice in the logic, producing incorrect results for objects with rotation.
  • (646375) - UI: InputField now calls UpdateLabel when textComponent get a SetLayoutDirty.
  • (650077) - UI: Make sure we only notify children of mask state change after we have disabled the parent. This means that the children will be able to correctly examine the mask state.
  • (646565) - UI: Make the canvas group a behaviour so it can be enabled / disabled. Updated code that uses this group to properly handle disabled groups, and not change the values when enabling or disabling.
  • (646448) - UI: Only send end drag events when we end dragging, not on all pointer up events.
  • (647344) - UI: Fixed issue where sort overridden canvas wouldn't get their depth set and therefore no events.
  • (none) - UI: Fixed issue where return on touch keyboard would not submit even if MultiLineSubmit was selected.
  • (649407) - UnityEvents: Fixed an issue where modifying a unity event during invoke could lead to corruption of the UnityEvent, and events not being called properly.
  • (641874) - UnityEvents: Fixed an issue with code stripping on iOS which was causing some UnityEvent calls to throw a null reference exception.
  • (639804) - Windows Phone 8.1: Fixed an issue which caused Lumia 530 to freeze and its screen go black.
  • (635893) - Windows Store Apps: It is now possible to launch Unity WSA player on-demand.

New in version 4.6.0 (November 26th, 2014)

  • FEATURES:
  • New UI System: Design UIs for your game or application using Unity's powerful new component based UI framework and visual tools:
  • Create UIs in screen space with or without perspective and with support for pixel perfect alignment, or in world space for simple creation of in-world interactions.
  • The layout system combines anchoring to sides, corners, or custom points in the parent container with the ability to stretch to a percentage or full extent of the parent width or height. Simple Scene View handles allows intuitive visual control and tweaking of the positional behavior.
  • Build up designs and customized controls composed of image, text, masking, and effects. All graphical components have full support for custom materials and lighting.
  • Built-in controls for buttons, sliders, scroll views, input fields and more have been designed for full cross platform deployment, supporting touch controls and mouse as well as directional navigation such as arrow keys or gamepad controls.
  • The UI system integrates with Unity’s animation smoothly, meaning that you can use state machines and other animation features to control your UI elements and panels.
  • The UI system is designed to be extensible so that it can meet the needs of your projects. Combine existing UI elements together to create new controls, extend existing controls, or write new controls from scratch.
  • Easily set up callbacks for your UI controls in the Inspector using the new persistent delegate system. A lot of functionality can be hooked up to your UI with no programming needed!
  • New Rect Tool: In previous versions, rect handles were used only in 2D mode and only for SpriteRenderers. With the introduction of the new UI system that is a hybrid of 2D and 3D, more explicit control is needed to be able to efficiently position elements. The new Rect tool in the main Unity toolbar can be used for sprites, UI elements, and any other object as well. The rect handles have also received an overhaul to be more consistent with the other tools, and to be more useful for a wide variety of uses:
  • Rect handles now support Pivot/Center mode as set in the toolbar as well Local/Global mode as set in the toolbar.
  • Rect handle squashing (holding Control/Command while dragging a side) now supports preserving volume rather than area when holding down Shift.
  • Rect handles for objects that appear small in the Scene View now show a disc handle that can be used to move the object in the plane of the rect. When zooming further in, the disc will fade out as the normal rect handles fade in.
  • Extensible Event Messaging System: Use and extend the new Event System framework. The system is used for the new UI to send and receive events, but it can be extended to support custom input devices and custom event logic:
  • Inbuilt support for touch and standalone.
  • Supports 2d, 3d, and UI components.
  • Extensible; add custom input handling and custom events.
  • Persistent Delegates (Unity Events): A new way to set callbacks via the UI and have them be built into a player. This helps non-programmers quickly add functionality to your application within the editor.
  • New Android Build Targets: Support has been added for x86 as a build target. Fat binary support (x86+ARMv7) is supported as well and is the new default.
  • IMPROVEMENTS:
  • Core Improvements:
  • Added smart-allocating GetComponents method which fetches components of type T and grows the list as needed. Non-generic version that supports interfaces has also been added.
  • Added StopCoroutine(Coroutine) function.
  • Added callback 'OnTransformParentChanged' to MonoBehaviour. This is called whenever a transform, or one of it's parent transforms has been reparented.
  • Added Transform.SetParent method that optionally allows setting the parent transform without changing the local position, rotation or scale. For RectTransform it also doesn't change the sizeDelta.
  • Implemented and exposed Transform.TransformVector and Transform.InverseTransformVector so it's no longer necessary to use localToWorldMatrix and WorldToLocalMatrix just to transform vectors with scaling included.
  • Added Vector2.SmoothDamp to be consistent with Vector3.SmoothDamp, Mathf.SmoothDamp, and others.
  • New API TouchScreenKeyboard.isSupported to check if platform supports on screen keyboard.
  • Added new WillFlushUndoRecord callback to Undo class.
  • Added Input.touchSupported API: it tells whether the device on which application is currently running supports touch input.
  • Editor Improvements:
  • Reorganized GameObject creation menus with categories such as 3D Object, 2D Object, Light, etc. as well as improved functionality.
  • "Create Empty" now also appears in the hierarchy Create dropdown.
  • The context menu for Game Objects in the hierarchy can now be used to create new Game Objects as children.
  • More details on the error message when failing to add a Component due to already having another component that is incompatible.
  • If during play mode a hierarchy window takes too long to fetch new data a warning icon will appear to advise users frame rate could be affected based upon the chosen hierarchy sorting.
  • Editor: Made Scene View camera near and far clip planes use constant multipliers of size rather than four fixed ranges with fixed values that cause popping when transitioning over the thresholds of those ranges. The new ranges are about the same for close and medium zoom but has significantly larger near clip planes when zoomed far out, which reduces z-fighting.
  • Made main Game View used by CameraEditor visualizations and the Canvas be the last focused Game View rather than just the first Game View found.
  • Made sure the screen manager uses the correct game view size in the editor, which is only known on the managed side.
  • Increased Texture anisotropic level limit to 16 in the Texture Inspector.
  • Exposed "Generate Mip Maps" option in the Texture Inspector when in Sprite mode.
  • Renamed TextureImporter spritePixelsToUnits to spritePixelsPerUnit and made old property obsolete. The old name was misleading.
  • Curves can now be renamed in the animation window.
  • Made SerializedProperty.displayName public.
  • Enum options generated from SerializedProperty are now nicified just like for all other enum fields in the Inspector.
  • Added SerializedProperty.enumDisplayNames that return the names for enum values as they're shown in the Inspector.
  • Mecanim Improvements:
  • Animation of PPtr types are now supported in the animation window (textures, sprites, materials etc).
  • SendTransformChanged is now only sent to transforms that are animated. Siblings with no animation will not receive SendTransformChanged.
  • 2D Improvements:
  • Default SpritePacker policies will automatically pack mipmapped sprites (padding power - 2).
  • Aniso level for sprites with mip-maps now defaults to 16.
  • SpritePacker will flood the atlas instead of adding 1 pixel borders to sprites.
  • A new pixelsPerUnit property has been exposed on the Sprite class.
  • Android Improvements:
  • Support for profiling Intel GPU using the Unity Editor.
  • Added support for BGRA textures.
  • CHANGES:
  • Editor Changes:
  • T is now assigned as default shortcut key for Rect tool. The Sprite Editor trim shortcut key defaults to Shift-T to avoid conflict with the Rect tool.
  • Rect handles now do non-uniform scaling by default for consistency with a large range of other applications. Hold down shift to scale uniformly.
  • The preference default for script language in the Add Component dropdown has been changed from Javascript to C#, since that's the new default for documentation and examples.
  • Renamed spritePixelsToUnits to spritePixelsPerUnit in TextureImporterSettings.
  • Graphics Changes:
  • Stencil buffer is now available in Unity Free.
  • 2D Changes:
  • Sprite Packer is now enabled by default.
  • New Sprites now have mip-maps enabled by default.
  • FIXES:
  • Editor Fixes:
  • Fixed occasional argument out of range exceptions when using Scene View tools.
  • Picking of locked scene view layers is now prevented.
  • ObjectSelector is now ensured to default to the Asset tab when selecting PhysicsMaterial2D objects.
  • Graphics Fixes:
  • Fixed an issue where render texture was not being created due unsupported anti aliasing value on devices like Surface RT.
  • Compressed sprites are no longer deformed on devices that support NPOT textures.
  • Animation Fixes:
  • Fixed issue where changing the animated property to be Rect Transform Scale and trying to transition between 0 and 1 failed.
  • Fixed crash when creating an AnimationClip on a humanoid rig.
  • Fixes crash when previewing transitions on an Animator with UnscaledTime update mode.
  • 2D Fixes:
  • Unity no longer crashes if a mesh is dragged onto a SpriteRenderer.
  • Fixed issue where 2D colliders break when used as prefab children.
  • Mobile Fixes:
  • Windows Phone 8: Fixed a race condition in TouchScreenKeyboard which would cause ".active" to return false just after the keyboard was opened.
  • Windows Phone 8.1: Fixed an issue which caused InputField and GUI.TextArea to always receive capital letters from the on screen keyboard.
  • Android: Disabled shadows for Intel PowerVR devices to avoid graphics artifacts.

New in version 4.5.5 Patch 5 (November 24th, 2014)

  • Improvements:
  • AssetBundle: Added additional information about WWW.LoadFromCacheOrDownload
  • Fixes:
  • (644314) - DX11: Fixed GPU video memory detection on some GPUs. Was wrongly disabling shadows & deferred on some Intel ones, for example.
  • (636564) - Editor: Fixed asset bundle building stealing window focus when Editor is in the background.
  • (614447) - Inspector Functionality: Fixed bool properties with DecoratorDrawers not reserving space for them correctly.
  • (none) - iOS: Add player setting to target iOS 8.0 and 8.1.
  • (645432) - iOS: Disable tree billboard mipmaps on GLES devices.
  • (none) - iOS: Do not use AVAudioSessionRouteChangeNotification on pre-iOS6 devices.
  • (none) - iOS: Fixed a memory leak in QueryADID().
  • (none) - iOS: Fixed severe visual issues when setting screen orientation via Screen.orientation.
  • (645281) - Linux: Fixed incorrect behaviour on large XFS filesystems.
  • (none) - Physics2D: Added 'Physics2D.minPenetrationForPenalty' property to control the penetration radius allowed before any separation impulse for is applied.
  • (606432) - Version Control: Removed warning when saving scene and perforce integration was enabled.
  • (640465) - Windows Phone/Windows Store Apps: Fixed crash that sometimes happened on Application.LoadLevelAsync.
  • (647481) - Windows Store Apps/WP8: Fixed a memory leak and in rare cases a crash when doing a lot of async loading.

New in version 4.6 RC 3 (November 22nd, 2014)

  • Improvements:
  • Documentation: Update scripting reference styling
  • Changes:
  • UI: Change the default mode of the Standalone module to be Mouse as it allows both mouse + KB at the start of a scene load.
  • Fixes:
  • Mecanim: Fix linear scale blending for additive layers.
  • Mecanim: Fixes crash when previewing transitions on an Animator with UnscaledTime update mode.
  • Physics: Fix issue where 2D colliders break when used as prefab children.
  • UI: Removed spelling error enum value from EventTriggerType enum.
  • IMGUI: Fix issue where sometimes it was impossible to not select the last character in an Input Field.

New in version 4.6 RC 2 (November 22nd, 2014)

  • Fixes:
  • 2D: SpritePacker will not crash when packing textures with a pending reimport.
  • Editor: Fix SceneView Rect Selection interfering with some tool handles.
  • Mecanim: Fixed crash when creating an AnimationClip on a humanoid rig.
  • UI: Fixed typo in EventTriggerType.Submit and marked old name as obsolete.
  • UI: Fixed InputField bug that text does not visibly update when the text property is set from scripting.
  • UI: Fixed hard crash when any stripping was enabled.
  • UI: Fixed error message when instantiating a prefab with a input field at runtime

New in version 4.6 RC 1 (November 7th, 2014)

  • FEATURES:
  • Added Input.touchSupported API: it tells whether the device on which application is currently running supports touch input.
  • Android: Support for x86 as a build target.
  • Android: Fat binary support (x86+ARMv7). Now the new default.
  • IMPROVEMENTS:
  • Android: Support for profiling Intel GPU using the Unity Editor.
  • Android: Added support for BGRA textures.
  • Editor: Added SerializedProperty.enumDisplayNames that return the names for enum values as they're shown in the Inspector.
  • UI: Add missing UI system callbacks to EventTrigger.
  • UI: New default controls look:
  • Doubled resolution of sprites in default UI elements so they can be displayed up to scaleFactor 2 without being pixelated.
  • Updated graphics for default UI elements with thinner outlines and new sprite knob graphic as well as updated checkmark graphic.
  • Improved layouts in standard UI elements in GameObject menu.
  • Changed default UI colour and transition state colors.
  • UI: InputField improvements:
  • Tweaked InputFieldEditor, reordering a few elements and adding spacing both for organisation of InputField specific fields and to match spacing in other Selectable controls.
  • Removed concepts of StartingText and ActiveTextColor. Added concept of Placeholder graphic (for example a Text) that's enabled when the text string is empty.
  • Changes to the Text property are now visible in Edit Mode.
  • Always ensure InputField caret is initially visible after clicking since it can otherwise be confusing for a moment.
  • Added new contentType property to InputField which is used to indicate content type at a more high level. It controls lineType, inputType, keyboardType and characterValidation, so these don't need to be shown in the Inspector most of the time.
  • Renamed validation property to characterValidation to make it more clear it only validates per-character and not as a whole.
  • Renamed characterValidation type Float to Decimal.
  • Removed characterValidation type Username since it's unclear what that means.
  • Changed characterValidation type Name to accept all letters (as according to .Net's char.IsLetter() method) rather than just A-Z.
  • Added characterValidation type EmailAddress.
  • Renamed caretBlinkSpeed to caretBlinkRate and also inverse it's meaning to a higher value makes it blink faster.
  • Changed default caretBlinkRate from 1.0 to 1.7, which is more in line with common OS defaults.
  • Improved handling when changing the blink rate while the caret is active.
  • Show caret blink rate as a slider in the Inspector.
  • New text selection color that has higher alpha, is more defined as well as being more in line with OS standards.
  • Fixed issue that scrolling would scroll such that caret remained on last of visible lines (for multi-line) or after last character (for single-line) rather than only changing scrolling if needed.
  • Fixed issue where text would not scroll up when deleting characters until the caret went up beyond the top visible line.
  • While dragging selection, make selection go to text start if above first line and to text end if below last line, and make it update the selection also while dragging outside the text bounds.
  • Improved behavior of arrow keys in text editing in InputField.
  • Prevent distracting hover and pressed transitions in InputField while editing text.
  • Make select all on focus actually work, and do it for multi-line too.
  • Don't scroll to end on focus.
  • Make scrolling (while dragging selection beyond visible lines or characters) faster and even faster horizontally.
  • CHANGES:
  • Editor: Write warning to the console when setting parent of RectTransform using the parent property rather than SetParent, since it's a cause of widespread confusion and support requests. For those who actually want this functionality, they can use SetParent with worldPositionStays set to true, which does the same thing as the parent property.
  • Core: Changed RectTransform.reapplyDrivenPropertiesInEditor delegate to reapplyDrivenProperties, which now apply to the driven RectTransform rather than the driver, and works at runtime too.
  • UI: Renamed DrivenTransformProperties PositionZ to AnchoredPositionZ and Added combined flags AnchoredPosition3D. This ties in with new anchoredPosition3D property on the RectTransform.
  • UI: Removed builtin sprite resources for popup graphics since there is no popup control is included with 4.6 and the graphics were outdated.
  • UI: Added utilities to flip RectTransform layout around axis or flip axes, and apply this functionality when changing slider or scrollbar direction in the Editor, so layout doesn't have to be changed manually.
  • UI: Removed ReferenceResolution and PhysicalResolution components since they have been replaced by CanvasScaler.
  • UI: Make DrivenRectTransformUndo class internal as it was not meant to be exposed.
  • UI: Renamed InputField onSubmit to onEndEdit to avoid confusion since it's also invoked when user clicks away from InputField.
  • UI: Default the UnityEvent creation state to 'Runtime Only' as it is the general case.
  • UI: InputField.value has been changed to ".text" and ".text" is now ".textComponent" to be more consistent with accessing information from the Text component
  • FIXES:
  • Windows Phone 8.1: Fixed an issue which caused InputField and GUI.TextArea to always receive capital letters from the on screen keyboard.
  • Android: Disabled shadows for Intel PowerVR devices to avoid graphics artifacts.
  • Windows Phone 8.0: Setting TouchScreenKeyboard.text will no longer reset caret position.
  • 2D: Unity will not crash if a mesh is dragged onto a SpriteRenderer.
  • Animation: Changing the animated property to be Rect Transform Scale and trying to transition between 0 and 1 fails
  • MacOSX: Fixed scroll rect mask in fullscreen
  • Windows Phone 8.1/Windows Store: Fixed UI button staying highlighted even after touch ending.
  • Editor: Version control will no longer try to version Unity's defaults assets and thus will not crash.
  • UI: on touch screen devices, first capital letter InputField validation now works correctly.
  • Windows Phone 8.0: InputField with validation no longer reverses the text string.
  • 2D: NPOT sprites with mipmaps will not get parts cut-off when used on platforms not supporting NPOT textures.
  • Core: Fixed Canvas screen space camera mode making the canvas lag behind one frame when camera is moved in LateUpdate.
  • Core: Recalculate auto-layout when RectTransforms are enabled or disabled.
  • UI: Fixed Toggle having its ToggleGroup set to none when disabled.
  • UI: Fixed ToggleGroup.SetAllTogglesOff not doing anything when allowSwitchOff was not enabled. The allowSwitchOff setting is only meant to disallow the end user from switching a toggle off, not disallow doing it from scripting.
  • UI: Don't notify ToggleGroup when switching toggle that's not active or not enabled.
  • UI: With errors in ToggleGroup about Toggle not being part of ToggleGroup when it was.
  • UI: Fixed Slider not getting pressed transition plus simplify code.
  • UI: Fixed regression where Canvas scaleFactor and referencePixelsPerUnit would be reset on recompiling, and would not be set correctly if disabling and then enabling the CanvasScaler.
  • UI: Fixes to Text component and default controls that help prevent text from disappearing at certain Canvas scale factors.
  • UI: Fixed warning being shown in SelfControllerEditor about parent LayoutGroup even when group is disabled.
  • UI: Fixed nullref in LayoutGroup when group have children without RectTransform.
  • UI: Only show RectTransform position and size data in Inspector in less intuitive way if position or size is driven, not just if any value is driven.
  • UI: Prevent rounding errors from accumulating when changing RectTransform anchors.
  • UI: Fixed ScrollRect scrolling by itself after being enabled due to bounds being calculated in LateUpdate before the layout has been calculated.
  • UI: Do not send 'select' event from TouchInputModule (make it the same as Standalone)
  • UI: Do not reregister the graphic on the canvas if the graphic is disabled. That is only add and remove it during enable and disable.
  • UI: Fix issue with scroll rects transform being accessed before OnEnable has been called.
  • UI: Fix issue with graphic update list incorrectly being recreated
  • UI: When removing a CanvasGroup reset the settings and issue CanvasGroupChanged callback.
  • UI: Remove allocs in InputModules by refactoring data structures
  • UI: Fix deselection handling (when you click on nothing deselect the current thing)
  • UI: Fix issue with SelectGameObject being called recursively. Do not allow this to happen as it can corrupt internal state of selectable objects.
  • Core: Fixed after removing a RectTransform the GameObject not move anymore.
  • Editor: Prevent crash when loading a corrupted layout file.
  • Editor: Fixed issues with multi-edit on UnityEvent PropertyDrawer.
  • Editor: Fixed some scene-view shaders for DX11.
  • Core:Multiple FormerlySerializedAs attributes now work properly.
  • Core: Fixed FormerlySerializedAs on fields inside arrays.
  • UI: Fixed IndexOutOfRange exception on mac caused by input field
  • UI: Sending Inputfield onValueChanged when characters are removed
  • UI: Inputfields Text is now above the highlight selection to make text clearer
  • UI: Pressing cancel (esc) no longer calls OnSubmit and text will be reverted to original before typing
  • UI: Set the inputfield caret back to zero on deselect so the first words are visible
  • UI: Creating UI element no longer show warning message about using SetParent
  • UI: Prevent moving the inputfield caret on mobile devices with hideMobileInput = true

New in version 4.5.5 Patch 4 (November 7th, 2014)

  • Improvements:
  • Physics 2D: Added 'Static Collider Shapes' to profiler for 2D physics.
  • Serialization: Randomize fileIDs for objects in prefabs to lower the chance of merge conflicts
  • Fixes:
  • (600514) - Android: Expanded previous crash fix to all Adreno 3xx series devices.
  • (609901) - Debugger: Fixed crash when stepping into a breakpoint on 64-bit OSX standalone player.
  • (none) - Editor: Fixed version control plugin and shader compiler stopping prematurely sometimes.
  • (none) - iOS: Added support for iPad Mini 3 and iPad Air.
  • (635594) - iOS: Fixed severe visual issues when setting Screen.orientation when autorotation is disabled.
  • (638841) - Linux: Don't report button/axis data when input field has focus.
  • (638841) - Linux: Fixed numeric keypad input.
  • (633885) - OSX: Fixed File limits not being set to Maximum amount and Defaulting to 256 open files.
  • (644965) - Physics 2D: PhysicsMaterial2D bounciness now has an upper limit of 100000 rather than 1.
  • (643425) - Shaders: Fixed support for more than 16 textures on D3D11.
  • (none) - Standalone: Fixed random crash in 64-bit standalone players.
  • (641919) - Windows Store Apps: Using Winmd C++ plugins should work correctly now.

New in version 4.5.5 Patch 3 (October 31st, 2014)

  • Improvements:
  • Documentation: Styling for links is less flashy now.
  • Physics 2D: Renamed 'Physics2D.deleteStopsCallbacks' to 'Physics.changeStopsCallbacks' to better represent its purpose (old property is now obsolete).
  • Fixes:
  • (639299) - Android: Added splitting of level files in APK to fix slow loading problem.
  • (604438) - Android: Avoid reading expensive metrics in DisplayInfo more than once per frame.
  • (600514) - Android: Fixed crash on certain Adreno HW with OS version 4.4.2 or more recent 4.4.x.
  • (none) - Android: Fixed crash on xperia play.
  • (635504) - Android: Fixed forwarding of input events to Java when Unity is paused but activity is still running.
  • (none) - Android: Fixed frame rate on tegra devices when doing GPU profiling.
  • (544272) - Android: Workaround for corrupted font textures on older Adreno drivers.
  • (641698) - Direct3D: Add black bars in fullscreen mode to maintain aspect ratio.
  • (631593) - Editor: Fixed crash on scene load when prefabs have unsaved child objects.
  • (641698), (633449) - Graphics: Fixed custom cursors when hovering over black bars in fullscreen mode.
  • (616670) - Graphics: Fixed incorrect sprite tangent handling on ARM NEON capable devices.
  • (642120) - iOS: Fixed 2nd stage splash screens on iPhone 6+.
  • (635601) - iOS: Fixed crash in Resources.UnloadUnusedAssets after GameCenter login.
  • (none) - iOS: Fixed splash images for iPhone6+ in display zoom mode.
  • (641844) - iOS: Removed unnecessary error messages in GameCenter API.
  • (597261) - Mecanim: Fixed AnimatorController not being built properly when used in prefabs.
  • (641551) - Mecanim: Fixed AnyState transitions disappearing in some specific cases.
  • (639598) - OpenGL: Fixed fullscreen rendering on Windows.
  • (636761) - Physics 2D: Ensure that Physics2D.Raycast(all) does not produce an infinite end-point resulting in nothing being hit.
  • (642989) - Physics 2D: Fixed bad Rigidbody2D interpolation when changing body position via a Transform component change.
  • (586085) - Scripting: Fixed stack overflow in class loader.
  • (633417) - Scripting: Fixed Win32_IN6_ADDR.
  • (576809), (575646) - TouchInput: Switched timestamps from ms to us internally, to avoid 0-length delta times.
  • (640239) - Version Control: Allow changing credentials and reconnect even when a connection is already being established.
  • (none) - Version Control: Get rid of double messages in the console windows from a range of VCS commands.

New in version 4.5.5p2 (October 30th, 2014)

  • Fixes:
  • (633671) - Editor: Add support for importing .DDS cubemaps.
  • (none) - GLES: Sphere map fixes.
  • (566255) - Graphics: Fixed occasional crashes when switching the graphics device. Happens in editor when toggling between DX9 and DX11, or on Windows Phone when resuming the app.
  • (626431) - iOS: Don't count the size of the executable twice in the detailed memory snapshot.
  • (635981) - iOS: Fixed player remaining paused after interstitial ads in certain cases.
  • (634167) - iOS: Fixed click-through in on-screen keyboard.
  • (639762) - iOS: Fixed crash when Game Controller gets attached on iOS 8.
  • (637946) - iOS: Fixed debug log spam in Social API.
  • (639549) - iOS: Fixed iAD Show method crash when calling it while Ad is not yet loaded.
  • (640560) - iOS: Fixed WWW crash.
  • (none) - iOS: Xcode6 fixes: OSX no longer have bgra_ext, allow ios8 sdk.
  • (638453) - Mecanim: Fixed transitions being duplicated when dragging StateMachines into StateMachines.
  • (633470) - Mecanim: Show an error when transitions to state that doesn't exist are found.
  • (637553) - Physics2D: Changing 2D collider state between trigger and non-trigger modes now maintains contact state (enter/stay/exit callbacks are correct).
  • (637725) - Physics2D: CircleCollider2D editing handles now show in the correct location when X/Y rotation is involved.
  • (640200) - Physics2D: Provide option to turn on/off the ability to detect a collider that overlaps the start of any 2D line/ray cast
  • (636745) - Physics2D: RaycastHit2D distance is now correctly calculated.
  • (635891) - Physics2D: ReferenceAngle for both HingeJoint2D and SliderJoint2D are now maintained when the components are disabled then re-enabled.
  • (640154) - Physics2D: Rigidody2D.MovePosition() no longer causes gravity to be ignored when in constant use.
  • (none) - Shaders: Fixed view*projection matrix (UNITY_MATRIX_VP) sometimes getting out of sync.
  • (625731) - Windows Phone 8.1: Fixed touchscreen keyboard reappearing after pressing back button while GUI.TextArea has focus.
  • (633449) - Windows Player: Fixed custom cursors not showing up correctly in fullscreen mode.
  • (633049) - Windows Player: Fixed window being always on top after switching from DX9 fullscreen to desktop windowed mode.

New in version 4.5.5 (October 30th, 2014)

  • OpenGL ES 3.0 for everyone:
  • Unity 4.5 adds OpenGL ES 3.0 support for the latest iOS devices. What’s more, we’ve brought a bunch of improvements to ES 3.0 support generally, including much better graphics level selection in player settings, support for 3D textures and a number of stability and performance fixes.
  • Smooth and natural 2D physics:
  • There are lots and lots of 2D physics advances to benefit from in 4.5. We’ve dug around and changed some things in Box2D as well as adding functions that bring 2D physics better into line with the functions and conventions of our 3D physics system.
  • Faster scene loading:
  • We’ve introduced a significant performance improvement by reworking MonoBehaviour serialization. From now on, your prefabs will instantiate way faster. As well as serializing classes, you can now also serialize structs, making it easier to be friendly to the garbage collector.
  • Shader workflow boost:
  • No more coffee breaks while waiting for Image Effects, Marmoset Skyshop or other advanced shader packs to import. Our all-new shader importer makes things much, much faster. Plus, we’ve also improved shader errors reporting, and made debugging surface-shader-generated code so much easier.
  • Rapid repairs:
  • The Module Manager now allows us to ship hotfixes across all the mobile platforms we support. If, for example, an OS update has unfortunate consequences for Unity installs, we’ll be able to address any issues at double-quick speed, meaning you won’t have to wait for the next full Unity release to access fixes. Read more about how you can get Unity bug fixes faster.
  • Joint gizmos, wheel joints and API sophistication:
  • Amongst many other things, our 2D tools now feature a wheel joint for your vehicular pleasure and some super-amazing 2D joint gizmos, plus you’ll find that we’ve added sophistication and flexibility to the API.
  • Drag as you play:
  • As always, our Beta group have been a great help in ensuring release quality. One feature they particularly loved in 4.5 was the ability to drag 2D rigidbody objects around whilst in the editor’s play mode. Drag, drop and play to your heart’s content!
  • Unity Remote iOS upgrade:
  • Unity Remote is our playtesting solution for iOS and Android. As of Unity 4.5, there’ll be no more Wifi latency when playtesting your games on iOS devices. Plus, we’ve added support for the full range of iOS device inputs including accelerometers, gyroscopes and camera images. Unity Remote is available free of charge from Google Play and the App Store.
  • Stereoscopic rendering for DirectX 11:
  • Many of today’s displays have a 3D feature and ship with 3D glasses, but few games are designed to take advantage of this. In Unity 4.5 we’ve added a Pro-only function that automates the process of building stereoscopic content for any Windows appliance running DirectX 11, making it much easier to build stereoscopic games.
  • Sparse Textures:
  • Want massive, detailed textures without using huge amounts of memory? With Sparse Textures, textures are broken into “tiles” and can be loaded and unloaded as needed. In Unity 4.5, we’re exposing this DirectX 11.2 hardware capability, so you can build your own massive texture systems that use it.
  • Improvements:
  • Editor: Added additional logging when the MonoDevelop script editor was opened on OSX.
  • iOS: Added support for iPhone 6 & iPhone 6 Plus.
  • iOS: Display the number of finished files in AOT cross-compile progress bar.
  • Linux: Implemented screen-fullscreen command line option.
  • OSX: Implemented show-screen-selector command-line option.
  • Physics: Show inspector warning when a 2D collider removes generated collision shape(s) because they fail verification. This supplements the existing warning when no collision shapes are present.
  • Shaders: Improved performance of importing complex surface shaders (with many multi_compile directives).
  • Shaders: Improved performance of shader compilation for OpenGL platforms.
  • Fixes:
  • Android: Android TV - Fixed uses-feature attribute in manifest that could require touchscreen.
  • Android: Fixed delay when resuming game from paused state.
  • Android: Fixed flickering screen on resume.
  • Android: Added missing implementation of UnityMemoryBarrier()
  • Android: Fixed crash on application resume on Adreno devices with Android 4.1.1 or 4.1.2.
  • Android: Preventing black frame to be displayed when on-screen keyboard appears/disappears.
  • Android: Export now works for projects that use UnityPlayerActivity or UnityPlayerProxyActivity.
  • Asset Import: Recompile scripts synchronously when the -buildTarget parameter is used.
  • Core: Fixed the "Failed to initialize unity graphics" error when using the -no-graphics flag in OS X
  • Direct3D 11: Unity will now correctly fall back to no MSAA depth textures if the GPU does not support ones with MSAA.
  • Documentation: Fixed rendering for richText.
  • Editor: Fixed word wrapping in the detail area of the console.
  • Editor: Handle an intermittent failure in CoCreateInstance during the Visual Studio launch process.
  • Editor: Open a script in the correct version of Visual Studio when the script is already open in a different version.
  • Editor: Fixed selected wireframe not rendered if object's shader has GrabPass as the first pass.
  • Editor: Use External Editor argument expansion in undocumented API.
  • Editor: Fixed an issue whereby dragging a prefab into hierarchy from project view was not selected automatically.
  • Editor: Don't pass out incorrect PropertyHandler on first call to GetHandler.
  • Flash : Empty project no longer has (harmless) errors in the log.
  • OpenGL ES 2: Fixed issues with native plugin called in OnPreRender .
  • Graphics: Send kGfxDeviceEventInitialize to native plugins if renderer changes.
  • Graphics: Fixed light culling with custom projection matrix.
  • Image Effects: Fixed Image filters targeting a render texture when a camera doesn't clear the color buffer.
  • Image Effects: Fixed Fast Bloom rendering upside down on Direct3D when anti-aliasing was used (reimport Image Effects package to get the fix).
  • iOS: Adaptively increase AOT build timeout to fix builds on large projects.
  • iOS: Do not run excessive number of mono AOT compiler instances.
  • iOS: Fixed Xcode 6 GM build & run support.
  • iOS: Fixed Xcode 6 GM Simulator support.
  • License: Give permissions to Users group on Windows to modify/write the license .ulf file, after Unity was activated by an administrator.
  • Linux: When using "Default is fullscreen" and "Default is native resolution" on a multidisplay system, store the resolution pref from the actual window size instead of the full desktop resolution.
  • Manual: Update documentation for player command line arguments.
  • Mecanim: Fixed trigger parameter consumption when used by multiple layers.
  • OSX: Now GameKit is loaded dynamically, it should help with Mac App Store submissions for games, which are not using Game Center.
  • OSX: Application.persistentDataPath changed from ~/Library/Caches/ to ~/Library/Application Support/
  • Physics: 'OnMouseDown' and 'OnMouseUp' callbacks for 3D physics now don't take priority over 2D physics, they can run simultaneously.
  • Physics: 'OnMouseDown' and 'OnMouseUp' callbacks for both 2D and 3D colliders now correctly use camera near/far plane distance.
  • Scripting: Properly validate class constraint on generics with reference type constraint.
  • Shaders: Fixed #include processing that are nested in #ifdef blocks in surface shaders.
  • Shaders: Fixed faceforward() for OpenGL platforms.
  • Shaders: VFACE pixel shader semantic translates more properly to OpenGL platforms now (values of -1 or 1, not 0 or 1 like before).
  • Substance: Fixed regression where valid runtime cache data would not be used and ProceduralTextures would be needlessly recomputed.
  • Substance: ProceduralTextures are no longer corrupted when switching color space in the editor.
  • Substance: ProceduralTextures are no longer corrupted when switching the masterTextureLimit in the editor.
  • Substance: Textures generated from a cloned ProceduralMaterial now have the proper alpha channel.
  • Terrain: Now tree imposter image will render in correct color space.
  • Version Control: Disallowing moving/renaming version controlled files that are changed/checked out remote.
  • WebCamTexture: Uses the first webcam device by default on all platforms.
  • WebPlayer: Fixed WebPlayer Loading failure when UNITY_DISABLE_PLUGIN_UPDATES = yes.
  • Windows Phone 8.0: Fixed an issue which caused rendering from scripts not to work the same frame that back button was pressed on certain devices.
  • Windows Phone 8.0: Using image effects no longer distorts the image resolution.
  • Windows Phone 8.1: Fixed copying of 240% sized wide tile to final VS solution.
  • Windows Phone 8.1: TouchScreenKeyboard.visible no longer throws an exception if called before creating an actual keyboard.
  • Windows Phone 8.1: Unity no longer overrides 106x106 icon in final VS solution when a custom icon is placed there.
  • Windows Player: Fixed blank window appearing briefly before entering fullscreen mode.
  • Windows Store Apps: Fixed an issue which caused C# scripts to sometimes be included to wrong assemblies if "Debugging C# projects" checkbox was checked when building the project.
  • Windows Store Apps: C++ plugins are now correctly copied to output directory when using C++ project type.
  • Windows Store Apps: Unprocessed plugins are no longer included in Visual Studio pre-build event.
  • Windows Store Apps: Unity C# projects are referenced by project references instead of assembly references.
  • Windows Store Apps / Windows Phone: Fixed an issue which caused methods of WebHeaderCollection class throw exceptions
  • Windows Store Apps / Windows Phone 8.1: Fixed Screen.dpi to return physical screen DPI, instead of logical DPI.
  • Windows Store Apps / Windows Phone 8.1: Significantly reduces memory used by compressed audio.

New in version 5.0 Beta 9 (October 30th, 2014)

  • Graphics Features:
  • Shaders: Added UNITY_NO_SCREENSPACE_SHADOWS, UNITY_NO_RGBM, UNITY_NO_DXT5nm macros that are defined on corresponding platforms.
  • Shaders: Optimized shader compilation performance for OpenGL/ES platforms
  • Shadows: Added ability to control directional light shadow cascade split ratios. New UI in QualitySettings, and shadowCascade2Split / shadowCascade4Split properties in QualitySettings API.
  • Shuriken: Added a Circle emitter with an option to specify an arc.
  • Shuriken: Added a one-way Edge emitter.
  • Improved LODGroup. A "fade mode" can be set on each level and a value of "how current LOD be blended/faded to the next LOD" will be passed to shader program in unity_LODFade.x.
  • Dynamic batching can batch non-uniform scaled objects together when normals/tangents are unused. Helps with shadow caster batching, and unlit shaders.
  • Added MaterialPropertyBlock SetFloat/Vector/Color/Matrix/Texture functions. They add a value or replace an existing value.
  • Rendering code optimized to reduce amount of material SetPass calls. Reflection probes, light probes and lightmap UV transform state changes are now internally applied via MaterialPropertyBlocks without requiring a full SetPass. This reduces cost on the main thread to send commands to the render thread, and on the the render thread the driver overhead is reduced.
  • New built-in "Standard" shader:
  • Physically based shader, suitable for most everyday surfaces (metals, plastics, wood, stone etc.).
  • This is a default shader for newly created objects now. Most of Unity 4.x shaders were moved to “Legacy” shader popup menu.
  • Features driven by what you enable in the inspector (e.g. when no normal map assigned, the shader will internally use a faster variant without a normal map).
  • Approximate and optimized path for mobile & shader model 2.0.
  • Integrated Enlighten real-time global illumination (GI) technology, and improved lightmapping workflow:
  • Scene changes are automatically picked up and tasks are spawned to: precompute data for dynamic GI, and to calculate static lightmaps.
  • Runtime Dynamic GI at runtime for lights, bounce intensity can be specified on a per light basis
  • Runtime: Changes to lights marked as "Dynamic GI" and skylight changes are picked up automatically.
  • Emissive surfaces can emit lights into Dynamic GI at runtime. Emissive surface colors can be changed at runtime & affect static and dynamic objects in realtime.
  • Runtime: Material changes can be triggered via DynamicGI API.
  • Runtime: Lighting reacting to above changes is applied to static objects via lightmaps and to dynamic objects via light probes.
  • HDR workflow improvements:
  • HDR scene view. When main camera is HDR, then scene view is rendering in HDR as well, and using the same Tonemapper as the main camera.
  • Support for .hdr texture format importing.
  • HDR textures (from .exr/.hdr files) are automatically encoded into RGBM (0..8 range) format. Added option under Advanced import settings to control this behavior.
  • Reflection Probes:
  • New "ReflectionProbe" component that captures its surroundings into a cubemap. Cubemap is assigned to Renderers in the proximity from the probe and can be used to produce effect of the glossy reflections.
  • Reflection probes are baked similar to light probes, are stored as cubemap assets and specular convolution is applied to achieve high-quality glossy reflections.
  • Introduced default reflection cubemap in RenderSettings. It is passed to "unity_SpecCube" property of the shader. Ability to match default cubemap reflection to a skybox, and apply specular convolution for glossy reflections. (requires Pro)
  • Skybox and ambient improvements:
  • New scenes are now set with directional light, procedural skybox and a reflection probe by default.
  • Added "Skybox/Procedural" shader that allows setting up simple skies with ease.
  • Built-in Skybox shaders support HDR (RGBM encoded) textures.
  • Skybox materials can be assigned by drag-and-drop on the background in the Scene View.
  • Improved inspector preview & thumbnails of Skybox materials.
  • Default ambient has different sky/equator/ground colors.
  • Ability to match ambient to a skybox, and optionally extract directional light out of the skybox. (requires Pro)
  • Improved RenderSettings inspector in general; and renamed menu entry to "Scene Render Settings".
  • New "Deferred Shading" rendering path:
  • Single pass, multiple-rendertarget g-buffer shading.
  • Fully supported by the new Standard shader.
  • Overriding of DeferredShading (and DeferredLighting) shaders is in the UI now, under GraphicsSettings. Possible to even exclude the shaders from game build, in case you don't need them at all.
  • Surface shaders can generate code for new Deferred Shading rendering path. All 4.x builtin shaders got support for that. Note: currently does not take full advantage of deferred shading g-buffer data; will be improved.
  • Improved and extended cubemap workflow:
  • Renamed “Reflection” texture import type to “Cubemap”. Automatic detection of the mapping mode for spherical, cylindrical and 6 image layouts; removed 2 obscure spherical mappings which were rarely used.
  • Textures imported as cubemaps can use texture compression now!
  • Added specular and diffuse convolution options to cubemap textures.
  • Cubemap inspector was improved, can now show alpha channel & mipmaps properly; also understands RGBM encoded HDR cubemaps.
  • Improved seamless edge fixup.
  • Moved Cubemap menu entry from Assets into Assets | Legacy.
  • Meshes:
  • More than two UV coordinates! Up to 4 UVs are imported from model files; and Mesh class gained uv3 & uv4.
  • Non-uniformly scaled meshes no longer incur any memory cost or performance hit. Instead of being scaled on the CPU they are scaled and lit correctly in shaders.
  • MeshRenderer has a new additionalMesh property which lets you specify per-instance mesh data overrides. For example just color channels for one instance. This is currently used by Enlighten for per-instance UVs.
  • SpeedTree integration:
  • SpeedTree models (.SPM files) now can be recognized, imported and rendered by Unity. The workflow is very similar to other mesh formats like FBX.
  • SpeedTree features like smooth LOD transition, billboards, wind animation and physics colliders are fully supported.
  • SpeedTree models are selectable as tree prototypes on terrain.
  • Frame Debugger. See how exactly frame is rendered by stepping through draw calls. See http://blogs.unity3d.com/2014/07/29/frame-debugger-in-unity-5-0/ (requires Unity Pro).
  • Added scriptable "Command Buffers" for more extensible rendering pipeline:
  • Create command buffers ("draw mesh, set render target, ...") from a script, and set them up to be executed from inside camera rendering.
  • Command buffers can be executed from a bunch of places during rendering, e.g. immediately after deferred G-buffer; or right after skybox; etc. See UnityEngine.Rendering.CommandBuffer class.
  • Shadows: Added PCF (5x5) filtering for soft directional light shadows:
  • Pick it in Quality Settings.
  • We're considering maybe replacing the old "screenspace blur" with 5x5 PCF as the only built-in option, so feedback is welcome!
  • Shadows: in Forward rendering, directional light shadows are computed from camera's depth texture instead of a separate "shadow collector" rendering pass. Saves a bunch of draw calls, especially when depth texture is needed for other things anyway:
  • This means that LightType=ShadowCollector shader passes aren't used for anything; you can just remove them if you had any.
  • Camera’s DepthTexture is not generated using shader replacement anymore. Now it is generated using same shaders as used for shadowmap rendering (ShadowCaster pass types). Camera-DepthTexture.shader is not used for anything now.
  • Shaders: Build-time stripping of unused shader features, and shader variant compilation improvements:
  • Added #pragma shader_feature; very similar to multi_compile but unused ones are removed from the game builds. That is, if none of the materials use a particular shader feature variant, shader code for it is not included into game data.
  • #pragma shader_feature can be provided just one parameter, e.g. #pragma shader_feature FANCY_ON. This expands to two shader variants (first without the parameter, and second with the parameter defined).
  • Can specify vertex- or fragment-only shader variants. For example, #pragma shader_feature_vertex A B C will add 3x more shader variants, but to vertex shader only.
  • Underscore-only names in shader_feature and multi_compile are treated as "dummy" and don't consume shader keyword names.
  • Build-time stripping of unused lightmap shader variants. E.g. if you don't use directional lightmaps in any of your scenes, then shader variants that handle directional lightmaps will be removed from game build data. No need to manually add "nolightmap" and friends to shader code now.
  • Shaders: Single CGPROGRAM block can target multiple "shader models" at once. For example, you can base it for SM2.0, but have fancier multi_compile variants that require SM3.0. Syntax:
  • #pragma target 3.0 // base is SM3.0
  • #pragma target 4.0 FOO BAR // FOO or BAR require SM4.0
  • Shaders: Custom Shader GUI can now be defined by implementing the IShaderGUI interface instead of deriving from MaterialEditor. Using this approach makes the custom shader GUI show within the inspector for Substance materials.
  • Shaders: Massively improved shader loading performance, and reduced memory consumption:
  • By default, internal shader variants are only loaded when actually needed (typically a lot of shader variants are never actually needed).
  • Added ShaderVariantCollection asset type for ability to manually preload/warmup shader variants, to avoid hiccups later on. This is like Shader.WarmupAllShaders, done in a better way.
  • Editor can track shaders & their variants used in scene or play mode, and create ShaderVariantCollection out of them (button in Graphics Settings).
  • Graphics Settings have a list of ShaderVariantCollection assets to preload at game startup. Can also warmup them from a script.
  • Animation Features:
  • State Machine Behaviours:
  • StateMachineBehaviours is a new MonoBehaviour-like Component that can be added to a StateMachine state to attach callbacks
  • Available callbacks are : OnStateEnter, OnStateExit, OnStateUpdate, OnStateMove and OnStateIK.
  • Animator.GetBehaviour(). This function return the first StateMachineBehaviour that match type T
  • StateMachine Transitions:
  • Can now add higher level transitions from StateMachine to StateMachine
  • Entry and Exit nodes define how the StateMachine behaves upon entering and exiting.
  • Asset API:
  • Allows to create and edit, in Editor, all types of Mecanim assets ( Controllers, StateMachines, BlendTree etc.)
  • Added API for Avatar, Motion Nodes, Events and Curve in the Model Importer
  • Direct Blend Tree:
  • New type of blend tree to control the weight of each child independently
  • Root Motion authoring:
  • Can convert animation on the parent transform into Root Motion (Delta Animation)
  • Animator Tool revamp:
  • Improved workflow
  • Re-orderable layers and parameters
  • Transition interruption source:
  • Replaces the Atomic setting on transitions. You can now decide if a transition is interrupted by transitions in the source state, the destination state or both.
  • Also possible to be interrupted by transitions independently of their order by disabling "ordered interruption" setting on transitions.
  • Added Animator Gizmo that show up upon selection: you can see effectors, mass center, avatar root and pivot.
  • IK Hint for knees and elbows.
  • Improved animation previewer camera:
  • Camera can now Pan, Orbit and Scale with the same control than the scene viewer.
  • The camera can also frame on the previewed Object with shortcut F and frame on the cursor position with shortcut G.
  • AnimationEvents are now fully editable at runtime, see AnimationClip.events to query, add and delete them at runtime
  • Keep last evaluated value when a property stops to be animated:
  • Activated per State
  • By default it is writing default value when a property stops to be evaluated
  • Linear Velocity Blending:
  • Advanced feature for users requiring linear speed interpolation during blending.
  • Root Motion Speed and Angular Speed now blend linearly in Blend Trees, Transition or Layers
  • Choose between Linear Velocity Blending or Linear Position Blending in Animator with animator.linearVelocityBlending. It is false by default.
  • You can now get Animator root motion velocity and angular velocity with animator.velocity and animator.angularVelocity
  • Audio Features:
  • Added a new AudioMixer asset type! Create one or more AudioMixers in a project:
  • Use the Audio Mixer window to create complex mixing hierarchies and effect processing chains.
  • Mix and master all audio within Unity by tweaking all parameters during edit mode and play mode.
  • VU meters for the outputs of all AudioGroup and at attenuation points within the AudioGroup.
  • Allow AudioSources to route their signal into any AudioMixer.
  • The audio output of one AudioMixer can be routed into any AudioGroup of any other AudioMixer, allowing complex re-configurable Audio processing.
  • Audio "Sends" and "Receives" can be inserted anywhere into the signal chain of an AudioGroup.
  • The attenuation of an AudioGroup can be applied at any point in the AudioGroup (allowing pre and post fader effects).
  • Snapshots of mixer state (on all parameters) can be created for AudioMixers. These snapshots can be interpolated between during play through a set of per-parameter transition curves.
  • Snapshots can also be weighted blended (2 or more snapshots).
  • Any parameter (volume / pitch / effect parameter etc) can be exposed via a name to the runtime API allowing very precise tweaking of any parameter in a mixer during game play.
  • Mixer "Views" can be created so that complex mixer hierarchies can be narrowed down in the GUI allowing focus on tweaking certain parts of the mix (music / foley / etc).
  • AudioGroups can be Soloed, Muted and have their effects bypassed.
  • Built-in side-chain volume ducking.
  • Support for custom high-performance native audio plugins through a new SDK.
  • Rewritten Audio asset pipeline and AudioClip backend:
  • AudioClip settings now support multi-editing.
  • Audio transcoding and packing now happens in a separate tool, removing risk of crashing Unity on import.
  • No double loading of sounds during import processing.
  • Better handling of huge audio files. If a sound is set to streaming, it is never fully loaded in the editor or player now.
  • Editor profiling of Audio is now accurate and reflects how it would be in the game.
  • Streaming (file handle) resources are now freed immediately after playback of sound.
  • Much improved audio formats in terms of memory and CPU usage. The Format property no longer refers to a specific platform-specific file format, but to a encoding method (Uncompressed, Compressed, ADPCM).
  • The audio data of an AudioClip can now be loaded on demand by scripts, and loading can happen in the background without blocking the main game thread. Memory management can now be performed much easier of AudioClips in the project.
  • Improved Audio Profiler with better statistics and detailed information. To view it, open the Profiler window, click the Audio pane and press the Stats button.
  • Physics Features:
  • PhysX 3 integration:
  • Better perfomance on multi-core processors, and especially on mobile. See http://physxinfo.com/news/11297/the-evolution-of-physx-sdk-performance-wise/
  • Moving static colliders does not cause performance penalty anymore.
  • Better simulation quality, e.g. stacking stability.
  • Cleaner codebase, which does not contain some of the long standing issues.
  • See http://blogs.unity3d.com/2014/07/08/high-performance-physics-in-unity-5/
  • 2D physics:
  • Added ConstantForce2D component.
  • Added PointEffector2D, AreaEffector2D, PlatformEffector2D and SurfaceEffector2D components.
  • Added Physics2D.IsTouching and Collider2D.IsTouching methods.
  • Added Physics2D.IsTouchingLayer and Collider2D.IsTouchingLayer methods.
  • All 2D colliders now have a 2D ‘offset’ property that replaces the ‘center’ property no BoxCollider2D and CircleCollider2D.
  • Added Rigidbody.maxDepenetrationVelocity to make possible to tune the velocity of the colliding rigidbodies when they are pushing each other away.
  • Added TerrainData.thickness to control the thickness of TerrainColliders.
  • Add Cloth.ClearTransformMotion method to allow teleportation of cloth instances
  • Editor Features:
  • Unity editor is now 64-bit:
  • A separate 32-bit installer is available for Windows; on Mac OS X we only ship 64-bit now.
  • Note that this affects native plugins used in the editor, which now also need to be 64-bit.
  • New AssetBundle build system:
  • Add simple UI to mark assets into assetBundles, provide simple API to build assetBundles without having to write complex custom scripts (no need for Push/Pop).
  • Support incremental build, which only rebuilds AssetBundles that actually change.
  • AssetBundle dependencies don't force the rebuild of all the bundles in the dependency chain.
  • AssetBundles: Provide AppendHashToAssetBundleName option to allow to append the hash to the bundle name.
  • AssetBundles: Provide AssetBundleManifest which can be used to get the dependent AssetBundles at runtime.
  • AssetBundles: By default include type tree in the assetBundle on all the platform except metro.
  • New Project Wizard (“Home”) dialog:
  • Project Templates - in addition to "Empty 3D" and "Empty 2D", we will supply starter kits to provide a foundation and demonstrate best practices for different project types. These are currently placeholders while the final ones are being made.
  • Recent projects list shows "Last Saved With" version number for each project (if available - this information is only saved starting with 5.0).
  • Asset Importing:
  • Updated FBX SDK to 2015.1: better performance; fixes various rare crashes when importing some Collada, OBJ, 3DS files; fixed reversed normals in some DXF files.
  • Added AssetPostProcessor.OnPreProcessAnimation, this new callback is called just before animation clips are created.
  • Added ModelImporter.defaultClipAnimations (list of ModelImportClipAnimation based on TakeInfo) and ModelImporter.importedTakeInfos (list of TakeInfo from the file).
  • Profiler: New view in the CPU Profiler that shows the frame samples laid out on a Timeline. Each thread has its own timeline; this is mostly useful for multi-threaded profiling.
  • Version Control: Scene and Prefab Merging:
  • Command line merge tool that understands the scene and prefab formats in order to do semantic merges.
  • Merge tool integration with Unity's existing version control integration. Can be enabled from EditorSettings.
  • Module Manager:
  • Now lists all available versions of a module.
  • Now supports rolling back to another available module version.
  • Asset Store: The asset store window is now much faster, more responsive, and looks better.
  • Plugin Inspector: new native plugin system. You're no longer required to place platform specific plugins into special folders like Assets\Plugins\iOS, Assets\Plugins\X64, etc. From now on, you can place them anywhere:
  • You can set platform compatibility settings by clicking on the plugin (files with extensions - *.dll, *.so, etc, and folders with extension - *.bundle), this include both managed and native files. Plugins can be set for “Any” platform, “Editor only” or a specific platform.
  • Platform specific settings can also be set, e.g. CPU type. Different platforms may have different settings.
  • AI Features:
  • NavMesh supports LoadLevelAdditive now!
  • Improved performance and reduced memory consumption:
  • NavMeshObstacles update is multi-threaded now. Carving speed generally improved 2-4x.
  • NavMesh data for non-carved regions takes ~2x less memory now.
  • Performance improvements for multi-threaded NavMeshAgent updates.
  • HeightMeshes bake faster, work faster at runtime, and use ~35% less memory.
  • Path replanning in presence of many carving obstacles is faster and more accurate.
  • Improved inspectors and debug visualizations:
  • NavMesh Areas inspector (previously NavMesh Layers) got a facelift.
  • Reorganized parameters NavMeshAgent inspector.
  • Added carve hull debug visualisation for NavMeshObstacles.
  • Added visualisation on how NavMesh bake settings relate to each other.
  • Improved accuracy and raised limits:
  • NavMeshObstacle supports two basic shapes - cylinder and box for both carving and avoidance.
  • Improved automatic Off-Mesh Link collision detection accuracy. Note that this will change how off-mesh links placement on existing scenes.
  • Improved navmesh point location/mapping when height mesh is used.
  • Increased the height range of NavMesh baking (can build meshes for taller scenes).
  • Made Height Mesh query more resilient to small holes in input geometry.
  • NavMesh obstacle rotation is take into account when carving and avoiding.
  • NavMesh tile count limit lifted from 2^16 to 2^28.
  • NavMeshPath and NavMeshAgent paths removed 256 polygon limit.
  • OffMeshLink - restriction on tile span - previously connected only up to neighbouring tiles.
  • Core Optimizations:
  • Improved multithreaded job system:
  • Internally multithreaded parts (culling, skinning, mecanim, ...) are more efficient now via lockless voodoo magic.
  • Culling & shadow caster culling is multithreaded now.
  • Improved loading performance. Better control of how objects are created on the loading thread makes it possible to get rid of object reference overhead between components and allows us to do all reads from disk completely linearly. More work has been offloaded to the loading thread, reducing the overhead of asynchronous loading on the main thread.
  • Object.Instantiate performance has been improved.
  • Mecanim optimizations:
  • Optimized Animator Enable(), 2x speed on complex controllers.
  • Optimized Animator memory usage per instance, 2x smaller on complex controllers.
  • Improved performance for Animator Tool.
  • Optimized memory usage and runtime performance when serializing objects with backward compatibility (type-tree) enabled.
  • Updated occlusion culling (Umbra) version; contains improvements for mobile Umbra culling performance, and improves occlusion culling robustness in some cases.
  • Optimized texture importing performance.
  • Terrain tree culling performance was improved.
  • Android Features:
  • Added the ability to deploy and run games on Android TV.
  • Fat binary support (x86+ARMv7).
  • Support for rendering to multiple displays.
  • Support for KitKat Immersive Fullscreen Mode.
  • Support for x86 as a build target.
  • iOS Features:
  • Script debugging can be done over USB cable now.
  • Improved iOS8 and Xcode 6 support.
  • Optimized Texture2D.LoadImage performance for PNG and JPG files.
  • Added Xcode manipulation API for editor scripts, and rewritten Xcode project generator.
  • Expose Xcode project manipulation API
  • Added deep plugin folder structure support.
  • Game controller button pressure is now also exposed as axis (float) value.
  • Metal support. Metal is used automatically on supported systems (iOS8 and A7 or later). There's an option under Player Settings to choose GLES if needed.
  • iPhone 6 and iPhone 6 Plus support
  • Linux & SteamOS Features:
  • Now supports gamepad configuration via Steam Big Picture mode.
  • Now includes default configurations for several common gamepads.
  • Now supports gamepad hotplugging.
  • WebGL Features:
  • WebGL support: a new target in the build player window.
  • Currently marked as “Preview” state; official support for latest Firefox & Chrome.
  • See blog post: http://blogs.unity3d.com/2014/04/29/on-the-future-of-web-publishing-in-unity/
  • Scripting Features:
  • Introduced option to auto-update obsolete Unity API usage in scripts & assemblies.
  • Performance improvements for all GetComponent variants.
  • “transform” is now cached on the C# side, no more need to cache it yourself.
  • Added disposable scope helpers for Begin/End pairs for GUI, GUILayout, EditorGUI and EditorGUILayout.
  • Added formatting overloads to Debug.Log*.
  • Added generic overloads for AssetBundle.Load*.
  • Other Improvements:
  • 2D: Added Sprite.pivot getter.
  • 2D: Sprite geometry can now be overridden using Sprite.OverrideGeometry(Vector2[] vertices, UInt16[] triangles). Unity Pro only.
  • 2D: SpritePacker Atlas texture name will now also contain the atlas name.
  • 2D: The new AssetPostprocessor.OnPostprocessSprites(Texture2D texture, Sprite[] sprites) is called immediately after OnPostprocessTexture when sprites are generated.
  • AI: New icons for navmesh asset and components
  • AI: Warn if agent and obstacle components are placed on the same GO
  • AI: Warn if navmesh slope bake seetting is unreasonable
  • Android: Added proper support for MouseDrag event.
  • Android: Added public Java API for attaching custom surfaces.
  • Android: Added support for BGRA textures.
  • Android: Enabled parallel job scheduler
  • Android: Enhanced VSync support.
  • Android: Export now works for projects that use UnityPlayerActivity or UnityPlayerProxyActivity.
  • Android: Fixed delay when resuming game from paused state
  • Android: Fixed support for external display when it is reconnected while app is running.
  • Android: Force hardware upscaling for Screen.SetResolution().
  • Android: Reconfiguring antialiasing or switching display buffer size should no longer result in a GL context loss.
  • Android: Support for profiling Intel GPU using the Unity Editor.
  • Android: User resolution now gets swapped when the orientation is changed.
  • Animation: Support the case that both SkinnedMeshRenderer and Animator are on the same GameObject (optimised mode).
  • Asset Import: Faster texture conversion into cubemaps & HDR image processing, by multithreading parts of the process.
  • Asset Import: Support large bitmaps importing (>4Gb in size)
  • Assets Management: Allow to access files with long path (more than 260 characters) on Windows.
  • Audio: Increased default virtual voice count from 100 to 512 and made it user-configurable through project settings.
  • BlackBerry: Added "Add Attached Device" to the debug token creation window.
  • BlackBerry: Application.systemLanguage now differentiates between Chinese Simplified and Chinese Traditional appropriately.
  • BlackBerry: Registration now uses BlackBerry's 10.2 registration system. Currently registered systems do not need to re-register.
  • Deployment Management: Display Enlighten's build stage when building player
  • Editor: Add warning on exiting play mode when objects have been spawned into the scene from OnDestroy().
  • Editor: Added "Android TV Compatibility" checkbox which enables Android TV compatibility checks during build time
  • Editor: Added support for importing PVRv3, ASTC, KTX files
  • Editor: Added 8192 maximum texture size option in import settings.
  • Editor: Added deferred diffuse/specular/smoothness/normals scene view rendering modes.
  • Editor: Added virtual function ScriptableWizard.DrawWizardGUI for customizing GUI of derived wizard classes.
  • Editor: Better documentation for exposed AssetPreview methods.
  • Editor: Camera inspector shows camera's depth texture mode. Also, scene view camera makes sure to match main camera's depthTextureMode.
  • Editor: Drag-and-drop assigns material to a specific part of the mesh now. Holding Alt key will assign material to all the parts of the mesh.
  • Editor: Exposed AssetPreview.SetPreviewTextureCacheSize ().
  • Editor: Frame Selected (F key over scene view) now takes point/spot light range into account.
  • Editor: Improve searching for class names in different namespaces and across different user assemblies.
  • Editor: It is now possible to override the StandardShaderGUI with a user defined version (by dropping a modified copy of StandardShaderGUI.cs into the project)
  • Editor: New Artwork for Splash Screens
  • Editor: Optimization of Hierarchy Window
  • Editor: Prevent tooltips from showing while dragging.
  • Editor: Tag editor facelift by removing the empty tag and using Reorderable list to draw tags and layers.
  • Editor: Unity will output a proper error regarding incompatible CPU architectures on Mac OS X when failing to load native libraries. For ex., You cannot load 32 bit native libraries on 64 bit Editor
  • Editor: When saving scenes, overwrite existing scene file only after successful save.
  • Font Rendering: Added easier APIs to access OS Fonts (Font.GetOSInstalledFontNames and Font.CreateDynamicFontFromOSFont).
  • Font Rendering: Added new APIs to get font metrics if you want to implement your own font rendering: Font.ascent, Font.lineheight, new fields in CharacterInfo (old fields in CharacterInfo are deprecated).
  • Font Rendering: Optimized texture rebuilds to happen less often.
  • Graphics: Added "#pragma exclude_renderers nomrt" for platforms not supporting multiple render targets (MRTs).
  • Graphics: Added RenderTextureFormat.ARGB2101010 (0 bit/channel color) and RenderTextureFormat.Shadowmap (native shadowmap) formats.
  • Graphics: Added Texture2D.EncodeToJPG with a JPG quality argument.
  • Graphics: Added Threshold tweak to SunShafts, removed legacy "apha as mask".
  • Graphics: Exposed SystemInfo.graphicsMultiThreaded to scripting API.
  • Graphics: Mesh compression will now also do lossy compression of vertex colors.
  • Graphics: Skinned meshes use less memory by sharing index buffers between instances.
  • Graphics: Support for more shader keywords (128 instead of 64).
  • Image Effects: GlobalFog image post-processing effect was rewritten. Now it has "distance fog" (matches what is set in render settings), and optional "height fog" (linearly increasing fog density below specified height).
  • iOS: added debug labels for OpenGL objects, useful in Xcode frame capture debugging.
  • iOS: Better support for Uunity view size changes from native side.
  • iOS: Enabled basic background processing.
  • iOS: Improved Xcode API to expose default Unity Xcode project / target name
  • iOS: Implement a way to select iOS framework dependencies for native plugins.
  • iOS: Tweaked external RenderSurface API to make a bit more sense and be more concise.
  • License: Activate from command-line.
  • License: Added -returnlicense command line option, which returns the currently active license and quits the editor.
  • License: A progress bar will be shown during returning or releasing a license.
  • Linux: Add Input.IsJoystickPreconfigured for querying 5.0 Linux gamepad detection
  • Linux: Implement monitor selection
  • Linux: Implement screen-fullscreen command line option
  • Linux: Set popupwindow mode via Motif borderless hint when supported
  • Linux: Support XDG-compliant path overrides.
  • Math: Added SphericalHarmonics3 scripting struct.
  • Mecanim: Added RuntimeAnimatorController.animationClips property, it does return all the clips in the controller
  • Mecanim: Added tooltips to animation transtion settings + added foldout group for settings.
  • Mecanim: Added Utility function AnimatorController.FindStateMachineBehaviourContext(StateMachineBehaviour behaviour) which return the controller, state and layer index containing this instance.
  • Mecanim: Always display numeric values for Transition's duration, offset and exitTime.
  • Mecanim: Copy/paste/duplicate keyboard shortcuts work.
  • Mecanim: Display Animator stats in inspector: Clip count, curve count, etc.
  • Mecanim: Improved humanoid retargeting. The differences between Generic and Humanoid animation are now less than 0.001 normalized meter and 0.1 degrees on end points.
  • Mecanim: Improved Parameter and Layer UI. Parameters are in a separate window, so it can be docked anywhere.
  • Mecanim: Runtime access to Animator's parameters (Animator.parameters property).
  • Merging: Improve conflict output to console
  • Merging: Improve premerge by rewriting all of left, right and base
  • Meshes: Added "keep quads" mesh import option; useful for DX11/Console tessellation shaders.
  • Mobile: Update PVRTC compressor.
  • OpenGL ES: Enfore RGB normal maps even if source texture have alpha.
  • OSX Editor: Finished builds will be shown in OS X notification center when in the background.
  • OSX: Implement show-screen-selector command-line option
  • Physics: Added missing 'speedVariation' property to SurfaceEffector2D to match similar functionality in AreaEffector2D and PointEffector2D.
  • Physics: adaptive force is now optional (disabled by default).
  • Physics: Allow SkinnedMeshRenderer to accept non-skinned meshes.
  • Physics: Changed default cloth coefficient values, and added info boxes to cloth editor
  • Physics: Cloth; exposed sleep force parameter to tune minimum force after which cloth will start sleeping.
  • Physics: Cloth; exposed tethers flag to improve cloth simulation quality.
  • Physics: Cloth inspector is now much faster and capable of dealing with meshes of any vertex count
  • Physics: Display a warning against a 2D collider when it is unable to create a Box2D collision shape due to it not meeting Box2D constraints.
  • Physics: Exposed a function ConfigureVehicleSubsteps in WheelCollider to make it possible for developers to customise vehicle sub-stepping. This helps setting up heavy vehicles, that require different amount of sub-steps to simulate wheels correctly.
  • Physics: Improve editor tool-tips for all 2D physics effector properties.
  • Physics: Make scaling mesh colliders cheaper, by not creating a new mesh with scaling applied to it with every scale change.
  • Physics: Redesigned WheelCollider gizmo to show more relevant information.
  • Physics: Removed internal lock in PhysXRaycast, particles should now be able to process raycasts in multithreaded mode.
  • Physics: Show inconsistent hinge joint constraints in inspector
  • Physics: The cloth constraint editing UI has been replaced by a more intuitive UI inside the Scene View.
  • Physics: Updated default values for WheelCollider as the old ones did not make any sense with new PhysX.
  • Plugins: Unity will now check if plugins don't collide with each before building to player. Previous behavior was that you would need to wait until all the scenes were built, and you would only then see that plugin with same filename is trying to overwrite another plugin.
  • Plugins (Windows Store Apps/Windows Phone): when picking placeholder plugins only plugins with matching file names as the original plugin will be shown
  • Profiler: Enable GPU profiler on Mac OS X 10.8 and above for all GPUs.
  • Profiler: Now has a search field for filtering the results.
  • Profiler: Image Effects have profiling blocks with the script name in them, instead of a generic "ImageEffect".
  • Reflection Probes: Box Projection is now enabled (not supported in shader model 2.0), the shader will be using reflection probe's AABB for that purpose. Note: AABB is not affected by probe's rotation or scale.
  • Scene View: Can drag a cubemap onto empty space in the scene view to assign it as a skybox.
  • Scripting: 64-bit platforms will now accept managed DLLs compiled specifically for x64.
  • Scripting: All GetComponent paths much faster, especially GetComponent.
  • Scripting: GetComponent family of functions now supports interfaces as generic argument.
  • Scripting: Support serialization of all primitive types.
  • Shaders: Added [NoTilingOffset] property attribute; hides tiling & offset fields in texture property UI.
  • Shaders: Added MaterialPropertyDecorators. Similar to MaterialPropertyDrawers, but you can add many of them on a shader property. Added built-in decorators: [Space], [Header(text)].
  • Shaders: Built-in Fog works on all platforms now (includes WP8/WinRT/consoles).
  • Shaders: Improved "compile and show code" functionality in shader inspector. Now has dropdown to select custom set of platforms to compile shaders for. And shows a progress bar while compiling shader variants for display.
  • Shaders: Information about texture format decoding (LDR, dLDR, RGBM, Normals) is passed in %TextureName%_HDR shader constant.
  • Shaders: Made it possible to use stencil buffer during deferred shading/lighting g-buffer passes, to some extent. Stencil reference value coming from shader/material will be combined (binary or) with Unity-supplied reference value.
  • Shadows: Most platforms now internally use floating point (RFloat) format for point light shadows, instead of custom encoded ARGB32 format. Saves some shader instructions and is slightly better precision.
  • Shaders: Optimized shader importing performance, particularly for surface shaders with many multi_compile/shader_feature variants.
  • Shaders: Skybox shaders (including "Skybox/Procedural") get direction and color of the main light passed in the shader constants.
  • Shaders: Support EXT_shader_framebuffer_fetch functionality in shader translators. In Cg/HLSL code, use "inout" modifier for pixel shader output color; this will get translated into framebuffer fetch for GLES2.0 & 3.0.
  • Shaders: Surface shaders allow more texture interpolators, when targeting shader model 4.0+ (up to 32).
  • Shaders: Surface shaders use up slightly less samplers on DX11-like platforms (in dual lightmapping case, both lightmaps share the same sampler). Added UNITY_SAMPLE_TEX2D_SAMPLER helper macro to read a texture, while using sampler from another one.
  • Shaders: Updated GLSL Optimizer for mobile shader compilation. Has better optimization and fixes some issues.
  • Standalone: Add show-screen-selector command line option for Linux and Windows.
  • Standard Assets: Cleaned up Daylight&Nighttime Pro Water prefab a bit (less obscure options in material inspectors)
  • Substance: Consolidation of Substance binary data prior to runtime use now has a much lower peak memory footprint.
  • Undo: Add GetCurrentGroupName() and SetCurrentGroupName() to allow overriding the automatic undo name generation
  • Unity Remote 4: Add compass support.
  • Unity Remote 4: Added ability to customise screen stream compression: JPEG or PNG compression, full or downscaled resolution.
  • Unity Remote 4: Added LocationService (GPS) support.
  • Unity Remote 4: Add EditorApplication.isRemoteConnected API to check if editor has connected to remote app.
  • Version Control: Add shortcut for submit and cancel in submit dialog. Default keyboard focus to textarea when opening submit window.
  • Windows Editor: Native child windows have their title set to the GUIView/EditorWindow class name.
  • Windows Phone 8: Geolocator initialization code removed from Visual Studio project files. When overwriting existing 4.x projects please remove redundant code.
  • Windows Phone/Windows Store Apps: Significantly improved performance of passing System.Type objects to UnityEngine (for example, GetComponent is affected)
  • Windows standalone and webplayer: Input subsystem processes touch messages via WM_TOUCH. Previously it worked with Windows-simulated mouse events.
  • Windows Store/Phone: Shadows on mobile devices there now work just like on iOS/Android - no cascaded shadow maps (i.e. not "too slow on mobile" anymore).
  • Windows Store Apps: added Directory, DirectoryInfo, File, FileStream replacements to WinRTLegacy
  • Windows Store Apps: added support for linear color space
  • Windows Store Apps: Added OnFileActivated handler in App.xaml.[cs/cpp].
  • Windows Store Apps: building on top of existing project will now check, if a project being overwritten is compatible with newly built one.
  • Windows Store Apps: Chinese Traditional and Simplified languages are now detected and reported, instead of always returning generic Chinese
  • Windows Store Apps: Handheld class now available
  • Windows Store Apps: PlayerPrefs will be saved now whenever application goes in to suspend mode.
  • Windows Store Apps: Update docs PlayerPrefs.Save and OnApplicationQuit.
  • Windows Store Apps: You can now use joysticks in addition to Xbox 360 controllers, but you have to enable HumanInterfaceDevice capability in PlayerSettings. Note: this capability is not visible in Package.appxmanifest UI interface in Visual Studio.
  • WWW: Populate bytes and text on non-200 response
  • Audio: Removed 3D property in AudioClip and moved all 3D audio functionality to the AudioSource:
  • Renamed AudioSource.panLevel to AudioSource.spatialBlend. This property now controls the 2D / 3D mode of sound playback through this AudioSource. There is no longer a mode toggle, but a continuous interpolation between the two states.
  • Renamed AudioSource.pan to AudioSound.panStereo. This is to remove confusion about the nature of this property. AudioSource.panStereo pans the audio signal into the left or right speakers. This happens before spatial panning is applied and can be applied in conjunction with 3D panning.
  • Standalone: Cursor management cleanup:
  • Screen.lockCursor has become Cursor.lockState
  • Screen.showCursor has become Cursor.visible
  • Added ConfineCursor state to confine cursor to game window (Linux/Windows)
  • Cursor lock state and cursor visibility state are now mutually independent
  • Editor: Improvements to MaterialEditor:
  • Show a foldout arrow for Material inspectors inlined on gameobjects to make it clear that they can be expanded/collapsed.
  • Added TexturePropertyMiniThumbnail(): Draw a property field for a texture shader property that only takes up a single line height. The thumbnail is shown to the left of the label. Clicking the thumbnail will show a large preview info window.
  • Added GetTexturePropertyCustomArea():. Returns the free rect below the label and before the large thumb object field. Is used for e.g. tiling and offset properties.
  • Added TextureScaleOffsetProperty(): Draws tiling and offset properties for a texture.
  • Texture scaling and offset values can now be dragged.
  • Changes:
  • 2D: UnityEditor.Sprites.DataUtility.GetSpriteMesh and GetSpriteIndices functions are now deprecated. Use Sprite.vertices, Sprite.uv and Sprite.triangles instead.
  • Android: Disabled hidden input keyboard
  • AI: NavMesh bake settings: Removed width/height inaccuracy and allow to set voxel size instead.
  • AI: NavMesh data format has changed - you need to rebuild the NavMesh to use it
  • AI: NavMeshLayer is replaced with NavMeshArea: old API is deprecated, area types are stored now in ProjectSettings/NavMeshLayers.asset
  • AI: NavMeshObstacle supports two basic shapes - Capsule and Box, for both carving and avoidance.
  • AI: Setting destination on a NavMeshAgent doesn't resume the agent after calling 'Stop' - call Resume explicitly to resume the agent.
  • AI: Use smaller navmesh tile partitioning to improve baking and carving speed.
  • Android: Dropped support for non-NEON CPU devices (e.g. Tegra 2). This gives a significant performance boost to Mecanim and PhysX among other things.
  • Asset Import: Unify global scale while importing FBX models.
  • AssetBundle: New version of WWW.LoadFromCacheOrDownload which can take Hash128 as version.
  • AssetBundle: Support type tree incremental build check.
  • Audio: AudioSettings.outputSampleRate and AudioSettings.speakerMode can now only be read from, because setting it required a complete restart of the sound system and therefore losing state of all non disk-based AudioClips and filters. SetDSPBufferSize has been declared obsolete for the same reason.
  • Audio: The hardware, loopable and compressionBitrate of AudioImporter are now obsolete.
  • BlackBerry: Removed Author ID and Author ID override from publishing settings.
  • BlackBerry: Removed obsolete "BB10" scripting targets from API. Please use "BlackBerry" instead.
  • Editor: EditorApplication.NewScene() creates a scene that has a Main Camera, a Directional Light, a default Skybox set in the Scene Render Settings and has Enlighten enabled by default. If you need a new scene with no GameObjects in it use EditorApplication.NewEmptyScene().
  • Editor: Apply build target switch from -buildTarget before initial domain load.
  • Editor: Editor always runs in background when a debugger is attached.
  • Editor: If standalone is current build target, do a full build target switch when setting EditorUserBuildSettings.selectedStandaloneTarget.
  • Editor: It is now recommended to derive from ShaderGUI instead of deriving from MaterialEditor to make custom gui for shaders. This ensures that custom shader gui works properly together with the Substance Material Editor (Check the docs for ShaderGUI).
  • Editor: Merged two scene view render mode dropdowns into one.
  • Editor: Players always run in background when "Script Debugging" is enabled.
  • Editor: Prefab instance objects are no longer stored as part of the scene file.
  • Editor: Recognize more build target names with -buildTarget switch and remove 32bit/64bit switch for "standalone".
  • Editor: Remove warning if using Destroy/DestroyImmediate on objects that are still in the load queue and have not been woken up yet.
  • Editor: Renamed "Enable HW Statistics" player setting to "Enable Cloud Integration", in preparation of hosting the hwstats functionality under the Unity Cloud umbrella.
  • Editor: Replace EditorUtility.UnloadUnusedAssets() to UnloadUnusedAssetsImmediate().
  • Editor: TextMesh and MeshFilter components are not allowed to exist on the same GameObject
  • GLES: Replaced 16bit depth buffer support with the ability to completely disable depth and stencil buffers.
  • Graphics: Camera.pixelWidth and Camera.pixelHeight now return int, not float.
  • Graphics: Changed behavior of what happens with textures that are too large for the GPU to handle, and they don't have mipmaps. Now such textures are displayed in blue color. Before, some platforms were downscaling them in some cases; other platforms were leaving them as garbage; others were crashing.
  • Graphics: Light and Reflection Probes are enabled on Renderer components by default.
  • Graphics: OnPreRender script callback is called before rendering camera's depth texture now.
  • Graphics: Made SystemInfo.graphicsPixelFillrate obsolete (it was not being maintained to cover new GPUs, and was not working on most platforms anyway). Now it always returns -1, just like it used to for unknown GPUs.
  • Graphics: Renamed HDR_LIGHT_PREPASS_ON shader keyword to UNITY_HDR_ON (now the keyword is always set when camera is HDR).
  • Graphics: Renamed VertexLit and DeferredLighting rendering paths to "Legacy" names.
  • Graphics: Setting Mesh.colors keeps the colors in float format instead of converting to bytes. This allows you to store higher-precision color values on meshes. Note that it will use more memory so if that is a concern use Mesh.colors32 instead.
  • iOS: ARC is enabled.
  • iOS: Refactor player pausing in the trampoline
  • iOS: Trampoline now uses clang standard library, C++11 is enabled, iOS7 SDK and Xcode5 are enforced, iOS6 is the minimal version supported.
  • iOS: Use fixed 56000 port in player for script debugging.
  • Mac OS X: Application.persistentPath will now correctly give you a folder in ~/Application Support instead of ~/Library/Caches.
  • Mac OS X Standalone: Data folder has moved to Content/Resources, in accordance with Apple guidelines
  • Mecanim: Added Animator.HasState to be able to query if an animator has a certain State.
  • Mecanim: Animator Tool deleting a layer or parameter can now be done with delete key.
  • Mecanim: AnimationUtility.SetAnimationClipSettings now public
  • Mecanim: Can now transition to self (State or StateMachine).
  • Mecanim: Changed profiling detail to see more information for the Animator evaluation pipeline
  • Mecanim: Import blending pivot is disabled. There was a problem with imported pivot changing height (y).
  • Mecanim: In the character transform hierarchy, if a transform doesn't belong to the skeleton, then we preserve it as it is while doing optimization.
  • Mecanim: Motion API is now available in Runtime
  • Mecanim: Moved AvatarMask to the Animations namespace.
  • Mecanim: Moved GameObjectUtility.OptimizetransformHierarchy from Editor code to Runtime class AnimatorUtility.OptimizetransformHierarchy.
  • Mecanim: Transform scale now blends linear instead of exponential. It allows blending with scale = 0
  • Physics: All 2D colliders now have a local-space "offset" property. This replaces the "center" property in BoxCollider2D and CircleCollider2D.
  • Physics: Allow PhysicsMaterial2D "bounciness" property to be greater than 1.
  • Physics: Disabled MonoBehaviours will no longer receive collision or trigger callbacks.
  • Plugins: Turn assert for native plugin architecture check into error message.
  • Scripting: Added generic version of Object.Instantiate (has been in the docs since 3.5 but not exposed in the API before).
  • Scripting: C# compiler defaults script encoding to UTF8
  • Shaders: Renamed "RenderFX/Skybox cubed" and "RenderFX/Skybox" shaders to "Skybox/Cubemap" and "Skybox/6 Planes".
  • Shaders: Built-in functionality for directional lightmaps, dynamic Enlighten GI and soft shadows all require shader model 3.0 now.
  • Shaders: Builtin Skybox shaders write 1.0 into alpha channel now.
  • Shadows: All built-in shadow shaders used no backface culling; that was changed to match culling mode of regular rendering.
  • Shadows: When using oblique camera projection, shadows are disabled now.
  • Terrain: Terrain component was moved from being a C# component to being a native engine component.
  • Windows Store Apps: Added UnityEngine.WSA.Application.advertisingIdentifier
  • Windows Store Apps: 'Metro' keyword was replaced to 'WSA' in most APIs, for ex., BuildTarget.MetroPlayer became BuildTarget.WSAPlayer, PlayerSettings.Metro became PlayerSettings.WSA. Defines in scripts like UNITY_METRO, UNITY_METRO_8_0, UNITY_METRO_8_1 are still there, but along them there will be defines UNITY_WSA, UNITY_WSA_8_0, UNITY_WSA_8_1.
  • Windows Store Apps: Removed support for C++ Visual Studio projects
  • Graphics: Removed a bunch of obsolete APIs:
  • Camera.mainCamera (use Camera.main), Camera.GetScreenWidth (use Screen.width), Camera.GetScreenHeight (use Screen.height), Camera.DoClear, Camera.isOrthoGraphic (use Camera.orthographic), Camera.orthoGraphicSize (use Camera.orthographicSize).
  • Renderer.Render, Graphics.SetupVertexLights, obsolete Graphics.DrawMesh overloads (use DrawMeshNow), RenderTexture.SetBorderColor, Screen.GetResolution (use currentResolution), Mesh.uv1 (use uv2 instead), SkinnedMeshRenderer.skinNormals, LightmapData.lightmap (use lightmapFar instead).
  • Removed SystemInfo properties deviceName, deviceVendor, deviceVersion and supportsVertexProgram. Use graphicsDeviceName, graphicsDeviceVendor, graphicsDeviceVersion instead. Vertex programs are always supported.
  • Scripting: A bunch of scripting changes. Most of them should be handled automatically by our new API upgrade tool:
  • Removed quick property accessors, like .rigidBody, .rigidbody2D, .camera, .light, .animation, .constantForce, .renderer, .audio, .networkView, .guiTexture, .collider, .collider2D, .particleSystem, .particleEmitter, .guiText, .hingeJoint for modularization. Instead, use GetComponent to get references.
  • AddComponent(string) is removed. Use AddComponent() instead.
  • GetComponent(string) is removed. use GetComponent() instead.
  • Application.RegisterLogCallback() and RegisterLogCallbackThreaded() have been deprecated and replaced by two new events Application.logMessageReceived and Application.logMessageReceivedThreaded. This allows for multiple subscribers.
  • GameObject.SampleAnimation() moved to AnimationClip.SampleObject().
  • ParticleSystem.safeCollisionEventSize changed to ParticleSystem.GetSafeCollisionEventSize().
  • TerrainData.physicMaterial changed to TerrainData.GetPhysicMaterial() and TerrainData.SetPhysicMaterial().
  • Deprecated Component.active property has been removed.
  • AssetBundle:
  • Rename AssetBundle.Load***() to AssetBundle.LoadAsset***().
  • Rename AssetBundle.LoadAll() to AssetBundle.LoadAllAssets().
  • Provide AssetBundle.LoadAllAssetsAsync() which loads all assets asynchronously.
  • Provide AssetBundle.LoadAssetWithSubAssets***() which loads the asset with the sub assets.
  • Provide AssetBundle.AllAssetNames() to return all the assets in the assetBundle.
  • Shadows:
  • Shadows on D3D9 require "native shadowmap" support in the driver now (pretty much all systems that can do shadows have that, so this should be fairly invisible). Upside, less shader variants are included into game builds now.
  • Shadows on iOS+GLES2.0 require GL_EXT_shadow_samplers now. This means iPhone4 / iPodTouch4 will not support realtime shadows now. Upside, less shader variants and faster shader loading times.
  • Shaders: Removed some fixed-function shader features (use vertex & fragment shaders instead). This makes per-draw-call CPU overhead slightly lower across all platforms:
  • Removed TexGen. If you have old Projector shaders, they might be using this; upgrade to 4.5/5.0 projector shaders.
  • Removed texture combiner matrix transforms, i.e. "matrix" command inside a SetTexture.
  • Removed signed add (a+-b), multiply signed add (ab+-c), multiply subtract (ab-c), dot product (dot3, dot3rgba) SetTexture combiner modes.
  • SetTexture stage count is limited to 4 on all platforms.
  • Shaders: Fog handling in shaders was changed.
  • For surface shaders and fixed function shaders, nothing to do. Can add "nofog" to surface shader #pragma line to explicitly make it not support fog.
  • For manual vertex/fragment shaders, fog does not happen automagically now. You need to add #pragma multi_compile_fog and fog handling macros to your shader code. Check out built-in shader source, for example Unlit-Normal how to do it.
  • Shaders: Some shader compilers have changed:
  • Mixing partially fixed function & partially programmable shaders (e.g. fixed function verted lighting & pixel shader; or a vertex shader and texture combiners) is not supported anymore. It was never working on mobile, consoles or DirectX 11 anyway. This required changing behaviour of Reflective/VertexLit shader to not do that - it lost per-vertex specular support; on the plus side it now behaves consistently between platforms.
  • Direct3D 9 shader compiler was switched from Cg 2.2 to HLSL, the same compiler that's used for D3D11. This fixes a bunch of issues where Cg was generating invalid D3D9 shader assembly code; and generally produces slightly more efficient shaders. However, HLSL is slightly more picky about syntax; in general you have to do same shader fixes for D3D9 as for D3D11 now (e.g. UNITY_INITIALIZE_OUTPUT for “out” structures).
  • On desktop OpenGL, shaders are always compiled into GLSL instead of ARB_vertex/fragment_program target now. You no longer need to write "#pragma glsl" to get to features like vertex textures or derivative instructions. All support for ARB_vertex/fragment_programs is removed.
  • Fixes:
  • 2D: Fixed sprite importing regression which caused sprite references to be lost on texture rename.
  • AI: Fix crash when navmesh is removed from disk when in use
  • AI: Fix issue where baking navmesh for a duplicated scene would destroy the original scenes navmesh
  • AI: Fix issue where infinity is used as maxDistance argument to SamplePosition
  • AI: Fixed memory leak after navmesh baking of terrain meshes.
  • AI: Fixed problem where any change in rotation or scale would trigger re-carving regardless of specified move-threshold.
  • AI: navmesh is loaded before agents are created in additively loaded scenes - no need to wait one frame
  • AI: Offmesh link drop arrow is not connected to navmesh with big heights
  • AI: prevent path query to invalid/infinity positions
  • Android: Avoid reading expensive metrics in DisplayInfo more than once per frame.
  • Android: Compensate for polygonOffset bug on Mali 400 GPU.
  • Android: Disabled shadows for Intel PowerVR devices to avoid graphics artifacts.
  • Android: Dropped support for OpenGL ES 3 auto selection for devices running Android 4.1 and 4.2.
  • Android: Fixed 10s delay after resume on 1st gen Kindle Fire HD
  • Android: Fixed application hanging and crashing when trying to close the IME with the back button.
  • Android: Fixed crash on Xperia Play.
  • Android: Fixed flickering screen on resume
  • Android: Fixed frame rate on Tegra devices when doing GPU profiling.
  • Android: Fixed game starting not full screen if orientation is not set to Auto Rotation
  • Android: Fixed issues when changing anti-aliasing at runtime.
  • Android: Fixed leak when using ActivityIndicator.
  • Android: Fixed manifest detection for Android library project plugins
  • Android: Fixed mouse input
  • Android: Fixed SDK auto-update
  • Android: Fixed some old devices that crashed when target graphics API was set to "Auto".
  • Android: Fixed theme attribute in default manifest.
  • Android: Fixed Water4 standard asset rendering on some devices.
  • Android: Internet reachability check now returns proper value if switching in and out of airplane mode.
  • Android: Launching adb server should no longer popup annoying cmd windows on top of the Unity Editor.
  • Android: Project folder is no longer locked by adb after entering play mode in the editor.
  • Android: Raising an error if a library project misses AndroidManifest.xml.
  • Android: Reporting correct screen orientation even if OS refused to apply requested orientation.
  • Android: WWW responseHeaders now contain STATUS key.
  • Animation: Builtin materials are now editable in animation mode. The animation is stored on the clip not the material.
  • Animation: Fix UnloadNonDirtyStreams to correctly handle stream with destroyed objects.
  • Asset Import: Added warning messages when paths to assets are invalid
  • Asset Import: Append required .fontsettings extension if needed in GenerateEditableFont
  • Asset Import: Check texture format that can be assigned the TextureImporter
  • Asset Import: Fix import of empty .txt files.
  • Asset Import: Fixed AssetDatabase.ImportPackage fail when path to package has platform path separators.
  • Asset Import: Fixed crash when included blend shapes and needed to be split because of size.
  • Asset Import: Fixed possible crash when upgrading metadata files
  • Asset Importer: Support the manifest file in text importer
  • Asset Loading: Fix assets unload during load level operation
  • Asset Loading: Fix the crash while loading scene Unity with mecanim animation and skinnedmesh filter.
  • AssetBundle: Add the old loading functions back and mark them as OBSOLETE.
  • AssetBundle: AssetBundle.LoadAll***() now only return the game object without the first component.
  • AssetBundle: Fix the typo in .manifest file
  • AssetBundle: Remove duplicate objects when building with BuildAssetBundleExplicitAssetNames(). Also output more meaningful log information for assetBundle object.
  • Assets Management: Fix the "input objects must be of exact same type" error message
  • Assets Management: Prefabs including monobehaviours with missing scripts should not display a warning if the monobehaviour has been deleted on the prefab instance.
  • Audio: Added context menu to delete mixers in the mixers view of the AudioMixer window
  • Audio: API updater does not update the changed signature of AudioClip.Create but will output an obsolete warning about the removal of the _3D argument.
  • Audio: AudioClip.SetData no longer prints out error messages when writing data at a position that will cause wrapping.
  • Audio: Calling AudioClip.SetData causes a crash fixed
  • Audio: Fix crash when unloading LoadInBackground sounds in the Editor (WebGL platform)
  • Audio: Fix error message in mixer on undo when no mixer is active
  • Audio: Fix for regression where component effects are on the AudioListener cause a crash
  • Audio: Fixed a bug where the audio system stopped working when a game object had an AudioSource, an AudioListener and a custom audio filter attached. The system now outputs a warning as the custom audio filter can only be assigned to one Audio component at a time.
  • Audio: Remove exposed parameters correctly when deleting and effect that has exposed parameters in it.
  • BlackBerry: Event.shift and Event.alt now work as expected.
  • Build Pipeline: Don't include inactive EditorOnly objects in builds.
  • Build Pipeline: Fix the crash if user passes "./" as output path when building AssetBundles.
  • CacheServer: Fix "CacheServer Asset validation failed" error messages while Unity is importing project.
  • CacheServer: Fix Cache Server several issues.
  • CacheServer: Fix editor crash when enabling the Cache Server in preferences with empty address.
  • Core: Asset Bundle Export performance increase.
  • Core: Fix crash when initializing Light from prefab object during scene loading.
  • Core: Fix possible crash while loading multiple AssetBundles simultaneously.
  • Core: Fix the bug that loading from cache returns false.
  • Core: Fixed data race in memory allocators.
  • Core: Fixed memory leak when calling 'Object.Destroy' and returning to edit mode.
  • D3D11: Fixed an issue which caused some objects not be rendered if shadows are enabled in the scene on feature level 9.x
  • Debugger: Allow evaluation of methods with string literal parameters
  • Debugger: Don't interrupt user waits (e.g. ManualResetEvent)
  • Debugger: Fix setting breakpoints in generic method implementations.
  • Debugger: Fix some instances of freezing or hanging.
  • Deployment Management: Fix StandalonePlayer launched from UNC path
  • Deployment Management: Simpler "Force Single Instance" error message on Windows
  • Editor: AnimationState.time is updated when scrubbing animation in the AnimationWindow.
  • Editor: Cloth inspector to support multi-editing
  • Editor: Confined cursor mode doesn't confine cursor to last active editor pane
  • Editor: Create a new project upgrade warning system that does not depend on serialized files or version control.
  • Editor: Deleting an asset does not make deleted objects from other assets appear again.
  • Editor: Disallow empty names for sprites
  • Editor: Don't ignore assets whose names contain "StreamingAssets"
  • Editor: Drag-and-drop does not accept simple Renderers as a valid target for assigning skybox material.
  • Editor: Empty animation window no longer increases CPU usage
  • Editor: Ensure correct waking order of components when duplicating a GameObject.
  • Editor: Ensure screen width and height in player settings is at least 1
  • Editor: Expose static methods from context objects to JS.
  • Editor: Fix asset when using hideFlags to make objects persist after exiting play mode.
  • Editor: Fix changing loaded level index before OnApplicationQuit message when exiting play mode.
  • Editor: Fix console errors when inspecting player settings in debug view.
  • Editor: Fix crash and "Recursive serialization is not supported" error when loading window layouts.
  • Editor: Fix crash when importing textures on project open using AssetDatabase.Refresh call in static constructor of a Plugin class.
  • Editor: Fix error spamming: "GUI Error: You are pushing more GUIClips than you are popping .." when setting cam.targetTexture = null in OnPostRender
  • Editor: Fix errors thrown when pressing Esc to close asset label popup
  • Editor: Fix expanded state for multiple materials on a gameobject so the individual expanded state of materials will persist throughout a session.
  • Editor: Fix GO not selectable by label icon
  • Editor: Fix keyboard shortcuts (home/end/page up/page down) in object selector
  • Editor: Fix navigation keyboard shortcuts in object selector
  • Editor: Fix null ref in AudioMixer when undoing
  • Editor: Fix occasional crash on exit.
  • Editor: Fix occasional crashes when opening scene.
  • Editor: Fix occasional hang when quitting.
  • Editor: Fix OS X VBO usage that can cause performance issues
  • Editor: Fix possible crash when placing prefabs with child objects.
  • Editor: Fix race condition in DualThreadAllocator.
  • Editor: Fix race condition in threadinitialize in TLSAllocator.
  • Editor: Fix rename overlay is not removed when undoing
  • Editor: Fix stack traces not being generated correctly.
  • Editor: Fix text corruption in TextMesh components when reimporting fonts.
  • Editor: Fix that the material inspector could collapse its controls by clicking on the header. Controls are now always visible.
  • Editor: Fix the bug that assetBundle search filter doesn't work correctly.
  • Editor: Fix utility windows always loading last width & height if larger than requested width & height.
  • Editor: Fixed "ArgumentException: Invalid path" error that might occur with some custom windows
  • Editor: Fixed a bug when mouse was not processed in the Editor in play mode after building Android or iOS.
  • Editor: Fixed a crash when removing components from a prefab, but prefab instances would have depending components.
  • Editor: Fixed assert when loading scene containing reference to one of its objects that no longer exist.
  • Editor: Fixed asserts when displaying multiple objects in inspector preview.
  • Editor: Fixed clipping of multi-line text in text fields.
  • Editor: Fixed crash when script name is longer than 32 characters.
  • Editor: Fixed crash with corrupted scene when having invalid references in the list of transform children.
  • Editor: Fixed custom cursors to properly update in OS X editor.
  • Editor: Fixed custom PropertyDrawer being called with wrong SerializedProperty when property is inside a nested class.
  • Editor: Fixed editor errors when undoing the insertion of a new LOD level in LOD group.
  • Editor: Fixed error when renaming sprite with Sprite Editor
  • Editor: Fixed exceptions happening when a read-only plugin is used.
  • Editor: Fixed font corruption after asset import.
  • Editor: Fixed inspector rendering when a script changes RenderTexture.active.
  • Editor: Fixed isPlayingOrWillChangePlaymode to work as expected.
  • Editor: Fixed launch of Visual Studio for script editing, added additional logging to the editor log to troubleshoot future problems.
  • Editor: Fixed many texture/mesh related error messages to ping the source object that caused it.
  • Editor: Fixed meshes getting lost if they only lived in

New in version 4.5.3 (August 20th, 2014)

  • Brings you some new features and fixes.

New in version 4.5.1 (June 18th, 2014)

  • Improvements:
  • iOS: add support for script debugging over USB
  • Fixes:
  • 2D: Very thin down-scaled textures will now produce sprites correctly.
  • 2D: Fixed auto-simplification of sprite meshes. Considerably less vertices/triangles will be generated.
  • Editor: Fixed ETC2/ASTC texture display for lower mip levels when the editor is run in DX11 mode
  • Graphics: Fixed GUIText not being shown if it only consists of Unicode characters
  • iOS: Fixed case of resolution/orientation setting when Unity player takes only part of the screen
  • iOS: Fixed Unity Remote touch event queuing under stress conditions
  • iOS: Fixed 2D rendering when sprite does not have tangents, but has normals
  • iOS: fixed autorotation issues on iOS 8
  • iOS: fixed Xcode project build under Xcode6 preview
  • iOS: fixed splashscreen misrecognition for iOS Free license users on iPad-only apps
  • iOS: fixed corner case of RenderTexture creation
  • iOS: fixed lighting being broken while starting in landscape orientation
  • Linux/OSX: Fix linear lighting when antialiasing is enabled in upscaled fullscreen mode.
  • Linux: Fix initial cursor visibility setting when antialiasing is enabled.
  • Linux: Fix asset bundle caching.
  • MonoDevelop: Fix to correctly close MonoDevelop when not in focus on OS X. MonoDevelop will no longer prevent logging out.
  • OSX: Fix stack trace generation on crash.
  • OSX: Fixed PS3/PS4 bluetooth pads crashing editor when run.
  • Windows Phone/Windows Store Apps: Unity now correctly marshals Collision2D.relativeVelocity to C# code
  • Windows Phone: Fixed clearing splashscreen if camera in first scene has no clear flag
  • Windows Phone: Input.gyro.gravity now correctly returns data from orientation sensor
  • Windows Phone: Fixed an issue which caused compressed meshes to blink in certain situations
  • Windows Phone/Windows Store Apps: Unity will now correctly build player if plugins use .NET 4.5 APIs that are not available in .NET 3.5
  • Windows Phone: Input.GetJoystickNames now returns an empty string rather than preventing player build
  • Windows Phone/Windows Store Apps: Fixed an issue which caused player crash when Collider2D NonAlloc API variants were used

New in version 4.5.0 (May 27th, 2014)

  • FEATURES:
  • Graphics features:
  • Added Sparse Texture support (also known as "mega textures" or "tiled textures"). This is a low-level API feature, see SparseTexture class. Implemented on DirectX 11.2 (via tiled resources) and desktop OpenGL (via ARB_sparse_texture).
  • Added stereoscopic rendering on DX 11.1 (requires Windows 8.1 and compatible hardware).
  • Introduced support for OpenGL ES 3.0 on iOS devices (starting with A7 devices).
  • Graphics: Support for 3D textures in OpenGL ES 3.0.
  • Shader importing has been massively improved:
  • Shaders are imported much faster, especially complex surface shaders. Instead of compiling all shader variants for all possible platforms at import time, now the needed shader variants for needed platforms are compiled on-demand. Shader compilation results are cached under Library folder, so identical compilations happen much faster.
  • Error reporting was improved. Errors are reported on correct lines (imagine that!), and errors in .cginc files report the filename.
  • Surface shader debugging was improved. No more "#pragma debug" nonsense; just click "Show generated code" in the inspector.
  • Module Manager:
  • Introduced Module Manager with updatable platform support. iOS, Android, Windows Phone 8, Blackberry Unity add ons can be updated without downloading full editor installer. Accessed through Modules menu, next to Preferences menu.
  • Editor features:
  • New Hierarchy Window sorting - sorting of elements is now based on transform order instead of name.
  • Introduced new editor API AssetDatabase.FindAssets (string filter, string[] folders). Search the Asset Database for assets by filename, type and asset label. See documentation for more information.
  • Added Selection.assetGUIDs for getting the current selected assets in the Project Browser. It also returns the folder selection in the first column in the Project Browser (in Two Column mode) which is not part of the main selection.
  • 2D Physics features:
  • Added 2D Joint Gizmos.
  • Added new 2D physics component: WheelJoint2D.
  • Unity Remote upgrade:
  • Unity Remote 4 is our play testing solution for iOS and Android. As of Unity 4.5, there’ll be no more Wifi latency when playtesting your games on iOS devices. Plus, we’ve added support for the full range of iOS device inputs including accelerometers, gyroscopes and camera images. Unity Remote 4 is available free of charge from Google Play and the App Store.
  • Mecanim features:
  • Added CanTransitionToSelf option on AnyState Transitions.
  • Added new scripting function Animator.Rebind(). You can use this function to manually rebind the animator data set to unity when you change something in your GameObject hierarchy.
  • For humanoid rigs, in the importer, you can specify a transform node that will be used as root motion for an animation clip. The transform node will replace the automatically extracted root motion computed by Mecanim. (Pro Only).
  • Other features:
  • Scripting: Introduced DisallowMultipleComponentAttribute for disallowing multiple components of the same type being added to a single GameObject.
  • Scripting: Add UnityEngine.ISerializationCallbackReceiver interface, to get a callback right before serialisation and right after deserialization.
  • Scripting: Structs with System.Serializable attribute can now be serialized. Also, fields of AnimationCurve[] and double[] now get serialised.
  • WebPlugin: Added Enhanced Protected Mode support for Internet Explorer. Supports IE 64 bit.
  • IMPROVEMENTS:
  • 2D: Default 2D shaders now emulate premultiplied alpha. This fixes rendering in certain cases such as when rendering into a transparent render texture.
  • 2D: Padding and offset values added for grid slicing in Sprite Editor.
  • 2D: Sprite textures will not default to 16-bit on iOS anymore when editor is in 2D mode.
  • 2D: Sprite Editor works for single mode sprites.
  • 2D: Sprites now have border property (specified in pixels) that can be changed on sprite import.
  • Scripting: Rect struct now has the properties min, max, and size. This makes it easier to reuse the same code for the X and Y axis.
  • Android: Added KitKat to the list of target devices.
  • Assets management: 'optimizeGameObjects' & 'extraExposedTransformPaths' are now accessible from asset post processor.
  • Profiling: Audio profiling is improved with more relevant data and more accurate memory stats.
  • BlackBerry: bar-descriptor.xml file no longer uses deprecated xml tags.
  • BlackBerry: Keyboard types are now supported.
  • BlackBerry: Introduced GLES 3.0 support on the z30 devices.
  • Scripting: Added LayerMask.GetMask method to return a mask given multiple layer names.
  • Coroutines: StopCoroutine can now take an enumerator argument.
  • Documentation: Added docs on how to debug DirectX11 shaders with Visual Studio, look for 'SL-Debugging DirectX 11 Shaders with Visual Studio'.
  • Documentation: API history updated.
  • Documentation: Introduced new look and feel.
  • Documentation: Revived API history
  • Editor API: Expose handles preference colors in the Handles class (as read-only).
  • Editor, Standalone: WWW object can now retrieve data from servers that serve compressed content (gzip or zlib).
  • Editor: Added 'Sprite' to the type filter popup in the Project Browser.
  • Editor: Created CustomPreview attribute and ObjectPreview class. It is now possible to add extra custom preview to any inspected object.
  • Editor: Created SelectionBase attribute. When applied to a script, GameObjects with that script on will work the same as prefab roots for Scene View picking.
  • Editor: Implemented editing of Asset Labels for multiple assets at once.
  • Editor: Exposed EditorGUI.MultiFloatField and EditorGUI.MultiPropertyField.
  • Editor: Expose EditorGUIUtility.standardVerticalSpacing to make it possible for people to create standard spacing between controls (for example in PropertyDrawers) without having to hardcode the amount.
  • Editor: Improved inspector customisation with [Tooltip] and [ContextMenuItem] script attributes.
  • Editor: Overall improvement of Sprite Editor. Better handling of sprite border, holding CTRL will hide the sprite boundaries so the hidden borders can be seen, and better mouse cursor feedback.
  • Editor: Package Import Window was redesigned and now shows import items as a proper tree view.
  • Editor: Preset libraries that have default presets now have a 'Add Factory Presets To Current Library' option in the context menu.
  • Editor: PropertyDrawers are now supplemented with DecoratorDrawers, which can be used for decorative elements in the Inspector such as spacing, headers, or notes.
  • Editor: Added AnimatedValues - Simple way to have tweened UI elements in EditorGUI.
  • Editor: Implemented display of fully qualified script name in execution order inspector.
  • Graphics: Added Texture2D.EncodeToJPG.
  • Graphics: GPU Skinning on OpenGL ES 3.0 now supports at least 4096 bones per mesh on all GL ES 3.0 targets.
  • Graphics: OpenGL ES 2.0 and 3.0 maximum simultaneous texture count upgraded from 8 to 16 (where supported by the GPU).
  • Graphics: Updated videoVerticallyMirrored docs.
  • iOS: Added ability to use profiler through USB.
  • iOS: Added iOS 7.1 target selector.
  • iOS: Added iPad Air and iPad Mini Retina entries to the iPhoneGeneration enum.
  • iOS: Added missing system languages.
  • iOS: Added reporting of environment variables when launching of mono process fails.
  • iOS: Added support for render events (GL.IssuePluginEvent). Please note that you need to manually register them, as iOS do not support dynamic libraries. Check trampoline for UnityRegisterRenderingPlugin function.
  • iOS: Added Xcode 5.x splashscreen compatibility.
  • iOS: Bumped minimum version of Xcode to 5.0.
  • iOS: Did minor trampoline refactoring.
  • iOS: Rebuilt FMOD, PhysX and PLCrashReporter with -mno-thumb.
  • iOS: Implemented small CrashReporter improvements: logging to console, disabled dSYM generation for debug builds.
  • iOS: WWW implementation exposed in trampoline.
  • Linux: Query webcam for dimensions when user doesn't specify them.
  • Linux: Worked around drivers grossly underreporting video memory.
  • Mecanim: Implemented user notification when humanoid animation has animation (TQS) in between human bones.
  • Mecanim: Added finger bones to c# HumanBodyBones enum.
  • Mecanim: Animator does not spam warning messages in standalone.
  • Mecanim: Humanoid auto-configure now only use rotation information from bind pose. Translations found in bind pose were different from the ones in animation. This was causing undesired retargeting differences.
  • Mecanim: Humanoid setup and retarget console warning have been improved. Less noise and more precise information.
  • Mecanim: Optimized Animator Enable() ( 2x speed on complex controllers ).
  • OpenGL ES: Improved GL ES version selection. There is now a new Target Graphics API option "Auto" that automatically selects the best available GL ES version.
  • OS X: Enabled stack trace output when player crashes.
  • Physics: Added the following methods and properties to DistanceJoint2D: limitState, GetReactionForce() and GetReactionTorque().
  • Physics: Added the following methods and properties to HingeJoint2D: limitState, referenceAngle, jointAngle, jointSpeed, GetReactionForce(), GetReactionTorque() and GetMotorTorque().
  • Physics: Added the following methods and properties to SliderJoint2D: limitState, referenceAngle, jointTranslation, jointSpeed and GetMotorForce().
  • Physics: Added the following methods and properties to WheelJoint2D: jointTranslation, jointSpeed and GetMotorTorque().
  • Physics: Added the following methods to SpringJoint2D: GetReactionForce() and GetReactionTorque().
  • Physics: Added "RigidBody2D.simulated" property that allows control of whether a Rigidbody2D component should be simulated or not.
  • Physics: Added 2D rigid-body MovePosition and MoveRotation methods.
  • Physics: Added ability to ignore collider/collider collisions (Physics2D.IgnoreCollision).
  • Physics: Added missing Physics2D CircleCast, CircleCastAll, CircleCastNonAlloc, BoxCast, BoxCastAll & BoxCastNonAlloc.
  • Physics: Added "bounds" property (read-only) to 2D collider types.
  • Physics: Added "centerOfMass" and "worldCenterOfMass" properties (read-only) to Rigidbody2D.
  • Physics: Added "inertia" property to Rigidbody2D.
  • Physics: Added ForceMode2D type to allow selection of force to be used for "Force" or "Impulse".
  • Physics: Added GetPoint & GetRelativePoint to Rigidbody2D.
  • Physics: Added GetPointVelocity & GetRelativePointVelocity to Rigidbody2D.
  • Physics: Added GetVector & GetRelativeVector to Rigidbody2D.
  • Physics: AddForce, AddRelativeForce, AddForceAtPosition & AddTorque on Rigidbody2D now accept ForceMode2D type to match 3D physics.
  • Physics: Dragging interaction of GameObjects containing dynamic Rigidbody2D components in editor during play-mode is allowed now.
  • Physics: Do not show disabled 2D joint gizmos.
  • Physics: Exposed several Box2D properties that were previously compile-time constants.
  • Physics: PolygonCollider2D gizmo renders only the outline shape.
  • Scripting: Added GetAllCameras(Camera[]) and allCamerasCount API's
  • Scripting: Added UNITY_PRO_LICENSE define.
  • Scripting: Added GetComponentsInParent function.
  • Scripting: Added MeshUtility.SetMeshCompression and MeshUtility.GetMeshCompression to set mesh compression for Meshes generated from scripting.
  • Scripting: Improved resolution of types that inherit from types in different user assemblies.
  • Serialisation (i.e. Instantiation & Level loading) performance of MonoBehaviors is now 2x-5x faster.
  • Serialisation: Print error message when maximum recursion limit is reached.
  • Substance: Alpha channel generation can now be explicitly disabled for ProceduralMaterials in order to use runtime DXT1/ETC compression or to bake DXT1/ETC/RGB24 bitmaps.
  • Substance: Baked ProceduralTextures are now created from full RGBA32 data instead of pre-existing (and potentially already compressed) editor data.
  • Substance: Decreased memory consumption in the editor.
  • Substance: Lower peak memory footprint when generating textures for materials that were queued roughly at the same time.
  • Substance: Material thumbnails are now listed in the static preview in the same 'semantically correct' order they appear in the SubstanceImporterInspector.
  • Substance: Mipmap generation can now be disabled (the default is 'enabled').
  • Substance: Outputs tagged as "Specular" will automatically map to the _SpecTex shader property if present.
  • Substance: Outputs that are used solely as sources for other outputs's alpha channels (typically the specular output) are no longer generated separately and will not appear in the project window anymore unless they're directly assigned to a shader slot or the GenerateAllOutputs option is checked.
  • Substance: ProceduralMaterials being computed when exiting play mode are now discarded, making the transition from play mode to editor mode faster.
  • Substance: ProceduralMaterials loaded from AssetBundles can now be inspected in play mode.
  • Substance: Processing Substances in the Editor is now always multi-threaded when not in play mode.
  • Substance: Runtime PVRTC compression on iOS/Android is now faster and of higher quality.
  • Substance: Switching between graphs or instances in a SubstanceImporterInspector will no longer cause a reimport. The reimport of the modified SBSAR asset is now performed when the entire SubstanceImporterInspector is disabled.
  • Substance: The ProceduralMaterial memory budget will be increased in smaller increments on mobile targets to further lower the peak memory footprint on these platforms.
  • Windows: Unity Editor will fallback to DirectX 11 if DirectX 9 is not available, instead of showing the dialog graphics were not initialised.
  • Webplayer: Java Webplayer Installer is now updated with the latest Java security requirements.
  • Windows Phone: The preview resolution is as close as possible to what the user requested.
  • Windows Phone: Non uniformly scaled meshes use less memory.
  • Windows Phone: Webcam resolution selection is now chosen by the aspect ratio and the total area of the preview.
  • Windows Store Apps / Windows 8.1: Added support for SwapChainPanel, it will be used in XAML project files generated for Windows 8.1, you can still use SwapChainBackroundPanel if you want.
  • Windows Store Apps / Windows 8.1: Changed template code to handle application launch through protocol, basically we added OnActivated event handling in App.xaml.cs and App.xaml.cpp files.
  • Windows Store Apps / Windows Phone: Graphics related memory optimisations. Mesh and texture uploads use less memory.
  • Windows Store Apps: When building, instead of storing absolute Unity paths inside a project, they will be store in UnityCommon.props file instead, this way making it easier to share project between several PC's.
  • Windows Store Apps: *.pdb, *.ilk, *.exp for Unity libraries won't be provided in Release, Master configurations, thus reducing the exported solution size significantly.
  • Windows Store Apps: AppCallbacks::UnitySetInput() made safe for multiple invocations.
  • Windows Store Apps: ComputeBuffer.SetData will work correctly.
  • Windows Store Apps: If running other OS than Windows 8/8.1, reports it as "Unknown Windows version ()" rather than hardcoded "Windows 8"/"Windows 8.1".
  • Windows Store Apps: NativeRenderPlugin example now properly works on Windows Store Apps.
  • Windows Store Apps: Removed splash screen after the first frame is drawn.
  • Windows Store Apps: D3D applications will consume less CPU percentage thus preserving battery.
  • Windows Store Apps: System.deviceModel will return a valid value whenever possible.
  • Windows Store Apps: Unity will output used Windows SDK version in UnityPlayer.log.
  • Windows Store Apps: Unity won't spam harmless D3D warning DEVICE_DRAW_RENDERTARGETVIEW_NOT_SET in Debug builds.
  • Windows Store Apps: Webcam support is more stable; webcams now also support MJPG streams.
  • Windows Store Apps: Windows 8.1 player will now respect CompositionScale of SwapChainPanel.
  • Windows Store Apps: You can now generate C# Assembly-Charp* projects (in BuildSettings window) which will be referenced from generated solution, allowing you to easily debug and change your scripts on the fly, the only thing to keep in mind, if you'll add/remove serialised fields in classes, you'll need to rebuild your project from Editor to compensate for changed serialised data.
  • Windows Store Apps/ Windows 8.1: SystemInfo.deviceUniqueIdentifier will return value from AdvertisingManager (http://msdn.microsoft.com/en-us/library/windows/apps/windows.system.userprofile.advertisingmanager.advertisingid.aspx)
  • Windows Store Apps/Windows Phone: MaterialPropertyBlock property setting now supported on these platforms.
  • Windows Store Apps/Windows Phone: Unity allocates fewer managed objects for its own internal bookkeeping allowing .NET garbage collector to work faster. Overall memory consumption is also reduced.
  • Windows Store Apps/Windows Phone: Added support for animated script variables .
  • Windows Store Apps/WP8: Better handling of managed objects, causes less pressure to Garbage Collection.
  • WWW: All POST requests now automatically include an x-unity-version header with the version of the Unity runtime making the request.
  • CHANGES:
  • 2D: Atlas packer DefaultPackerPolicy will now pack Sprites as rectangles unless packing tags begin with "[TIGHT]". The new TightPackerPolicy will tightly pack Sprites with a Tight Mesh unless packing tags begin with "[RECT]".
  • 2D: Sprite Packer is no longer a preview feature.
  • Android: Disabled GPU profiling on Adrenos for now, due to unstable drivers.
  • Asset Bundles: Trying to build a bundle from within an AssetPostprocessor will now throw an error.
  • BlackBerry: BuildTarget.BB10, BuildTargetGroup.BB10, and BaseClass.BB10Player have been deprecated. Please use BuildTarget.BlackBerry, BuildTargetGroup.BlackBerry and BaseClass.BlackBerryPlayer
  • Editor: Components with OnSceneGUI calls will now show up in scene view Gizmos popup.
  • Editor: Data consistency checks for objects loaded from disk are now performed on all objects before waking up the first one of them instead of interleaving the two operations.
  • Editor: Newly created projects default to DirectX 11 on Windows now (you can still make DX9 be the default in project settings).
  • Editor: Utility Editor windows no longer have 10 pixels automatically added at the top when using GUILayout.
  • Editor: Removed SpriteRenderer preview.
  • Editor: Show overlay label in Game View with actual used resolution if actual used resolution is smaller than the selected fixed resolution.
  • iOS: Added iOS7 target.
  • iOS: Refactored trampoline; extracted view handling and rendering categories from UnityAppController.
  • Mac: Rewrote Mac web cam support to use AVFoundation framework, so you can publish to the Mac App Store without using deprecated APIs.
  • Mecanim: Introduced Animator Update Mode which replaces Animator.animatePhysics. Adds the possibility to update Mecanim independently of Time.timeScale.
  • Physics: All existing joints are now derived from AnchoredJoint2D component rather than the Joint2D component.
  • Physics: Collision and trigger callbacks now occur on both the GameObject containing the 2D collider as well as the GameObject containing the 2D rigid-body.
  • Physics: Updated Box2D to v2.3.0.
  • Sprite Editor: Now an undockable utility window and can only be opened from the sprite inspector.
  • Sprite Editor: Removed 'Minimum size' from automatic slicing dialog.
  • Substance: A new 'DoNothingAndCache' loading behaviour is now available. Substances are no longer automatically generated when loaded but are still cached to non-volatile storage after the first call to RebuildTextures() / RebuildTexturesImmediately().
  • Substance: ProceduralMaterial.isCachedDataAvailable was added to check if cache data will be used for a cached ProceduralMaterial or if its outputs will have to be rebuilt. Coupled with DoNothingAndCache, this allows for interactive "installer / substance decompressors" scenes to be created.
  • Windows Store Apps / WP8: Unity won't spam warnings for incorrectly unloaded assets, unless explicitly specified.
  • Windows Store Apps: Independent Input Source is disabled again by default due to delays in Windows Update.
  • WWW: deprecated 'WWW(string url, byte[] postData, Hashtable headers)', use 'public WWW(string url, byte[] postData, Dictionary headers)' instead.
  • FIXES:
  • 2D Fixes:
  • "Custom Pivot" value field made wider to fit 8 digit numbers in Sprite Editor.
  • 2D polygon collider editor lines z position is now forced to zero.
  • Added confirmation window to grid slicing when creating large amounts of sprites in Sprite Editor.
  • Atlas texture will be correctly bundled in an atlas bundle when the bundle is created with kAssetBundleIncludeCompleteAssets flag and has a Texture with atlases Sprites as its main asset.
  • Cancelling packing won't prevent future packing attempts.
  • Correctly disable Sprite wireframe display.
  • Correctly handle initial default TextureImporter FilterMode in the DefaultSpritePackerPolicy in Sprite Packer.
  • Correctly initialise Sprite textureRect if all pixels are transparent.
  • Deselecting sprite in Sprite Packer window now works.
  • Destroying a Sprite's texture will not crash the SpriteRenderer that's using it.
  • Destroying a material array via UI will not break the Sprite inspector.
  • SpriteRenderer will not reset MaterialPropertyBlock.
  • Dropping sprite asset to hierarchy no longer changes texture of a random material.
  • Fixed light culling for scaled sprites.
  • Fixed precision errors in tight mesh generation code. It now correctly works together with PixelSnap shaders.
  • Fixed Sprite Packer issues when packing in editor automation mode.
  • Fixed Sprite Packer border generation to not sometimes write over the pixels of a nearby Sprite.
  • Handled Sprite Packer policy assembly type query failures. Fixes hangs when using 3rd party libraries such as pnunit.
  • PixelsToUnits property, when set to Infinity, will flip back to the default value of 100.
  • Prevented a false error when generating Sprites from a 1-pixel tall/wide texture.
  • Prevented sprites larger than max atlas size from participating in packing.
  • Removed a legacy assert which sometimes caused error messages during Sprite generation.
  • Reopening Unity will reopen the Sprite Packer window correctly.
  • Significantly reduced Sprite packing memory requirements.
  • Sprite editor rectangle values are now clamped properly.
  • Sprite Editor wasn't repainted when single sprite got unselected.
  • Sprite Packer policies with duplicate names will not throw exceptions.
  • Sprite Packer will not corrupt some textures when Unity is running in automation mode.
  • Sprite preview will correctly work in play mode for atlases sprites.
  • SpriteRenderer component will now correctly display an error message when a material with an incompatible shader (fixed function) is assigned.
  • Sprite-Diffuse shader now correctly uses color provided by the SpriteRenderer.
  • Sprites generated from NPOT textures when running with -nographics flag will now work correctly.
  • Sprites generated from NPOT textures will now work correctly on graphics cards where NPOT textures are not supported.
  • SpriteRenderer will now output normals and tangents if the active material require them.
  • Sprites with mipmaps can now be packed. A custom Sprite Packer policy is required to enable atlas texture mipmapping.
  • Stabilized packing to avoid cases where removing one Sprite could grow the final atlas size.
  • Undo added to the 2D Joint gizmos.
  • When determining if non-square textures can produce sprites, check the compressed format for square-requirement. NPOT PVRTC textures are not compressed and therefore are ok for generating sprites.
  • When loading an asset bundle that contains a SpriteRenderer in the editor, the sorting layer for the SpriteRenderer will not be reset to default.
  • Android Fixes:
  • Fix for JVM picking up enviers when trying to build an android apk.
  • Fix for Samsung Game Pad axis mapping.
  • Fixed "Google Android Project" export.
  • Fixed AccelerationEvent.deltaTime.
  • Fixed an issue where some devices would freeze if unity was paused.
  • Fixed an issue where some joysticks/controllers weren't given a proper name.
  • Fixed crash on ART when calling methods with no arguments.
  • Fixed crash on ART when processing input.
  • Fixed crash on cancelling a video on Kindle Fire.
  • Fixed crash on TerrainData creation.
  • Fixed crash when using Font.RequestCharactersInTexture().
  • Fixed floating point errors on Tegra2.
  • Fixed input deadlock in OUYA console.
  • Fixed keyboardType handling.
  • Fixed Native Render plugins.
  • Fixed potential crash on soft-ime close.
  • Fixed setting audio sample rate on Android
  • Fixed some issues with graphics corruption when switching quality setting.
  • Fixed texCubeGrad and texCubeLod issues.
  • Fixed the error when wrong extension function could be used on GLES 2.
  • If a joystick is disconnected it will now show up as an empty string in the GetJoystickNames() array.
  • Logging a warning if merged manifest doesn't contain MAIN activity
  • Preload thread no longer consumes battery while application is in a paused state.
  • Re-added missing init() function.
  • Fixed crash on Android 4.4.2 when running on certain Adreno GPUs.
  • Editor Fixes:
  • "Layout" button now displays the currently selected layout name.
  • 2D Transform tool rotation is now disabled when the sprite is small enough in the scene view.
  • Active scenes count properly displayed when more than 100 scenes are added to Build Settings window.
  • Added missing platform strings to OS X build post-processor.
  • Asset importer confirmation dialog text is now different when multiple files are going to be changed.
  • Call to GetWindow() with focus makes sure the window always becomes visible.
  • Cancelling the drag of multiple sprites to scene view or hierarchy no longer generates GameObject.
  • Corrected error message when adding component with mismatched class and file name
  • Creating prefab from GameObjects which contains cloth no longer crashes.
  • Do not show linear color space setting in free version (Pro only feature).
  • Dragging single or multiple sprites to hierarchy works.
  • Fit tool windows on screen when resolution changes.
  • Fix the Script Execution Order Window to only show MonoBehaviours and ScriptableObjects. And fix dragging scripts from project browser so it only allows valid scripts.
  • Fixed a crash when rendering preview images for prefabs with ClothRenderer components.
  • Fixed changes being undone when dragging assets from Windows Explorer onto Unity Editor.
  • Fixed crash when adding trees to terrain with no tree prototype defined.
  • Fixed crash when resizing array to 0 in inspector with multiple objects selected.
  • Fixed crash when script name is 32 characters or longer.
  • Fixed crash when Sprite.Create's 1st argument (Texture) is null.
  • Fixed crash when switching from "Rig" to "Model" tab in model inspector when having unapplied changes.
  • Fixed crash when switching to play mode with scene that hides transform children with HideFlags.DontSave.
  • Fixed crash when trying to import unreadable font.
  • Fixed crash when undoing a prefab revert.
  • Fixed crash when using InitializeOnLoad attribute to execute code that calls back into engine.
  • Fixed GLES emulation when running in -force-opengl mode.
  • Fixed GUILayout errors when multi-selecting audio clips
  • Fixed memory leaking when moving terrains.
  • Fixed multi-editing arrays in custom property drawers.
  • Fixed non-monobehavior classes breaking the script execution order window.
  • Fixed order of backing up/disabling/enabling scripts when reimporting.
  • Fixed Package Import Window was missing folders and had incorrect indentation
  • Fixed popup windows sometimes overlapping with the taskbar on Windows.
  • Fixed script importing error if the script contains a field whose name is ended with "guid".
  • Fixed scripts being recompiled every time a project got loaded.
  • Fixed that popup windows was not closed when using keyboard shortcut to go into playmode. This caused null-reference exceptions.
  • Fixed that popups auto closes on OSX 10.9 (Maverick) on secondary displays.
  • Fixed that the project wizard selection for 2D did not work when creating a new project from an already running Unity instance (OSX issue only).
  • GameObject are no longer moved to the root of the scene hierarchy when using Undo.RegisterFullObjectHierarchyUndo().
  • Handles no longer get stuck when dragged outside of scene view.
  • Hide "Alpha is Transparency" when no alpha channel is generated.
  • Hide GPU-skinning option in Unity free since it's a pro feature.
  • Importing very wide sprites no longer triggers an assert message.
  • Inform user about platforms with no support for Splash Screen in Player Settings window.
  • Made chinese input to not print out duplicate Western characters
  • Made it possible to undo changes made to prefab assets.
  • Make curve editor popup initially show with correct ranges when present.
  • Make PropertyField foldouts (for e.g. arrays) work together with PrefixLabel.
  • No more null ref exceptions while changing tabs in FBXImporter.
  • Obey script execution order when reloading scripts.
  • Object creation now takes priority when naming an undo group.
  • Optimize transform hierarchy from Animator context menu can now be undo’ed.
  • Pivot-to-vertex snapping works again in scene view.
  • Prefab children in the Project Browser are now sorted in transform order, to match Hierarchy sorting.
  • ProjectSettings.asset (force text) can now be upgraded correctly.
  • Remove Components from GameObjects in m_Undos list that were not registered for undo in m_Undos .
  • Reverting to prefab value can now be undone.
  • Sub assets in the Project Browser are now sorted first by type then by name.
  • Texture importer inspector failed to render after reset from context menu.
  • Throw exception when attempting to build a development version of a Linux headless player (unsupported).
  • Undoing destruction of objects in serialized files will now correctly mark the recreated objects as persistent. This fixes dataloss.
  • Unity will throw an error during build type when you have classes with same name in the project, this was causing serialization issues during runtime which was hard to track.
  • Unity won't crash when setting material properties in OnValidate function.
  • Unity won't hang when importing some of the assets on PCs with Intel HD 4000.
  • Unsupported texture types are not shown in sprite editor.
  • When trees are placed at the border of terrain now they will respect brush density setting.
  • Graphics Fixes:
  • Animating floating-point ParticleSystem properties no longer resets time whenever the property value changes.
  • Depth texture requirement removed from EdgeDetectEffectNormals image effect.
  • DirectX 11 fullscreen applications will always launch on main display now; the previous behavior was quite random.
  • Fixed _ProjectionParams.x (negative when target buffer is upside-down) not being set when rendering without a camera.
  • Fixed 3D textures in DirectX 11 where height is not the same as depth.
  • Fixed "Disabled" Depth Test interpreted as "Never" on OpenGL ES 2.0.
  • Fixed ASTC texture importing.
  • Fixed crash when destroying an active RenderTexture.
  • Fixed crash when Mesh user is registered twice.
  • Fixed crash when using Shader Forge.
  • Fixed editor crash when working with mobile targets and using DXT compressed textures.
  • Fixed error messages with image effects at some game view aspect ratios.
  • Fixed GL.Clear in some cases not clearing stencil properly on DX9 and DX11.
  • Fixed Linear color space being wrong in the editor in DirectX 11 mode.
  • Fixed occasional crash when quitting standalone player that uses DirectX 11.
  • Fixed occlusion culling data bake error.
  • Fixed Skybox rendering when using custom camera projection matrices (e.g. when doing stereo rendering like Oculus Rift).
  • Fixed TextureFormat enumeration missing a few compressed texture formats (ETC2, ASTC).
  • Fixed Umbra related false occlusion and light flickering.
  • Fixed Umbra related occlusion culling errors when camera’s near plane intersects occluding geometry.
  • Fixed Umbra related portal index error that prevents occlusion culling working properly.
  • Fixed various issues with skinned meshes on GLES 2.0.
  • OpenGL ES 3.0 (Android and iOS) fixes:
  • Fixed 2D sprite rendering.
  • Fixed crash when using cloth simulation.
  • Fixed first frame being corrupted.
  • Fixed fog rendering.
  • Fixed errors in some GLSL shaders.
  • Fixed GPU memory leak when releasing RenderTextures.
  • Fixed immediate mode rendering when GL.End is called multiple times.
  • Fixed SSAO image effect.
  • Improved reliability and correctness across wide range of supported devices.
  • Recursive rendering of camera from OnWillRender will now trigger error and return cleanly (instead of crashing in the worst case).
  • Shader fixes:
  • .cginc files with UTF8 BOM markers don't confuse shader compilers. Include files at non-ASCII paths work on Windows properly now.
  • Fixed crash if shaders have infinite (cyclic) fallback chains.
  • Fixed editor graphics emulation (e.g. "shader model 2.0") not quite working when DX11 was used.
  • Fixed GLSL translation of some global matrix initializers.
  • Fixed shader errors on some platforms (e.g. DX11) being reported as warnings in the editor. Now all errors are errors, and warnings are warnings like it should be!
  • Fixed shaders that use material-driven fixed function states (i.e. blend mode controlled from material properties) going wrong on graphics emulation level switching.
  • Improved precision of EncodeFloatRGBA function.
  • Shader.SetGlobalTexture no longer throws an exception when passed a null texture.
  • Worked around DX11 shader compiler bug with spot light soft shadows that was affecting WindowsStore/WP8 apps.
  • Shuriken: Editor handles the case where Particle System component is deleted.
  • Umbra occlusion culling now returns error if scene has vertices that make bounds very large and can cause baking to hang.
  • iOS Fixes:
  • Added workaround for iOS 7.1 slow/hanging scene loading on iPhone 4.
  • Fixed case when empty app was using 100% of CPU.
  • Fixed case when iOS application can not be built when the "Google Android Project" check-box is enabled.
  • Fixed handling of on screen keyboard input field.
  • Fixed iOS submission (missing icons) issue.
  • Fixed issues in RenderTexture (FBO) management.
  • Fixed mono AOT issue when calls are made via interface.
  • Fixed mscorlib support.
  • Fixed OpenGL ES context creation to adhere to Apple guidelines (should fix crashes on startup on context creation).
  • Fixed rendering issue (black screen) when non-native resolution was used.
  • Fixed Screen.orientation returning wrong values after you enabled previously disabled orientation that device currently has.
  • Fixed second stage iOS splashscreen issue.
  • Fixed Simulator build.
  • Fixed touch updating logic for Unity Remote.
  • Fixed unknown device type detection.
  • Fixed use of Advertising Identifier.
  • Fixed webcam on iOS 6.0 and later.
  • Fixed Windows crosscompiler crash with --debug.
  • Fixed WWW leak.
  • Fixed WWW.audio and WWW.assetBundle loading.
  • Updated XCode plugin to work with XCode 5.1 (build and run should work).
  • Warn user before deleting build target folder contents.
  • WWW will not accept self signed certificates by default anymore.
  • Mecanim Fixes:
  • Fixed crash when Animator are disabled by other Animator during events.
  • Fixed crash when disabling GameObject during an Event.
  • Fixed animation not correctly producing transform changed messages.
  • Fixed AnimationClip.Length always returning 1 for all player.
  • Fixed animator causing issues with Collision contacts.
  • Fixed backward compatibility issue for WebPlayer. Mesh deformation for Game using Mesh.Combine were not working anymore with Animator Component.
  • Fixed bad dependency tracking of PPtr animations in AssetBundles.
  • Fixed character having double translation when interrupting a transition from an empty state.
  • Fixed crash in animation when changing bindings on some platforms.
  • Fixed crash in standalone when using HumanTrait.BoneName.
  • Fixed crash when building level with an AnimationClip for sprites referenced by more than one controller.
  • Fixed crash when playing an animation that ends with an animation event when an object is inactive.
  • Fixed crash when previewing disabled object.
  • Fixed crash when trying to undo layer deletion.
  • Fixed crash when undoing layer creation.
  • Fixed crash when using Animator.GetBoneTransform() on an Animator without an Avatar.
  • Fixed crash when you drag and drop an animation clip on a Game Object.
  • Fixed crash with corrupted controller.
  • Fixed crash with invalid BlendTree parameters.
  • Fixed invalid parameter when adding a BlendTree child to a BlendTree.
  • Fixed Lag causes avatar not to reach MatchPosition.
  • Fixed memory leaks.
  • Fixed NullReference exception when adding transitions in play mode.
  • Fixed NullReference exception when opening Animator Window.
  • Fixed Trigger parameter not reseting correctly for transition with a duration of 0 second.
  • Fixed undo of added BlendTree child.
  • Fixed undo of added Layer.
  • Fixed undo of changes done in the Avatar mapping tool using the body image.
  • Fixed update of transition so that 0 duration transitions are evaluated correctly.
  • Makes events be triggered when passed over in a transition.
  • Wrote docs for Motion - base class for AnimationClip and BlendTree.
  • Fixed scale not being applied in Transition previewer.
  • Physics Fixes:
  • 2D rigid-bodies now update their positions as well as perform interpolation/extrapolation in the correct order based upon their depth in a transform hierarchy.
  • 2D rigid-body rotational inertia no longer scales with collider size but rather with the rigid-body mass.
  • Allow static/kinematic collisions and triggers to occur.
  • Box2D sub-stepping can cause missed Exit callbacks under certain conditions.
  • Can now set the Rigidbody2D rotational inertia.
  • Changing the GameObject layer should cause existing 2D collisions to be re-evaluated.
  • Child 2D rigid-body that is either Sleeping or Kinematic now follows any parent 2D rigid-body.
  • Clamp 2D rigid-body position/rotation to realistic bounds to stop numeric overflow.
  • Collision normal and other information not updated during OnCollisionStay2D callbacks.
  • Collision reports for 2D colliders can result in an "Exit" callback without an "Enter" callback.
  • Collision/Trigger callbacks are maintained correctly during processes that force Box2D to regenerate collider shapes.
  • Disabled Polygon Collider Editor when the component is not enabled.
  • Do not create 2D joint if either the object the joint is on or the connected object is inactive.
  • Don't send 2D physics callbacks if respective rigid-bodies are asleep.
  • Exposed a flag to enable collisions between rigid bodies connected with any type of joints.
  • Fixed 2D collider gizmo not rendering in expected position.
  • Fixed child Collider2D position when rotated under negative scale.
  • Fixed cloth simulation after re-activation.
  • Fixed crash caused by three or more collinear vertices used in a PolygonCollider2D.
  • Fixed crash when removing a 2D rigid-body that is currently reporting collisions or triggers.
  • Fixed crash when sphere casting to a mesh collider with less than 9 triangles on win64 target.
  • Fixed DistanceJoint2D incorrectly controling maximum distance only.
  • Fixed issue where changing the scale of a Collider2D during a collision callback could result in a duplicate callback being made.
  • Fixed issue where compound hierarchies of Collider2D would not correctly rotate.
  • Fixed problem in Box2D where joints can cause infinities in static body state when solving position constraints. This would persist even when exiting play mode due to the static ground-body being used.
  • Increased the range for JointAngleLimits2D so that angle limits can extend beyond a single rotation.
  • Made the default of 2D rigid-body center-of-mass to the rigid-body origin.
  • Physics2D.OverlapCircle() and Physics2D.OverlapArea() now check all edges on EdgeCollider2D.
  • Removing RigidBody2D in play mode incorrectly disables any attached 2D colliders.
  • The Editor reports modifications on "Physics2DSettings.asset".
  • Update HingeJoint2D and SliderJoint2D angle/reference angle when joint is forcibly modified via direct transform change.
  • When changing 2D collider trigger state, existing contacts will now be changed to match that state.
  • Can now add multiple 2D slider joints.
  • Fixed excessive cloth self collision simulation which rendered some games practically unplayable.
  • Other Fixes:
  • AI: Fixed a crash when trying to draw uninitialized path node debug info.
  • AI: Fixed erroneous rendering of agent debug info when navmesh uses height mesh, or when navmesh window is not visible.
  • AI: Fixed NavMeshAgent.Move sometimes undershooting terrain.
  • AI: Fixed OffMeshLinks trying to remap every frame when auto-updating was disabled.
  • AI: Fixed problem where agents would not use height-mesh when stopping at a carved boundary.
  • AI: Fixed problem where any change in rotation or scale would trigger re-carving regardless of specified move-threshold.
  • Animation: Animation Event popup no longer freezes for events of deleted scripts.
  • Animation: Fixed a crash when adding, at runtime, pre-4.3 asset bundles containing animations.
  • Animation: Optimize option is disabled from Animator context menu when it's missing an avatar.
  • Asset Bundles: Fixed script compatibility errors when loading asset bundles built in from a different project.
  • Asset Import: Modified directories no longer force their entire contents to be re-imported. Also fixes the issue of the cache server being spammed with requests that have no hashes.
  • Assets Management: Fix null callback call in coroutine invocation.
  • Audio: Fixed "Bypass Effects" on AudioSource which caused AudioSources to be muted when initialized with the flag set.
  • Audio: Fixed "m_PausedSources.empty()" error when resuming game.
  • BlackBerry: Added "Run in Background" checkbox to player settings user interface.
  • BlackBerry: Microphone is now supported.
  • BlackBerry: Password fields will no longer lose text if the user deselects the field and then reselects it.
  • BlackBerry: Screen.sleepTimeout is now supported.
  • BlackBerry: Spaces are now supported in bar file name.
  • BlackBerry: The following typefaces are now supported: Chinese simplified, Japanese, Thai, Arabic, Indic, Hindi.
  • Build Pipeline: Icons are now applied before post-processing scripts are called.
  • Debugger: Don't hang when debugger evaluation triggers an exception.
  • Documentation: "Switch to component" button in Scripting Reference.
  • Documentation: Correctly expanding left side tree in Scripting Reference.
  • Documentation: Fixed many customer-reported bugs.
  • Documentation: Fixed bug which caused UnityEditor to be excluded from Scripting Reference.
  • Documentation: Improved display of generic classes and functions.
  • Documentation: Re-introduced API History in scripting reference docs.
  • Documentation: Showing name of current class/member in page title.
  • Documentation: Switching between C# and JS for sample code in Scripting API on IE11 has been fixed.
  • Events: Fixed OnMouseExit not being called properly.
  • IMGUI: Don't send OnMouseDown event for last used object when clicking IMGUI elements.
  • IMGUI: Fixed bug in GUI.ScrollTowards / GUI.ScrollTo that caused it to think it needed scrolling when it didn't. This also fixes a bug in the Highlighter API where a highlight would fail without warning for certain ScrollViews.
  • Input: Fixed touch tracing stuck to last game object.
  • Installers: DisplayVersion not set correctly by Windows installers.
  • Licence system: Re-enabled license logging in editor.log.
  • License system: Removed support for old PACE license files.
  • Mac OS X Standalone: Fix asserts when going in or out of fullscreen mode.
  • Mac OS X Standalone: Fix GetAllNetworkInterfaces.
  • Mac OS X Standalone: Fixed KeyUp events being registered for Command-Key combinations.
  • Mac OS X Standalone: Fixed mouse coordinates when requesting a window larger than the screen.
  • Mac OS X Standalone: Fixed position of IME candidate window in fullscreen mode.
  • Mac OS X Standalone: Joysticks now work in 64 bit builds.
  • Mac OS X Standalone: Screen Selector dialog can now show more than six quality settings.
  • Profiler: Fixed "autoconnect profiler" not working.
  • Scripting: Disallow invalid scripts in execution order UI.
  • Scripting: Fixed crash when disabling from constructor.
  • Scripting: Fixed crash when inspecting SerializedProperty.displayName.
  • Scripting: Fixed crash when passing null to Undo.RecordObject.
  • Scripting: Fixed crash when project contains mixed-mode assemblies.
  • Scripting: Fixed crash when unloading a domain with multiple threads.
  • Scripting: Fixed namespace detection for MonoBehaviors containing methods with default parameters.
  • Scripting: Fixed player build when unqualified class names collide.
  • Scripting: Fixed Resources.FindObjectsOfTypeAll sometimes returning objects of incorrect types.
  • Scripting: Only add the component if the required components are not conflicting with the existing ones.
  • Scripting: Undo/Redo of FullHierarchyUndo works now.
  • Serialization: Fixed crash on type load error.
  • Substance: Cache files for GenerateAndCache / DoNothingAndCache are no longer backuped to iCloud and should no longer cause AppStore rejection.
  • Substance: Color specular maps are now correctly generated, and the proper specular alpha channel is now used when the specular map is used as the alpha source for another ProceduralTexture. This might change the way some metallic materials are rendered.
  • Substance: Fixed a rare bug of DXT1 normal maps being used on Windows instead of DXT5.
  • Substance: Fixed a serialization bug which would cause webplayers to crash with newly built content.
  • Substance: Fixed crash when importing a Substance with usage-less outputs.
  • Substance: Fixed error message being displayed when serializing an uninitialized boolean.
  • Substance: Fixed some rare editor crashes.
  • Substance: If no input was modified, RebuildTextures() no longer causes ProceduralTextures that were read from cache to be re-computed from scratch.
  • Substance: If present, the component names of vector inputs are now properly displayed in the inspector instead of the default x, y, z, w.
  • Substance: Mipmap selector in the Texture preview now works on ProceduralTextures.
  • Substance: Non-default assignments of Substance outputs to shader properties are now correctly serialized and should no longer be reset when reimporting Substance materials.
  • Substance: Normal maps will no longer invert or bake incorrectly when being reimported after switching between desktop/web and mobile build targets.
  • Substance: ProceduralMaterial.ClearCache() now releases more memory than before when using image inputs.
  • Substance: ProceduralMaterial.ClearCache() now works correctly when queuing ClearCache() requests for multiple materials.
  • Substance: ProceduralMaterials are now always imported after shaders and should no longer lose their shader assignment.
  • Substance: Undo/Redo operations now behave as expected in the ProceduralMaterial and SubstanceImporter inspectors.
  • Substances: Rebuilt substance textures don't obey sRGB encoding.
  • Terrain: Accessing to a destroyed terrain will not crash Unity any more.
  • Terrain: Established minimum size for all terrain wizards.
  • Terrain: Fixed crash in some cases where trees are manipulated if an invalid prototype is present.
  • Terrain: Fixed crashes on certain platforms
  • Terrain: Fixed terrain properties not being saved if they are edited in inspector debug mode.
  • Terrain: Fixed trees bending to wrong wind direction if trees are rotated.
  • Terrain: Mark TerrainData dirty after PhysicMaterial set for Heightmap.
  • Terrain: Object creation can now be undone.
  • Terrain: Removed unwanted message saying "A tree couldn't be loaded because the prefab is missing" when importing a project.
  • Version Control: Delete folders when the .meta file is deleted as part of a sync.
  • Version Control: Encrypt version control credentials before saving to file.
  • Version Control: Fix errors from too long vcs messages.
  • Version Control: Fix missing unlock command in pending window context meny for assets.
  • Version Control: Fix not being able to get incoming file if you had previously added the same file at the same time as remote and just before syncing deleted the asset.
  • Version Control: Fix script execution order inspector grayed out and meta files not modified with order info when applying.
  • Webplayer: OSX installs should no longer encounter update problems when installed via user accounts with unusual permissions.
  • Webplayer: OSX versions prior to 10.9 can again run Unity games built with Unity 2.x.
  • Webplayer: Several security holes have been closed.
  • Webplayer: Webplayer now requests and requires crossdomain.xml authorization for HTTP redirects to URLs on different servers/ports.
  • WebPlugin: Fixed UnityObject JS param options not working with IE.
  • WebPlugin: Updater does not need to self elevate if the plugin is installed in LocalLow.
  • WWW: Editor and standalone players now correctly set the Accept-Encoding header to 'identity' when transmitting HTTP requests.
  • WWW: Fixed “bad file length” errors when loading scene bundle in editor or web player.
  • WWW: Fixed CRC tests for downloads of uncompressed AssetBundles to the Cache.
  • WWW: Fixed the race condition when the task was destroyed before the outstanding continuations were properly completed.
  • WWW: Several fixes to prevent XSS and header-forgery attacks.

New in version 4.3.4 (January 31st, 2014)

  • Improvement:
  • Editor: Improved OS X Mavericks performance in the editor. Works around freezes and sluggish performance on some Mac configurations due to OpenGL driver issues
  • Fixes:
  • iOS: Fixed case when big WWW downloads were silently failing

New in version 4.3.3 (January 20th, 2014)

  • Feature:
  • Windows Store Apps/Windows Phone: added implementation for some .NET classes, missing on these platforms, including XmlDocument, XmlTextReader, XmlTextWriter and some collection classes (detailed list in documentation section "Missing .NET Types" for either of two platforms)
  • Windows Store Apps: Add UnityEngine.WSA.Launcher class, it can be used for opening external files or uri.
  • Change:
  • iOS: WWW class implementation extracted to trampoline. Now it allows tweaking of self-signed certificate acceptance.
  • Web Player: Add 360 game box support in the web plugin.
  • Windows Store Apps/Windows 8.1: Independent Input Source and Low Latency Frame API are now disabled by default, you can enable them via Player Settings.
  • Improvement:
  • Windows Store Apps/Windows 8.1: SwapChainPanel is now supported, you can set via appCallbacks.SetSwapChainPanel
  • Windows Store Apps/WP8: When unloading unused assets, Unity will output asset names, which are still being used, but are not strongly referenced. That should help identifying problems, where some prefabs are being unloaded.
  • Windows Store Apps: Add "Unprocessed plugins" option in PlayerSettings, so you can specify plugin names, which shouldn't be processed, simply specify plugin file name, for ex., MyPlugin.dll. This should help workaround problems where Unity fails to preprocess an assembly, but actually doesn't need to do it.
  • Windows Store Apps: Added additional defines for scripts: UNITY_METRO_8_0 - when building against Windows SDK 8.0, UNITY_METRO_8_1 - when building against Windows SDK 8.1
  • Windows Store Apps: If you have different plugins for Windows 8 and Windows 8.1, you can place them accordingly to Assets\Plugins\Metro\Win80, Assets\Plugins\Metro\Win81, Unity will pick appropriate directory depending on the selected SDK.
  • WP8: Emulate DX11 level 9.3 graphics in editor to have features similar to actual device
  • Fixes:
  • 2D: Correctly initialise Sprite textureRect if all pixels are transparent.
  • 2D: Fixed broken sprite mesh generation in certain cases.
  • 2D: Fixed SpriteRenderer inspector memory leak.
  • Allowing user to re-activate Unity when upgrading from Windows 8 to Windows 8.1
  • Android: added fallback to 24/32bit display buffer when 16bit display buffer is selected but not supported by the device.
  • Android: fixed a crash due to threads still being attached to dvm when exited.
  • Android: Fixed an issue where loading native libraries from custom threads would fail
  • Android: fixed an issue where the application would suddenly quit on some Snapdragon devices.
  • Android: fixed an issue where touches where sometimes offset by the height of the status bar.
  • Android: fixed Application.systemLanguage.
  • Android: fixed issues when the input was processed in cases it shouldn't
  • Android: fixed mali crash
  • Android: fixed orientation attribute for proxy and java activities.
  • Android: fixed splash screen fit/fill.
  • Android: fixed the bug when cache cleaning didn't work properly
  • Android: fixed the bug when creating an output directory with the name of target .apk lead to build failure
  • Android: force remove any selection before closing the onscreen keyboard.
  • Android: proxy activity will now activate the native activity.
  • Animation Window: Scene selection sync with animation window no longer jumps around when clip changes
  • Editor: Editor.log should no longer be locked by adb.exe on windows.
  • Editor: Fix 'Keys' pane in Preferences showing light background in dark skin
  • Editor: Fixed importing prefab with Cloth
  • Editor: Generating Previews for Main Asset on the Asset Store Tools is working again for non PRO licenses
  • Editor: Quitting the editor should no longer be blocked by adb.exe on windows.
  • Graphics: Fixed crash when calling LineRenderer.Render() outside of a camera render.
  • Graphics: Fixed crash when using a GrabPass shader with Graphics.DrawTexture().
  • Graphics: Fixed textures in MaterialPropertyBlock sampling the wrong mipmap on some platforms.
  • Input: Bumped the number of available joystick axis to twenty.
  • iOS: Fixed crash when cancelling WWW download
  • iOS: Fixed crash while dictating for IMGUI input field
  • iOS: Fixed iPad Air & iPad Mini Retina detection
  • iOS: Fixed unknown device type detection
  • Mac OS X Standalone: Fix accidental inclusion of unneeded files, resulting in wasted disk space for each player build.
  • Mecanim: Animator State progress bar were broken
  • Mecanim: Fix backward compatibility issue with animation imported in 4.2 and then imported in 4.3, we did change the default behaviour between those two version on how transform animation are imported
  • Mecanim: Fixed problem with Additive Layers. Only Lopped clip were working correctly
  • Mecanim: Fixed problem with Additive Layers. Weird interpolation when total blend weight was smaller then 100%
  • Mecanim: Fixed problem with editing Additional Curves when Preview window is closed
  • Mecanim: Fixed Crash when importing a project with sync layer in Unity Basic
  • Mecanim: Fixes BlendTree being reset when viewing their Graph in LiveLink.
  • Mecanim: Fixes humanoid layers that has empty states.
  • Mecanim: Various fix to API documentation: Play, Crossfade, SetTrigger and AnimatorControllerOverride
  • Meshes: Fixed crash with blend shapes that are morphing vertices not used in the mesh's geometry.
  • mobile: Fixed fog patching, to make sure we play good with preprocessor
  • NavMesh: fixed an issue where a disabled OffMeshLink would not re-enable on "Activated" check-box in editor
  • NavMesh: fixed an issue where stopped NavMeshAgent would start moving on carved NavMesh
  • NavMesh: fixed regression for crash when changing updatePosition on a NavMeshAgent not attached to a NavMesh.
  • NavMesh: fixed regression where NavMeshAgents with slow speeds would sometimes get stuck when moving around corners
  • Physics: Rigidbody2D rotation updates sometimes causing invalid local local rotations when placed in a deep hierarchy.
  • Physics: Unity crashes when rotating a complex PolygonCollider2D component.
  • Shaders: Fixed building shaders from Editor with -nographics option in batch mode.
  • Shaders: Fixed GLSL shaders messing up Mac Editor windows for one frame once in a blue moon.
  • Shaders: Fixed material.SetFloat, SetColor etc. performance issue in Editor (it was getting slower as more unique shader property names appeared).
  • Shuriken: Fixed some particle systems incorrectly pre warming when being reactivated.
  • Substances: Fixed Substance cache files being included in iCloud backups; could cause apps to be rejected on the App Store.
  • UnityObject: Fixing Internet Explorer detection, when plugin missing.
  • Windows Editor: Fixed a rare crash on toggling Direct3D 11 mode.
  • Windows Phone: UnityScript support fixes
  • Windows Player: Fixed memory use regression for static batches and non-read/writable meshes in 4.3.
  • Windows Store Apps/WP8 : AnimcationClip.SetCurve will work correctly now.
  • Windows Store Apps/WP8: Fall back to Clamp texture wrap setting for non-power of two size textures
  • Windows Store Apps/WP8: fixed ReferenceReWriter crash when project is being built, an unavailable API is used somewhere in user scripts/plugins and a method with a same name but no parameters is available.
  • Windows Store Apps/WP8: When compiling C#, JS or Boo files, Unity will not reference assemblies from other platform folders, for ex., assemblies from Assets\Plugins\iOS will not be used. This should fix the issue where Unity creates assemblies with references to other platforms.
  • Windows Store Apps: Blind fix for a rare crash when profiler tries to connect and there's an error in the Network.
  • Windows Store Apps: Check for DX debug support, fixes crash on Windows 8.1 using 8.0 debug player
  • Windows Store Apps: Debug, Release configuration won't crash when trying to connect to profiler, when no network adapters are available or some other fatal network error.
  • Windows Store Apps: Fix fixed function shaders not working under level 9.1 emulation in editor
  • Windows Store Apps: Fix mouse delta when cursor is hidden (was incorrect on some devices)
  • Windows Store Apps: Fix serialisation bug when you have fields wrapped with UNITY_EDITOR define.
  • Windows Store Apps: Fix several crashes in live tiles API
  • Windows Store Apps: Fixed a rare hang, when resizing window and calling InvokeOnAppThread with sync.
  • Windows Store Apps: Mouse and touch positions should be reported correctly on devices like Surface Pro (Windows 8.0 & Windows 8.1), with and without Independent Input Source enabled.
  • Windows Store Apps: When changing window size, rendering won't get corrupted.
  • WP8: Fixed player crash when ID_CAP_IDENTITY_DEVICE capability is disabled from application manifest.
  • WP8: Rotate skybox and non-pixel correct GUIText to screen orientation

New in version 4.3.2 (December 19th, 2013)

  • 2D:
  • Added a new asset type: Sprite
  • Sprite is defined by a Texture2D, rectangle and a pivot point.
  • Sprite has an internal mesh generated based on pixel alpha values, PRO only feature.
  • Sprite supports vertex snapping (V)
  • Added Sprite under the "GameObject/Create Other/" menu.
  • Sprite Mode added to TextureImporter
  • Single Sprite option will generate one Sprite using the entire texture.
  • Pixels to Units defines the mesh size of the Sprite to 1 / value.
  • Pivot property defines sprites center point.
  • Manual option allows custom Sprite definitions.
  • Sprite Editor button opens new window for editing sprites: Add / Delete sprites manually; Automatic and Grid based slicing; Change sprite names.
  • Extrude Edges property added to Advanced mode. It can be used to extrude the internal sprite mesh edges if needed for custom texture-space effects.
  • Mesh Type property added to Advanced mode. It can be used to change the type of mesh generated: Full Rect or Tight (PRO only feature).
  • Added a new renderer component: SpriteRenderer
  • Renders one Sprite.
  • Does not requires a material to have _MainTex texture set.
  • Uses Material Property Blocks to patch _MainTex with the correct (original or atlased) texture for the active Sprite.
  • Supports dynamic batching with non-uniform scaling.
  • Color property sets the vertex color.
  • If no material is specified, Sprites/Default material (alpha-blended) is used.
  • Added 2D mode button to scene view
  • Scene view axis widget is hidden on 2D mode
  • Scene view locks to the XY plane.
  • Move tool changes to a dedicated 2D tool with familiar functionality.
  • Move tool have special Keyboard modifiers
  • Picking is now alpha-based.
  • Dragging a sprite to the scene will create a new GameObject with a SpriteRenderer.
  • Dragging multiple sprites to scene will create a new GameObject with a SpriteRenderer and sprite animation.
  • Sprite Packing (Atlasing), PRO only feature
  • Atlas is defined by changing the PackingTag property in texture importer.
  • Packing is based on the generated mesh.
  • Packing will respect texture import settings and will only pack textures together if format, usage mode, color mode, compression quality, filter mode and mip-map settings match.
  • Window/Sprite Packer menu option opens a new window for inspecting the automatically generated sprite atlases.
  • Decision of which sprites to place into which atlases can be fully customized by implementing a custom sprite packer policy (UnityEditor.Sprites.IPackerPolicy).
  • Packing is completely transparent to the user, works in Play mode and is compatible with asset bundles.
  • Integrated Box2D physics engine and a set of 2D physics components
  • Rigid-body component (RigidBody2D) supporting static/kinematic/dynamic body, mass, linear/angular velocities, drag and auto-sleeping, and fixed-angle constraint.
  • Circle collider (CircleCollider2D) supporting a centroid and radius.
  • Box collider (BoxCollider2D) supporting a centroid and a size.
  • Polygon collider (PolygonCollider2D) supporting an arbitrary set of polygons. It can be initialized to the shape of a sprite by dragging the sprite onto the component.
  • Distance joint (DistanceJoint2D) supporting a hard maximum distance between rigid-bodies.
  • Hinge joint (HingeJoint2D) supporting linear and angular limits and motor drive.
  • Slider joint (SliderJoint2D) supporting an axis constraint, linear limits and motor drive.
  • Spring joint (SpringJoint2D) supporting a soft (spring) distance between rigid-bodies.
  • Added a new physics material PhysicsMaterial2D to share friction and bounciness including default material support.
  • Added a 2D physics manager to contain scene settings such as gravity etc.
  • Added spatial queries in Physics2D scripting class for line and ray-casting and geometry overlap checks.
  • Added both trigger and collision callbacks for 2D colliders including collision points and normal.
  • Added 2D physics profiling information to the profiler.
  • Editor: Hold down shift to quickly modify 2D colliders.
  • Animation Features:
  • New Animation Window has arrived
  • Heavily influenced by the standard "dope sheets".
  • Only animated properties are shown in the property view (left side of the window).
  • Sprite animation is possible by animating the SpriteRendrerer component.
  • Sprites are shown in the dopesheet when SpriteRenderer is unfolded from the left side property view.
  • 'Add Curve' menu added. Shows all properties that can be animated on selected GameObject.
  • Animation Window now supports Mecanim. Animations can be added to the animator controller from the Animation window. Animations can be modified in the AnimationWindow too.
  • Added 'Curves' button to menu bar. Changes between dopesheet and curve editor. 'C' key assigned for keyboard shortcut
  • Added 'Samples' field to menu bar. Changes clip sample value per second.
  • Added toggle field for animating boolean properties. Created boolean curves use 'Constant' as default key tangent.
  • 'F' will focus on whole clip, or shown curves, if nothing is selected
  • Mecanim improvements
  • Add a new option "Optimize Game Objects" in ModelImporter inspector. In short, this makes character rigs much faster.
  • When turned on, the game object transform hierarchy of the imported character will be removed and is instead stored in the Avatar and Animator component.
  • The SkinnedMeshRenderers of the character will then directly use the Mecanim internal skeleton, so that we can get rid of all the Transforms which used to be there, representing all the bones.
  • This option will improve the performance of the animated characters. It is recommended to turn it on for the final product. In optimized mode skinned mesh matrix extraction is also multithreaded.
  • When "Optimize Game Objects" is turned on, the user can specify a list of "Extra Transforms to Expose" in ModelImporter inspector. For example, if you want to attach a sword to the right hand, this acts as a mount point. The exposed transform is flattened in the game object hierarchy, even though it might be somewhere deep in skeleton hierarchy.
  • Mecanim supports animating any property including blend shapes properties, camera properties, script float properties, lights and most other float properties on components.
  • Support for events! Events are created in the animation window for writable Animation Clips attach to an Animator. Can also add AnimationEvents directly in the animation importer.
  • Various performance optimizations, especially in regards to generic mode.
  • Added Animator.Play and Animator.CrossFade scripting functions. These functions allow you at runtime to transition to any state in your controller.
  • Added AnimatorOverrideController, an AnimatorOverrideController allow you to override any clip from a controller with another one.
  • Loop time vs Loop pose, When an animation clip is already looping, no need to activate Loop Pose, Loop Time will make clip looping without modifying the pose.
  • Trigger parameter, a trigger is a boolean parameter that is reset by the controller when consumed by a transition.
  • Editor Features:
  • Editor Controls Overhaul
  • LookLikeControls and LookLikeInspector have been replaced with a single unified look.
  • New look has consistent styles, indentation and layout.
  • Keyboard navigation now works for all components and is improved for sliders and object fields.
  • The Inspector has a new Wide Mode that places controls in a more neatly aligned and vertically compact way.
  • Easier to write Editor GUI with consistent alignment.
  • Relevant new API:
  • EditorGUIUtility.labelWidth and EditorGUIUtility.fieldWidth replaces the parameters in the now obsolete EditorGUIUtility.LookLikeControls function.
  • EditorGUI.PrefixLabel has a new overload that doesn't need an id parameter.
  • EditorGUILayout.GetControlRect is the best way to get a Rect for a standard sized Editor control.
  • Other Editor Features
  • Unity now ships with a brand new MonoDevelop 4.0.1!
  • Ability to build iOS target in Windows! It's still necessary to compile resulting Xcode project on a Mac.
  • Added global SortingLayers (see Tags & Layers window). Every Renderer can specify a layer and an in-layer order value for explicit ordering using. SpriteRenderer inspector exposes the two properties.
  • Layer locking for scene view. The layers dropdown in editor toolbar controls visibility or locking of layers (and locking of the new Sorting Layers). Locked layers are visible, but aren't pickable in the scene view.
  • Undo has been optimized for large scenes. Full scene undo support has been removed, all undo operations save only the necessary objects. SnapshotUndo support has been deprecated, instead Undo.RecordObject is to be used for all property modifications. Undo API has been revamped to make it clearer what functions should be used now.
  • Added a "Default behavior" property to Editor Properties to control default texture import behavior and default scene view mode.
  • Added an option to the new project wizard to select default editor behavior (2D/3D).
  • BuildPipeline methods now have parameters to output CRC checksums of generated AssetBundles.
  • New Highlighter editor API for highlighting elements in the editor. Useful for in-editor tutorials and similar.
  • Asset Pipeline: Only new assets or assets where the actual content has change will get imported. Changing the time stamp of an asset will no longer cause a reimport.
  • Asset Pipeline: .meta files are now always turned on. From Project Settings -> Editor you can choose to hide them if you are not using version control.
  • Added ability to specify external script editor's args, including file and line info. (Windows editor only).
  • Graphics Features:
  • Blendshapes
  • Unity now supports blendshapes (also known as "morph targets").
  • You can drive the blendshapes using name based binding from Mecanim or legacy animation system.
  • Blendshape curves are imported from FBX files, but you can also record them in the animation window.
  • Culling in Unity has been rewritten
  • Now it's much faster across the board. Umbra occlusion culling is used to cull away point lights that don't contribute to the final image; and to drastically reduce number of shadow casters from directional lights.
  • Umbra: Incremental baking of occlusion culling data.
  • Umbra: Portal culling occluder rasterization has been greatly optimized.
  • Umbra: PVS culling has been removed. Occluder rasterization is always used because PVS often gave to inaccurate results and bake times were huge.
  • Umbra: Directional shadow caster occlusion culling drastically reduces the amount of directional shadow casting objects to be rendered.
  • Umbra: Point light occlusion culling and connectivity tests are used to remove local lights that do not contribute to the final image.
  • Vertex point lights that are outside of the frustum are faded out with the range of the light.
  • General culling performance optimizations, by optimizing data layout, code optimizations etc.
  • Other graphics features
  • Deferred: A number of light rendering optimizations for deferred rendering, making the light pass faster. Side effect is that only up to 4 bits of the stencil buffer are left available, instead of up to 5.
  • Render Texture improvements:
  • Added Camera.SetTargetBuffers for multiple render target (MRT) support.
  • Ability to render into a specified mip level of a RenderTexture. Create a mipmapped RT, turn off automatic mip generation with RenderTexture. generateMips=false; and use new Graphics.SetRenderTarget overloads to specify mip level to render into.
  • Ability to render into a speficied cubemap RenderTexture face; new overload in Graphics.SetRenderTarget. Added SystemInfo.supportsRenderToCubemap.
  • Graphics: Added Mesh.UploadMeshData, to trigger VBO creation and possibly system-side copy unload.
  • MaterialPropertyBlock got improved:
  • Added Renderer.GetPropertyBlock, and MaterialPropertyBlock GetVector,GetFloat etc. functions.
  • MaterialPropertyBlocks can have texture properties now.
  • Objects with custom material property blocks (renderer.SetPropertyBlock) can be batched now, if their properties are the same.
  • Terrain: Optimized terrain rendering and reduced memory usage.
  • Android: Enabled multi-threaded rendering on OpenGL ES 2.0 and 3.0. This takes advantage of asynchronous multiprocessing architectures like Qualcomm Snapdragon CPUs and enables more efficient rendering of both OpenGLES 2.0 and 3.0, both currently supported on Adreno GPUs.
  • Android: ASTC (Adaptive Scalable Texture Compression) format support.
  • Improved system memory usage of statically batched geometry.
  • It is now possible to set the fade time on flares. This changes how fast a flare will fade in or out when appearing or disappearing from the screen.
  • Added Texture2D.LoadRawTextureData for loading already-made (e.g. DXT/PVRTC compressed) raw data.
  • Allow for overriding Hidden/Internal-Flare, Hidden/Internal-Halo and Hidden/Internal-CombineDepthNormals shaders.
  • Added Max Particles script binding to Shuriken particle systems.
  • Dynamic batching support for point, line, and quad mesh topologies.
  • Added support for some DirectX 11.1 features (low precision shader variables, UAVs in all shader stages, logical blending operations etc.); note this works on DX11.1 runtime only (Windows 8 and up).
  • Exposed Light.cookieSize to scripts.
  • Shader related features
  • Material.renderQueue is serialized now. You can change it from custom inspector or script, and it will be saved.
  • Most of fixed function states (like blend, cull, depth test, stencil modes; polygon offsets etc.) can be driven by material parameters now. For example "Blend [MySrcBlend] [_MyDstBlend]", with _MySrcBlend and _MyDstBlend being float variables. See enums in UnityEngine.Rendering for the mode values. _Note: in this alpha, global shader properties can't drive be used for this.
  • MaterialPropertyDrawers, just like property drawers, but for shaders and material inspectors! e.g. you can do [MaterialToggle(FANCY_ON)] before a float shader property, and this will display it as a checkbox; and will enable FANCY_ON keyword when checked.
  • Added "by property ID" functions to set/get material properties; use Shader.PropertyToID to compute ID just once. No need to pass strings all the time.
  • By enabling SceneFX in the scene view materials in the viewport will update as they would at runtime (taking time into account).
  • Material inspectors now take time into account. Your materials will update in realtime in the inspector window.
  • Somewhat more sane error reporting - now gives hints in error messages about #pragma target 3.0 or #pragma glsl, and reports way less almost identical errors when you make typos.
  • Vertex lit shaders can access all 8 vertex light lights instead of only first 4 in custom shader programs. Also, spot light information (spot direction & spot attenuation) can be accessed.
  • Added Material.EnableKeyword and DisableKeyword.
  • Added Material.SetInt/GetInt, and Shader.SetGlobalInt. In ShaderLab Properties block, "Int" can be a property type similar to "Float". Note that all these are just aliases for floats.
  • Added ShaderUtil.CreateShaderAsset this takes a text shader and returns a compiled shader.
  • Features:
  • D3D11: Implemented Texture2D.CreateExternalTexture and Texture2D.UpdateExternalTexture
  • DX11.1 Logical operations in blending (DX11.1 only)
  • Editor: Added EditorGUI.FocusTextInControl and EditorGUIUtility.editingTextField.
  • Implemented Screen.lockCursor API in Windows Store Apps
  • Windows Phone: MovieTexture support.
  • Windows Phone: WebCamTexture/Microphone support.
  • Windows Store Apps: added API to get application activation arguments sent by secondary tile, toast notification now can send activation arguments.
  • Windows Store Apps: implemented API to update tiles and show notifications
  • Windows Store Apps: support for UnityScript / Boo
  • Changes:
  • AI / NavMesh: Support for adding more than one OffMeshLink component to a game object.
  • Android: 32bit display buffer without alpha is now the default to avoid compositor bugs on android.
  • Editor: Make Generate Mip Maps setting in Texture Importer not be bold, for consistency, and make it hide child settings rather than just disabling the GUI, for simplicity.
  • Editor: Respect original shader culling mode in scene view picking.
  • Editor: Changed the resize cursors and added a splitter resize cursor on mac.
  • Editor: Shortcut for Maximize View has changed from Space to Shift+Space. It can now also be configured in the Editor Preferences.
  • Editor: Current layout is now stored per project. New projects will use the last layout as an initial layout state.
  • Editor: MaterialEditor API refactored. Added class MaterialProperty that holds the info & values of the material property, and handles multi-selection & undo (similar to SerializedProperty). MaterialEditor functions now operate on MaterialPropertyValues; and there's a MaterialHelper class to get to them.
  • Editor: Project Browser now sorts folders first on Windows
  • Editor: show warning in inspector when we have npot texture playing with compression in a non-good way
  • Editor: Windows Background color option was removed from Preferences window
  • GameObject.Find doesn't allocate internal memory
  • iOS: Made iOS 4.3 as default target, updated warning for older targets
  • iOS: Added possibility to choose how touches originated from non-unity views are processed. Added possibility to get "raw" touch position (iOS coords).
  • iOS: Added support for rect banners (ios6 feature).
  • iOS: Added support for vendor/advertisement id (iOS6). Changed SystemInfo.deviceUniqueIdentifier logic: on ios7 it will use ad id (if tracking is enabled) and fallback to vendor id otherwise. On pre-ios7 the behavior stays the same (hash of MAC address).
  • iOS: exposed getter for possibly mirrored web cam texture
  • iOS: iAd implementation extracted to trampoline (WARNING: script interface changed). Added c# event to be triggered after user saw advertisement.
  • iOS: Trampoline now expects SDK 5.0 or higher
  • Mac Standalone Player: When in FullscreenWindow fullscreen mode without showing menu bar and dock, disable Application switching, as it would not correctly keep the Dock hidden.
  • Mecanim: Moved Optimized transform hierarchy button from inspector to the context menu
  • Mecanim: AnimationSet renamed AnimatorOverrideController and derives from RuntimeAnimatorController.
  • Mecanim: Removed AnimationSet property from the Animator Component. AnimatorOverrideController derives from RuntimeAnimator it can be asigned directly to the Controller property of the Animator.
  • Mecanim: Root motion can now be affected by Animation Clip from any controller's layer. Before only the first layer could affect the root motion.
  • Mecanim: Renamed AnimatorStateRuntimeModificator to AnimatorStateRuntime
  • Mecanim: AnimationSet refactoring. Removed AnimationSet.ReplaceClip and added a few function for setup.
  • Mecanim: A MatchTarget is now interrupted by a transition. Project created with older version will still have the same behavior than before.
  • Mecanim: Remove Keep Additional Bones for Humanoid Rig at import. Use Skeleton mask instead.
  • NavMesh: calling CompleteOffMeshLink now positions the agent at the OffMeshLink endpoint.
  • NavMesh: enabling carving for an obstacle disables avoidance for that obstacle
  • Physics: Now allowing multiple collider components of the same type on one GameObject
  • Physics: Renamed and documented layer mask constants, Physics.AllLayers, Physics.DefaultRaycastLayers, Physics.IgnoreRaycastLayer
  • Profiler: Some samples are now tagged as warnings in the CPU profiler (i.e. moving of a static collider). The warnings are shown as a count in the 'warnings' column
  • The default GUI font embedded for consoles and other platforms with no access to system fonts has been changed to "Liberation Sans"
  • Version Control: Only kill plugin on initial negotiation errors and not all errors sent from plugin
  • Version Control:Change base path to be projectPath instead assetPath.
  • WebPlayer: Installer now reports anonymous usage statistics to help improve install experience
  • Windows Phone 8/+ Windows Store Apps: Transferred Trial API from UnityEngine.Application to UnityEngine.Windows.LicenseInformation class.
  • Deprecated and removed features:
  • Android: Dropped support for Froyo(2.2) and Eclair(2.1).
  • Graphics: Removed support for OpenGL ES 1.x on mobile; ES2.0 will be used by default now. Set rendering path to VertexLit in player settings to best approximate the old behavior.
  • Graphics: Removed support for pre-DX9 GPUs on PC. That is, GPUs made before 2003 (NVIDIA), 2002 (AMD) and 2004 (Intel) will not be supported now.
  • Editor: Removed Unitron (Mac) and UniSciTE (Windows) script editors. The MonoDevelop we ship now is quite good already!
  • Culling: Support for Animation bounding volume culling has been removed. Unity will fall back to renderer based culling instead.
  • Improvements:
  • AI / NavMesh: Performance! Crowd update is multithreaded when there are more than 50 active navmesh agents - if supported by device.
  • AI / NavMesh: Obstacle carving support. NavMeshObstacle supports carving via the "Carve" flag on the component.
  • AI / NavMesh: OffMeshLink Component is dynamic. OffMeshLink component creation/modification/destruction has effect at runtime and in the editor. No baking of navmesh is required.
  • AI / NavMesh: 'CalculateTriangulation' calculates and returns a simple triangulation of the current navigation mesh. Returned is a struct containing the vertices, triangle indices and navmesh layers.
  • AI / NavMesh: OffMeshLink Component API additions: navMeshLayer, biDirectional, startTransform, endTransform, autoUpdatePositions, UpdatePosition.
  • Android: Always use non-linear z if available for 16 bit depth buffers
  • Android: Joystick input should now be more concise across different gamepads and devices.
  • Android: Support for secondary and tertiary mouse button (requires ICS).
  • Android: GL context recreation will only take place when strictly needed.
  • Android: Better EGL context selection. Now much more likely to pick a configuration with proper anti aliasing, stencil, depth etc.
  • Android: Native EGL/OpenGLES (no longer initialized through Java).
  • Animation Window: New clips are saved into project browser active folder instead of project root by default.
  • Animation Window: Recording goes through the new Undo system. Only changes that are Undoable are recorded.
  • Animation Window: Hotkey 'k' for add keyframe button.
  • Animation Window: Properties that are being animated show up in yellow.
  • Documentation: undocumented APIs will now show up as empty stubs
  • Documentation: more Scripting docs for 2D APIs
  • DX11: Use new fixed function shader generator on Windows 8.1
  • Editor: Improve workflow when layout with custom windows failed to load due to compile errors.
  • Editor: Modified occlusion culling default baking parameters (smallest occluder value 1.0 -> 5.0)
  • Editor: No longer downloads an ivy.xml file every time you push play.
  • Editor: Removed dysfunctional Xcode 4 setting
  • Editor: Updated Unity Logo and icons
  • Editor: Better performance when entering and exiting playmode
  • Editor: Improved search in Project Browser and Hierarchy: We now support searching for types in namespaces and base types can be used to find derived types.
  • Editor: Improve error handling of renaming/creating assets when inputing invalid file name chars
  • Editor: SHIFT+F or double-F locks the scene view camera to the selected GameObject.
  • Editor: "alpha is transparency" textures are displayed with a checker background in material inspector; and nicer display in project browser.
  • Editor: Optimize Inspector GUI by avoiding much of the string handling associated with PropertyDrawers.
  • Editor: Order and group menu items in Assets/Create menu so related items are together.
  • Editor: PropertyDrawers now have a fieldInfo property that can be used to obtain reflection data about the member that the property represents.
  • Editor: PropertyDrawers can now call EditorGUI.PropertyField to get the default implementation instead of getting infinite recursion.
  • Editor: New virtual method UseDefaultMargins on Editors as well as two styles in EditorStyles that can be used to customize margin use manually in custom Editors.
  • Editor: Add ability to cancel update static flags in children dialogs.
  • Editor: Made TextAsset also recognize .json, .csv, .yaml extensions.
  • Editor: Add Component menu now handles multiple search words and lists items that match all of them, so for example "ca co" lists Capsule Collider.
  • Editor: If a shader has a PreviewType=Plane tag, the material inspector will display a plane instead of 3D meshes in the preview.
  • Editor: Improve GenericMenu showing speed on Windows.
  • Editor: New commandline switch "-buildTarget " that allows to select the active build target before a project is loaded.
  • Editor: ETC2 texture formats now selectable from Texture Importer inspector.
  • Editor: Respect HideInHierarchy flag & locked layers in drag-rectangle-box picking code as well.
  • iOS: added Ad Loaded callbacks
  • iOS: Added iPhone5S/C to the iPhoneGeneration enum
  • iOS: Fixed crash if user had selected OpenGL ES 3.0 as graphics API target (GL ES 3.0 is currently Android-only)
  • iOS: Fixed some warning in Xcode project
  • iOS: Added possibility to back rendering surface with CVTextureCache-ed texture.
  • iOS: Added AppDelegateListener with notifications about Local/Remote Notifications.
  • iOS: Added joystick support skeleton.
  • iOS: Improved native code integration with Unity Trampoline, look for RenderPluginDelegate and LifeCycleDelegate.
  • iOS: Make it possible to disable rendering to external display (to revert to simple mirroring). Added c# event for Display list changes.
  • Mecanim: [Optimize game objects] Add support for dynamically attaching a SkinnedMeshRenderer to an existing character (like wearing glove). As long as the SkinnedMeshRenderer and the character have the same rig, they don't need to come from the same FBX file.
  • Mecanim: [Optimize game objects] Add support for exposing a Transform without reimport. Just create a new game object as a child of the root game object, and rename it to be exactly the same as the bone you want to expose.
  • Mecanim: [Optimize game objects] Optimize and de-optimize game objects at runtime with: void OptimizeTransformHierarchy(GameObject go) and DeoptimizeTransformHierarchy(GameObject go)
  • Mecanim: [Optimize game objects] Work better with prefab now. De-optimizing the imported model will not break the existing prefabs.
  • Mecanim: Added a popup menu in animation clip model importer to select/deselect all nodes in the mask inspector.
  • Mecanim: AnimationController is created without file dialog when 1st animation is added to GO.
  • Mecanim: Curve editing in Animation window should be faster for controller with many clip
  • Mecanim: When draging a clip on a GO that already has an AnimationController, simply add the clip instead of creating a new controller.
  • Mecanim: Reduced memory footprint for Animator component.
  • Mecanim: Animation clip importer automaticly detect the rig type (generic or humanoid) and setup the mask accordingly.
  • Mecanim: Rewrote iOS SIMD math library backend.
  • Mecanim: Added new animation compression mode 'optimal' for generic and humanoid rig.
  • Mecanim: When dragging a non-legacy clip on a GameObject, create an Animator + controller
  • Mecanim: Refactored AvatarMask use during import. Can now specify an asset on disk.
  • Mecanim: Added warning when humanoid transforms have Translation/Scale animation.
  • Mecanim: Removed warning message when previewing some objects that have component dependency.
  • Mobile: Improved GLES context recreation
  • Mobile: Mobiles now have separate rendering path setting
  • NavMesh: To ensure correct navmesh being baked, step height is clamped to be always less than agent height, and a warning is issued to user.
  • Physics: Can now set up material for TerrainData.
  • Physics: Joints can now have separate anchor points configured for both connected rigidbodies.
  • Physics: CharacterController will now report an error when trying to configure it as a trigger.
  • Profiler: Players now include the entire frame when profiling
  • Profiler: Correct unwinding of samples if an exception is thrown
  • Profiler: Now profiles OnGUI events when profiling editor.
  • Reduced memory consumption when importing 8k*8k textures
  • Scripting: WWW object now has a bytesDownloaded attribute, to monitor a download's activity if the remote host does not send a content-length header
  • Scripting: Add generic overloads for Resources class.
  • Terrain: Show a warning when unsupported shader is being used on terrain
  • Version Control: Create missing folder that have their .meta file present
  • Version Control: Reduced calls to VCS backend for getting status
  • Version Control: Show progress send from plugin in GUI
  • Version Control: Made a change lists optional trait for plugins
  • Version Control: Make "get latest" on asset subset or only changeset a plugin trait.
  • Version Control: Allow plugins to force handling of conflicts themselves
  • Version Control: Add support for PlasticSCM mergetool in unity preferences
  • Version Control: Support for plugin custom commands.
  • Version Control: Support for plugin provided icon overlays.
  • Version Control: Improve initial add of ProjectSettings folder to include future settings as well
  • Version Control: Show overlay legends in the settings inspector
  • Version Control: Handle files deleted externally to be reverted/deleted in vcs automatically
  • Version Control: Handle files renamed/moved outside unity and to be moved in version control as well
  • Fixes:
  • AI / NavMesh: NavMesh.Raycast: Gives correct navmesh height (Y component) for hit position.
  • AI / NavMesh: Fix issue where disabling one navmesh obstacle would sometimes affect another obstacle.
  • AI / NavMesh: Fix NavMeshAgent occasionally getting NaN positions in cases where many agents are spawned/destroyed and avoidance is disabled/enabled.
  • AI / NavMesh: Fix NavMesh.CalculatePath returning path with wrong path endpoint when path is partial.
  • Android: Fixed a problem where "Unable to find suitable jdk installation" was presented even with a valid jdk in path
  • Android: Disabled glTexSubImage2D for adreno devices - fixes some of the dynamic font issues
  • Android: Fixed default orientation for 3rd gen kindle devices
  • Android: Fixed stripping issue which caused AndroidJavaRunnable to fail
  • Android: Fixed ToString error when unboxing java string for AndroidJavaProxy.
  • Android: Workaround for an issue with the android compositor on external displays.
  • Animation: Fixed leak in animator component
  • Animation: Will handle Enable binding correctly.
  • Animation Window: Update() isn't offered as an option in the add event popup anymore.
  • Animation Window: Add Curve dialog no longer pops up again after cancelling it
  • Animation Window: Adding new clips into read-only objects no longer allowed
  • Animation Window: Animation Event tooltip wasn't showed on mouse hover.
  • Animation Window: Animation Event window wasn't updated when selection was changed
  • Animation Window: Changing IsActive property keyframe via animation window is updated into scene view immediately
  • Animation Window: Curves-toggle is persistent if you close/reopen animation window
  • Animation Window: Dopesheet clamp framerate between 0-10 000 to avoid data loss for big number
  • Animation Window: Dopesheet is now able to show more than 50 sprite previews at the same time
  • Animation Window: Fixed Scale transform is marked yellow in the Inspector although it not animated
  • Animation Window: In record mode you should be able to animate an Animator Generic rig.
  • Animation Window: No error messages after removing the animated object
  • Animation Window: While moving selected keyframes, sometimes other keyframes would move also
  • Audio: Fix AudioListener.volume for AudioSource.PlayOneShot
  • Audio: Fix AudioImporterInspector: Compression slider shows wrong max
  • Audio: Fix Custom audio filter for AudioListener does not affect sounds played by PlayOneShot
  • Audio: Fixed StackOverflow in OSX Editor during AudioClip.Create
  • BlackBerry: Fixed issue where gravity was being reported in meters per second instead of G forces. Also landscape x and y for gravity was swapped.
  • BlackBerry: WebCamTexture.videoVerticallyMirrored is now set correctly.
  • BlackBerry: Fixed issue where tiling would occur when webcam framerate was set outside acceptable range.
  • BlackBerry: MailTo URI's now work as expected.
  • BlackBerry: Remapped gamepad buttons to match up to Xbox 360 controller.
  • Bug Reporter: Fix crash when submitting documentation bugs from OS X.
  • BuildPipeline: Custom cursor specified in PlayerSettings is now built and shown correctly.
  • Cursors: Fix regression with cursor not showing in OS X standalone build.
  • Documentation: Fixed documentation of EditorUtility.CollectDeepHierarchy.
  • Documentation: Readded the message "Inherits from" for classes that have a parent.
  • Documentation: Return types, parameter types and types in examples work as links.
  • DX11: Fix 100% cpu use on Win81, reduce it somewhat on older windows.
  • DX11: Handle "-adapter X" command line argument.
  • Editor: Fixed "set default parameters" button in occlusion-bake tab
  • Editor: Fixed crash while baking occlusion culling data
  • Editor: Workaround windows 8.1 + webkit regression causing crash on mouse wheel messages.
  • Editor: Fix external editor not opening files when double clicking errors in console and external editor arguments have been specified.
  • Editor: Fixed crash when Transform was referenced multiple times by parent Transform (only happens in corrupt scenes; editor will automatically remove extraneous references now).
  • Editor: Fixed ScriptableObject editor script reference field being incorrectly drawn with PropertyDrawer.
  • Editor: Fixed that EditorGUI.LabelField got key focus when tabbing (its now skipped when tabbing)
  • Editor: Fixed that mouse cursor over gradient alpha input field was showing as drag area instead of text area
  • Editor: Fixed that tabbing through controls jumps back to "active" checkbox for the game object instead of moving to the next gui control
  • Editor: Fixed that the static toggle in inspector does not update correctly when toggled, if the current value is "mixed"
  • Editor: Disabled GPU Profiler on Macs + NVIDIA GeForce 650M, turns out the drivers return garbage data.
  • Editor: Do not disable the lighting flag in the scene view after completing a build
  • Editor: Don't leak references to assemblies that are dynamically loaded from game code.
  • Editor: Fix input sometimes being sent to windows that have already been destroyed causing PPtr dereference asserts.
  • Editor: Fix static preview generation to have the right background color in linear mode
  • Editor: Fixed import of Reflection textures sometimes freezing the Editor when Fixup Edge Seams is checked.
  • Editor: Fixed unclear and flickering DX11 tool tip message in Player Settings on Mac.
  • Editor: It's now possible to undo changing batching settings in the PlayerSettings
  • Editor: Mark BeginGUI(Rect) as obsolete, as it leads to bad internal GUI state
  • Editor: Fix Object Picker causing nullrefs when shown outside of OnGUI.
  • Editor: Opening PopUp menus with the keyboard on windows will no longer beep.
  • Editor: Closing a editor tab shouldn't change the selected tab.
  • Editor: Fix that Preferences key shortcuts using toggle with CTRL didn't work on Windows.
  • Editor: Fixed searching for Terrain in the Hierarchy or Project window (use t:terrain)
  • Editor: Fixed searching for GUISkin in Project Browser (use t:guiskin)
  • Editor: Fixed that GUISkin was not showing in Object Picker for GUISkin object fields
  • Editor: Fixed: Occlusion Culling scene view overlay window once again always uses dark editor skin, so it is readable
  • Editor: Fixed: NavMesh scene view overlay window once again always uses dark editor skin, so it is readable
  • Editor: Fixed: Error spam in Console when modifying a box collider using collider handles
  • Editor: Only set keyboard focus upon clicking a PrefixLabel if the control supports keyboard focus.
  • Editor: Fixed two biggest progress bar leaks on OS X
  • Editor: Vertex snapping (V) now works for sprites.
  • Editor: Fix script execution order on reload
  • Editor: Fix occasional crash when importing assets.
  • Editor: AssetPostprocessors without a default constructor no longer crashes the editor.
  • Editor: Fix ScriptableObject having wrong icon in ObjectField.
  • Editor: PropertyDrawer attributes on members that are arrays are now applied to each element in the array rather than the array as a whole. This was always the intention since there is no other way to apply attributes to array elements, but it didn't work correctly before. Apologies for the inconvenience to anyone who relied on the unintended behavior for custom drawing of arrays.
  • Editor: Fix context menu for ScriptableObject having nonsensical entries (mostly Component-related). Also, "Edit Script" is now only shown if a script is available for editing (not the case for e.g. GUISkin or Terrain).
  • Editor: Fix light skin inspector sometimes using game skin for drawing controls.
  • Editor: GameObjects that end up with multiple transform components will now have extraneous transforms removed automatically; prevents crashes.
  • Editor: Fixed a crash when calling AssetDatabase.CreateAsset on a GameObject.
  • Editor: Fixed errors and crashes when having non-ASCII characters somewhere in the paths for font assets.
  • Editor: Fixed crash when inspecting a disabled terrain; or deleting a material assigned to Terrain.
  • Editor: Fix Scene View Gizmo hover effect that has been broken for several releases.
  • Editor: Fix that clicking cancel on the build progress bar causes loss of scene and any unsaved work.
  • Editor: Fix that Windows progress bar displays incorrect progress when used from user scripts.
  • Editor: Ensure error sound is not playing on OSX when using keyboard shortcuts for particle effect.
  • Editor: Fix wrong context menu in the results of Asset Store searching in Project view.
  • Editor: Curve preset library now retains wrap settings.
  • Editor: Object picker prematurely populates Animation component.
  • Editor: Fixed undo not working with color picker.
  • Editor: When calling EditorGUI.PropertyField with includeChildren set to true, the children did not have correct spacing.
  • Editor: Labels and buttons no longer draw on top of each other in the preview of an animation clip from the asset store with a narrow inspector or preview window.
  • Editor: TextEditor now scrolls to show the composition string when using IME. Furthermore, scrolling offset is now respected when IME pane is positioned so it doesn't end up in weird positions if the text field has scrolled.
  • Editor: Fix scroll speed in Particle Effect window; and fixed broken UI layout in particle system scene view overlay.
  • Editor: Fix so shortcuts can be used to give the Project Browser window focus (Ctrl/Cmd + 5) and then start a search (Ctrl/Cmd + F).
  • Editor: Fix main editor window covering an auto-hidden taskbar when maximized on Windows.
  • Editor: Fix double dropshadowing issues for windows on Windows (fixes odd dropshadowing on adjacent monitors when the editor was maximized).
  • Editor: Fixed files showing multiple times when deleting multiple folders in Project Browser.
  • Editor: Fix assets could incorrectly be created in the Assets folder in two column mode.
  • Editor: Textures with Alpha Is Transparency Selected, will have their thumbnail correctly generated with a transparent background.
  • Editor: Prevent setting terrain resolution higher than 2049 via the inspector (can still be done from scripting API, to avoid breaking existing code).
  • Editor: 3D textures were not displayed properly in material inspector.
  • Editor: Catch errors when trying to rename classes in the project view.
  • Editor: Disable Compression option in Audio Importer for Native WAV files as they can't be compressed.
  • Editor: Fixed Camera Volumes legend in Occlusion Culling in-scene window.
  • Editor: Fixed changing the script type in the MonoBehaviour component when using multi-object selection.
  • Editor: Fixed IntPopup fields not opening on space.
  • Editor: Fixed tooltips for GUI.SelectionGrid; and log a warning if user tries to create invalid SelectionGrid.
  • Editor: Only focus dropdown window if doesn't have focus already.
  • Editor: On Windows EditorGUIUtility.AddCursorRect does not wait for a mouse movement to update the cursor anymore.
  • Editor: Fixed the hard crash happened when updating one package to a new version.
  • Editor: Fix the inappropriate cache server warnings
  • Editor: Fix the bug that crash unloading AssetBundle when exiting Play mode
  • Editor: Fix the crash when deleting ScriptableObject
  • Fix: ASTC textures were imported with Y-axis flipped
  • Fix crash when passing prefab instance to PrefabUtility.ReplacePrefab
  • Fix the Editor crash on getting component by type if type was null
  • Fix occlusion culling when camera is outside generated view volumes
  • Fix occlusion culling license issue
  • Fixed profiling of shadow caster culling, cases where there are no shadow casting lights.
  • Fix error messages in Windows Store Apps and WP8 when checking for location capability
  • Fix errors when snapping on Windows Store Apps
  • Fix: GPU skinning on DX11 was limited to 128 bones per mesh, limit upped to 1024.
  • Fix F10 and Shift keys in Windows Store Apps
  • Fix crash in WSA/WP8 when using Compass
  • Fix internal exception and performance issue in WSA/WP8 using Compass on device without it
  • Fix serious performance drop in WSA/WP8 using Compass on some devices
  • Fix Editor hanging when entering play mode or quitting the application
  • Flash: Fix leaking AssetBundle APIs.
  • Flash: Fix Flash UnityContentLoader unloading. ("TypeError: Error #1034: Type Coercion failed: cannot convert System::ClassType...")
  • Flash: Fix Flash Monobehaviour Serialization issues
  • Flash: Support up to Flash 11.8, this allows 11.5 and upwards non-content debugger players to display a stack trace.
  • Flash: Fixed dynamic batching sometimes failing.
  • Font rendering: Fix alignment of text with embedded images.
  • Font rendering: Allow embedded images to render in non-square aspect ratios.
  • Graphics: Fixed a crash when accessing Camera.current in the Editor in Start().
  • Graphics: Fixed a crash when switching to DX11 mode and the scene has terrain in it.
  • Graphics: Fixed a deadlock in the mutithreaded renderer when entering the Lion-style fullscreen on Mac.
  • Graphics: Fixed a null reference exception in combining for static batching when there was no first material in Renderer's material array.
  • Graphics: Fixed asserts caused by broken render texture stats when using graphics emulation.
  • Graphics: Fixed changes to QualitySettings.vSyncCount after Screen.SetResolution() causing fullscreen setting to be ignored.
  • Graphics: Fixed GPU skinning (both DX11 and OpenGL ES 3.0) when the mesh is using a low number of bones
  • Graphics: Fixed QualitySettings.anisotropicFiltering changing values inconsistently when set from scripts.
  • Graphics: Fixed Texture.GetNativeTextureID() not being thread-safe with multi-threaded rendering.
  • Graphics: Fixed webplayer plugin crash
  • Graphics: Fixed wrong vertex count being reported in Stats window when static batching is used and editor is in Direct3D 9 mode.
  • Graphics: Fixed broken shadows with forward rendering to antialiased RenderTexture.
  • Graphics: Fixed crash when calling Texture2D.ReadPixels() with a negative offset.
  • Graphics: Fixed crash when using Graphics.Blit under some circumstances.
  • Graphics: Fixed Graphics.Blit crash issue.
  • Graphics: Fixed shaders using 2 UV sets not working in Player if mesh only has one set, and was imported without Read/Write Enabled.
  • Graphics: Fixed bounds of meshes generated by TextMesh component.
  • Graphics: RenderTextures are no longer unnecessarily cleared when loading a new level.
  • Graphics: OpenGL ES 2.0 now supports mipmapped render textures.
  • Graphics: Fixed cubemap + mipmap render textures on OpenGL.
  • Graphics: Fixed a rare case of light probe sampling taking too much time.
  • Graphics: Fix crash on scene load when baked occlusion data is present
  • IMGUI: MousePosition should work properly inside a GUI.window when GUI.matrix is not identity.
  • Input: Input state now being reset consistently cross-platform when player focus is lost.
  • iOS: Fixed iOS builing on Windows
  • iOS: Fixed various scrolling related crashes on iOS 7
  • iOS: Fixed Xcode 5 build & run for simulator target
  • iOS: Fixed gyro reporting
  • iOS: Fixed iOS project building from script on Windows.
  • iOS: Fixed iOS7 simulator support.
  • iOS: Fixed managed code stripping when building project on Windows.
  • iOS: Fixed WebCamTexture support for iOS7
  • iOS: Fixed iOS7 icon size support
  • iOS: Xcode 5 Build&Run support fixed
  • iOS: Fixed MeshCollider stripping issue.
  • iOS: Improved error propagation in WWW class.
  • iOS: Fixed Norwegian language detection.
  • iOS: Make sure all NSString backing device settings are retained.
  • iOS: Fixed OnCollision broken by stripping, when you don't use Collision class explicitly.
  • iOS: Fixed trampoline's precompiled header not working with .c/.m files.
  • Mac OS X 64 bit Standalone: fix WebCam support
  • Mac OS X Standalone: Changed compile settings to disable running on 10.4 (which we did not support anyways), as this is now a requirement for publishing to Steam.
  • Mac OS X Standalone: Fix cursor locking when setting Screen.lockCursor in first Awake call
  • Mac OS X Standalone: Fixed Mouse coordinates on secondary screens
  • Mac OS X: Fixed support for cursors with NPOT cursor textures
  • Mac OS X: Make Icon and Splash screen work for 64 bit standalone builds.
  • Mac OS X: Fixed non-ASCII characters in Input.inputString
  • Mac OS X: Fixed issues with windows handling for GameCenter in standalone builds.
  • Mac OS X: Fix Input.inputString to correctly contain whitespace characters in the web player.
  • Mecanim: Model importer meta file shouldn't get dirty anymore when importing a file with a Humanoid rig.
  • Mecanim: Fix crash when previewing transition between empty states
  • Mecanim: Fix object hierarchy not being animated correctly in some cases
  • Mecanim: Fix remove State/StateMachine code that caused bad object access
  • Mecanim: Fixed crash when trying to configure an Avatar with a mesh not yet skinned.
  • Mecanim: Fixed cannot configure a human avatar when optimize is ON.
  • Mecanim: Fixed crash when calling Animator.GetBoneTransform on Avatar with Optimize Game object On.
  • Mecanim: Fixed crashes when editing humanoid animation applied to a primitive object.
  • Mecanim: Fixed drag'n drop of State/StateMachine.
  • Mecanim: Fixed Optimize GameObject in import settings breaks preview window of Skinned Mesh,
  • Mecanim: Fixed preview of a transition on a layer with a mask, previewer was not using the mask to playback the transition.
  • Mecanim: Fixed root motion masking for all layer.
  • Mecanim: Fixed the crash which happened when we reimport the FBX file in play mode.
  • Mecanim: Fixed transitions bool parameter being overriden when creating the 1st Trigger parameter.
  • Mecanim: Hide "Optimize Game Objects" if Avatar Definition is "Copy From Other Avatar".
  • Mecanim: Proper clamping of start/stop times when importing an Animation clip.
  • Mecanim: Update Controller's clip duration when an AnimationClip is substituted by AnimationOverrideController.
  • Mecanim: Fixes animation set crash when clips are duplicated in controller.
  • Mecanim: Avatar created proceduraly should not expose Configure Avatar button.
  • Mecanim: User should get an error in the console when they try to create an avatar with duplicate transform in the human mapping.
  • Mecanim: Fix various crash with Optimize game object and configure Avatar.
  • Mecanim: Fix crash when user configure an existing avatar and try to edit the muscle limit,
  • Mecanim: Fix crash when user delete and animator component.
  • Mecanim: Fix crash when user set the root node on a generic rig to the top most object in hierarchy.
  • Mecanim: Animation Average Velocity was not computed correctly.
  • Mecanim: Preview of animation breaks on avatars with different hips orientation.
  • Mecanim: Switching from Generic to Humanoid rig when using source Avatar was breaking animation import.
  • Mecanim: Support scale of game object at runtime for Animator. Root Motion, IK, Optimize Hierachy.
  • Mecanim: Unroll muscle fix.
  • Mecanim: Sync editor curve for pre-4.3 duplicated muscle clip and backward compatibility problem with duplicated clips.
  • Mecanim: Change default behavior for human clip, do not import position, rotation and scale curve for all human transform.
  • Mecanim: StateMachine GraphGUI did not support properly to have its data modified externally.
  • Mecanim: Fixes webplayer compatibility for Mecanim bindings.
  • Mecanim: ModelImporter multi-edition of root node and expose transform should be disabled when transform from multiple file doesn't match.
  • Mecanim: Better validation of avatar creation.
  • Mecanim: Re-added AnimationUtility.GetAnimationClips(Animation animation) in the API as deprecated.
  • Mecanim: Fixed crash when applying change in Avatar Tools with an invalid avatar.
  • Mecanim: Fixed StopTime not being set properly when resampling a transition in the previewer.
  • Mecanim: Fixed scale curved that where not evaluated properly.
  • Mecanim: Fixed continuity issue on transitions with duration of zero.
  • Mecanim: Fixed broken additive layer evaluation.
  • Mecanim: Fixed broken bindings when source hierarchy differs from destination.
  • Mecanim: Prevent opening muscle previewer in Avatar Setup with incomplete Avatar.
  • Mecanim: Fixed Crash when clicking on Clear mapping button in Avatar tools.
  • Mecanim: Fix the default pose (when a character is not animated) when humanoid mode or a root bone is used. This makes it consistent with the default pose in the authoring tool (eg. Maya).
  • Mecanim: Fixed crash when calling Animator.GetBoneTransform with an Uninitialized Animator.
  • Mecanim: Recorder cannot longer play unrecorded frame.
  • Mecanim: Restrict use of negative animator speed while recording.
  • Mecanim: Fix Ctrl-click selection for states and transition.
  • Mecanim: Fix negative scale blending while in a transition.
  • Mecanim: Fix Additional curves tangent, Non default tangent was not supported correctly.
  • Mecanim: Fix in Muscle Unroll Algorithm.
  • Mecanim: Fix loading of .anim files generated in 4.0/4.1/4.2
  • Mecanim: Fix memory spill when using Layers
  • Memory Profiler shows Static Managed References as a reason for why an asset is loaded
  • Memory: Fixed leak when instantiating materials from code
  • Mobile: Do not include fonts into mobile build when rendering mode is OS and including the font is not specified.
  • Mobile: Fixed point topology rendering.
  • Mobiles: 24-bit Depth Buffer is now enabled by default
  • MonoDevelop: Disable broken fullscreen mode on OSX.
  • MonoDevelop: Fix exception when creating a new UnityScript or Boo class from MD.
  • MonoDevelop: Fix tab selector freeze when resizing the code editor UI.
  • MonoDevelop: Fix exception when jumping to declaration of a symbol in an external assembly.
  • MonoDevelop: Fix intermittent, unhandled exception when opening the Unity API reference.
  • MonoDevelop: Remove unsupported entries from menus.
  • MonoDevelop: Fix cursor warp.
  • MonoDevelop: Don't flush folding and undo data on document save.
  • MonoDevelop: Show debugging toolbar when attaching.
  • MonoDevelop: Make play button attach instead of launching new Unity instance.
  • MonoDevelop: Fix Boo compilation failure every first compile (Windows).
  • MonoDevelop: Fix Unityscript compilation (Windows).
  • NavMesh: Changed NavMeshAgent.hasPath to return consistent values on off-meshlinks and while walking.
  • NavMesh: Fixed issue where NavMeshAgents was restoring the velocity before entering offmeshlink when leaving it
  • NavMesh: Fix regression causing agents moving on terrain to have wrong height (y-position) when "Height Mesh" bake option is enabled
  • OSX Player: Fixed crash when loading a release build
  • OpenGL ES 3.0: Fixed shadow rendering in Deferred rendering mode.
  • OpenGL ES 3.0: Various fixes and stability improvements.
  • Physics: Fix OnTriggerEnter being called repeatedly for CharacterControllers when setting transform.parent
  • Physics: Fix potential crash when deleting colliders while Time.timeScale is zero
  • Physics: Fix Terrain.GetInterpolatedNormal to return correct normals
  • Physics: Fixed a bug where Continuous Collision detection would not work correctly when changing the scale of colliders.
  • Physics: It is now possible to have multiple SpringJoint components on a single GameObject, like with all other Joints.
  • Physics: Rigidbodies will now wake up when changing constraints, so that a Rigidbody which is being held in position by a constraint will start moving.
  • Physics: All combine modes are now correctly applied to friction and bounciness properties of physics materials. Before that, the interpretation of Multiply and Minimum modes was switched.
  • Physics: Fix crash when using MeshCollider with a mesh which only contains degenerate faces.
  • Physics: Fixed a bug where MeshColliders would enable themselves when changing the transform when they were disabled.
  • Physics: Fixed a crash related to sending collision notifications.
  • Physics: Fix the MovePosition feature of a kinematic compound rigidbody.
  • Physics: fix crash when reloading scene with invalid physics materialPrefabs: Fixed cases where prefab merging injected additional transform components into prefab instances.
  • Physics: Fix 2D colliders spamming console log with "m_InstanceId==0"
  • Prefabs: Fix awake order for prefabs which have other prefabs as children
  • Profiler: Camera render to Texture is now added to the profiler.
  • Rendering: Fixed accessing Cloth.vertices when there is no vertices assigned yet.
  • Scripting: Fixed a crash when trying to serialize abstract classes in MonoBehaviours.
  • Scripting: Fix memory leak occurring during Play/Stop and script compilation.
  • Scripting: CodeDomProvider can be used in Editor
  • Scripting: Fixed InvalidProgramException for binding delegate to instance method with null target.
  • Scripting: Fixed crash when calling ScriptableObject.CreateInstance with abstract type.
  • Scripting: More informative error message about use of enums with unsupported underlying type.
  • Scripting: Infinite Loop on RequireComponent.
  • Scripting: Fix crash when instantiating a scriptable object with a mismatched file name.
  • Scripting: Allow StopCoroutine from within a coroutine.
  • Scripting: Avoid spurious allocations when using terrains with shadows.
  • Scripting: Eliminate misplaced Editor.SetDirty warning in players.
  • Scripting: Fix crash when subclassing Component.
  • Shaders: hlsl-to-glsl translator now accepts "static" and "const" qualifiers on function return values.
  • Shaders: hlsl-to-glsl translator was producing variable names with double-underscore in some cases (which is not accepted by some drivers).
  • Shaders: Shader compiler now consistently accepts project-root relative #include paths.
  • Shaders: Fixed #pragma multi_compile shader variants not working with surface shaders in some cases.
  • Shaders: Fixed shader compiler crashing with out of memory on complex shaders (with lots of multi_compile variants).
  • Shaders: Fixed some Material properties getting into a non-save-able state sometimes (they would seem to be editable, but a Unity restart would revert the values back).
  • Shaders: Fixed texCUBEgrad & tex3Dgrad, was not working on some platforms.
  • Shaders: Integer and boolean parameters in shaders (e.g. int, int4, bool) now work as expected on all platforms.
  • Shadows: Fixed performance regression in shadow rendering (introduced in 4.1).
  • Shuriken: Clamp both start lifetime and length in seconds to avoid precision issues.
  • Shuriken: Fixed crash when destroying Mesh used by ParticleSystemRenderer.
  • Substance: Added missing documentation for SubstanceImporter::Get/SetPlatformTextureSettings() and ProceduralTexture::GetPixels32().
  • Substance: Fixed a severe perf regression in scenes with more than 20 ProceduralMaterial instances.
  • Substance: ProceduralTexture::GetPixels32() now works with a simpler call sequence (see documentation).
  • Substance: It is no longer possible to rename the wrong ProceduralMaterial when switching ProceduralMaterial while editing the ProceduralMaterial name field.
  • Substance: Texture thumbnails are now properly spaced when the "Generate all outputs" checkbox is enabled.
  • Substance: The "Generated textures" foldout is no longer displayed when trying to multi-edit ProceduralMaterials.
  • Substance: Renaming a ProceduralMaterial to a recently renamed ProceduralMaterial's previous name will now display the correct preview textures.
  • Substance: Fix a potential Editor crash when trying to perform drag and drop in the SubstanceImporterInspector.
  • Terrain: Fixed popping tree shadow
  • Terrain: Tree colors in linear rendering mode are now rendered correctly.
  • Terrain: Fix crash when using Terrain.activeTerrain in a scene that has no terrain.
  • Terrain: Fixed incorrect color space setting on detail (grass) objects.
  • Text Markup: Fixed parsing of numeric parameters which sometimes read numbers incorrectly.
  • Umbra culling is no longer used for previews. Fixes a crash when selecting cubemaps.
  • Undo operation for asset import settings changes are no longer recorded
  • Undo operation for asset import settings changes are no longer recorded
  • Undo: Fixed undo recording of script changes on MonoBehaviour
  • UnityObject: Correctly identifies IE 11 as a supported browser.
  • Version Control: Fix Submit Window sometimes throwing exceptions on creation.
  • Version Control: Do not show checkout dialog for all reimported models
  • Version Control: Handle moving folder external to Unity
  • Version Control: Only checkout selected assets when user has enabled notify on save in preferences
  • Version Control: Increased timeout for getlatest and submit to better handle slow connections
  • Version Control: Refresh pending window on submit error
  • Version Control: Require ack from vcs plugins on shutdown to prevent deadlock
  • Version Control: Fix context menu for "open containing folder".
  • Version Control: Show correct error message on all submit errors.
  • Version Control: Support perforce workspaces and passwords with spaces.
  • Version Control: Support for perforce streams.
  • Version Control: Disable save option when VCS plugin does not support changelists.
  • WebPlayer: Fixed several XSS bugs
  • WebPlayer: Fixed web player legacy occlusion culling
  • WebPlayer: Web Players can now start on Windows XP systems with Terminal Services disabled, but will not be able to enter full-screen on those systems.
  • WebPlayer: Fixed lock-up issues that occurred when entering fullscreen on OS X.
  • WebPlayer Installer: EULA links have been removed and standard click-through EULAs introduced. The EULA itself has not changed.

New in version 4.3.1 (November 29th, 2013)

  • Fixes:
  • 2D: Can now create sprites from POT textures in advanced mode.
  • 2D: Destroying a Sprite's texture will not crash the SpriteRenderer that's using it.
  • 2D: Do not trash MaterialPropertyBlock on a SpriteRenderer.
  • 2D: Sprite.textureRectOffset won't crash the editor anymore.
  • BlackBerry: Fixed garbage collect crash when using threads
  • BlackBerry: SystemInfo.deviceUniqueIdentifier now returns serial number correctly
  • Debugger: Avoid deadlocks on OSX
  • Graphics: Fix "fence == expectedFence" error with GPU skinning
  • Graphics: Fix GPU Skinning crash on DX11 when the bone count changes.
  • Graphics: Fixed Intel DX9 GPUs (like Intel 945) incorrectly being labeled as unsupported by Unity.
  • Graphics: Fixed real-time shadows with orthographic camera and baked occlusion data.
  • Graphics: Fixed Screen.width and height reporting incorrect values in the Editor.
  • Graphics: Fixed some setups with shadows & image effects causing crashes in free Unity version.
  • iOS: Fixed iOS build being non-PIE compatible
  • Physics: Assert being thrown when 2D collider area is below what Box2D can handle.
  • Physics: Fixed inability to set 2D rigid-body mass from the scripts.
  • Physics: Slider Joint 2d properties accept Infinity value and produce runtime errors
  • Sourcebuild: Fixed running tests in stripped sourcecode builds
  • WebPlayer Installer: Install x64 content to Program Files instead of Program Files (x86)
  • WePlayer: Fixed a WTS bug on Windows 8 and 8.1 where the player would think that the screen is locked

New in version 4.3.0 (November 18th, 2013)

  • 2D:
  • Added a new asset type: Sprite
  • Sprite is defined by a Texture2D, rectangle and a pivot point.
  • Sprite has an internal mesh generated based on pixel alpha values, PRO only feature.
  • Sprite supports vertex snapping (V)
  • Added Sprite under the "GameObject/Create Other/" menu.
  • Sprite Mode added to TextureImporter
  • Single Sprite option will generate one Sprite using the entire texture.
  • Pixels to Units defines the mesh size of the Sprite to 1 / value.
  • Pivot property defines sprites center point.
  • Manual option allows custom Sprite definitions.
  • Sprite Editor button opens new window for editing sprites: Add / Delete sprites manually; Automatic and Grid based slicing; Change sprite names.
  • Extrude Edges property added to Advanced mode. It can be used to extrude the internal sprite mesh edges if needed for custom texture-space effects.
  • Mesh Type property added to Advanced mode. It can be used to change the type of mesh generated: Full Rect or Tight (PRO only feature).
  • Added a new renderer component: SpriteRenderer
  • Renders one Sprite.
  • Does not requires a material to have _MainTex texture set.
  • Uses Material Property Blocks to patch _MainTex with the correct (original or atlased) texture for the active Sprite.
  • Supports dynamic batching with non-uniform scaling.
  • Color property sets the vertex color.
  • If no material is specified, Sprites/Default material (alpha-blended) is used.
  • Added 2D mode button to scene view
  • Scene view axis widget is hidden on 2D mode
  • Scene view locks to the XY plane.
  • Move tool changes to a dedicated 2D tool with familiar functionality.
  • Move tool have special Keyboard modifiers
  • Picking is now alpha-based.
  • Dragging a sprite to the scene will create a new GameObject with a SpriteRenderer.
  • Dragging multiple sprites to scene will create a new GameObject with a SpriteRenderer and sprite animation.
  • Sprite Packing (Atlasing), PRO only feature
  • Atlas is defined by changing the PackingTag property in texture importer.
  • Packing is based on the generated mesh.
  • Packing will respect texture import settings and will only pack textures together if format, usage mode, color mode, compression quality, filter mode and mip-map settings match.
  • Window/Sprite Packer menu option opens a new window for inspecting the automatically generated sprite atlases.
  • Decision of which sprites to place into which atlases can be fully customized by implementing a custom sprite packer policy (UnityEditor.Sprites.IPackerPolicy).
  • Packing is completely transparent to the user, works in Play mode and is compatible with asset bundles.
  • Integrated Box2D physics engine and a set of 2D physics components
  • Rigid-body component (RigidBody2D) supporting static/kinematic/dynamic body, mass, linear/angular velocities, drag and auto-sleeping, and fixed-angle constraint.
  • Circle collider (CircleCollider2D) supporting a centroid and radius.
  • Box collider (BoxCollider2D) supporting a centroid and a size.
  • Polygon collider (PolygonCollider2D) supporting an arbitrary set of polygons. It can be initialized to the shape of a sprite by dragging the sprite onto the component.
  • Distance joint (DistanceJoint2D) supporting a hard maximum distance between rigid-bodies.
  • Hinge joint (HingeJoint2D) supporting linear and angular limits and motor drive.
  • Slider joint (SliderJoint2D) supporting an axis constraint, linear limits and motor drive.
  • Spring joint (SpringJoint2D) supporting a soft (spring) distance between rigid-bodies.
  • Added a new physics material PhysicsMaterial2D to share friction and bounciness including default material support.
  • Added a 2D physics manager to contain scene settings such as gravity etc.
  • Added spatial queries in Physics2D scripting class for line and ray-casting and geometry overlap checks.
  • Added both trigger and collision callbacks for 2D colliders including collision points and normal.
  • Added 2D physics profiling information to the profiler.
  • Editor: Hold down shift to quickly modify 2D colliders.
  • Animation Features:
  • New Animation Window has arrived
  • Heavily influenced by the standard "dope sheets".
  • Only animated properties are shown in the property view (left side of the window).
  • Sprite animation is possible by animating the SpriteRendrerer component.
  • Sprites are shown in the dopesheet when SpriteRenderer is unfolded from the left side property view.
  • 'Add Curve' menu added. Shows all properties that can be animated on selected GameObject.
  • Animation Window now supports Mecanim. Animations can be added to the animator controller from the Animation window. Animations can be modified in the AnimationWindow too.
  • Added 'Curves' button to menu bar. Changes between dopesheet and curve editor. 'C' key assigned for keyboard shortcut
  • Added 'Samples' field to menu bar. Changes clip sample value per second.
  • Added toggle field for animating boolean properties. Created boolean curves use 'Constant' as default key tangent.
  • 'F' will focus on whole clip, or shown curves, if nothing is selected
  • Mecanim improvements
  • Add a new option "Optimize Game Objects" in ModelImporter inspector. In short, this makes character rigs much faster.
  • When turned on, the game object transform hierarchy of the imported character will be removed and is instead stored in the Avatar and Animator component.
  • The SkinnedMeshRenderers of the character will then directly use the Mecanim internal skeleton, so that we can get rid of all the Transforms which used to be there, representing all the bones.
  • This option will improve the performance of the animated characters. It is recommended to turn it on for the final product. In optimized mode skinned mesh matrix extraction is also multithreaded.
  • When "Optimize Game Objects" is turned on, the user can specify a list of "Extra Transforms to Expose" in ModelImporter inspector. For example, if you want to attach a sword to the right hand, this acts as a mount point. The exposed transform is flattened in the game object hierarchy, even though it might be somewhere deep in skeleton hierarchy.
  • Mecanim supports animating any property including blend shapes properties, camera properties, script float properties, lights and most other float properties on components.
  • Support for events! Events are created in the animation window for writable Animation Clips attach to an Animator. Can also add AnimationEvents directly in the animation importer.
  • Various performance optimizations, especially in regards to generic mode.
  • Added Animator.GotoState scripting function. This function allow you at runtime to transition to any state in your controller.
  • Added AnimationSet, an AnimationSet allow you to override any clip from a controller with another one.
  • Loop time vs Loop pose, When an animation clip is already looping, no need to activate Loop Pose, Loop Time will make clip looping without modifying the pose.
  • Trigger parameter, a trigger is a boolean parameter that is reset by the controller when consumed by a transition.
  • AnimatorStateRuntime that allows to modify, at runtime, the speed/ikOnFeet/mirror of a State.
  • Editor Features:
  • Editor Controls Overhaul
  • LookLikeControls and LookLikeInspector have been replaced with a single unified look.
  • New look has consistent styles, indentation and layout.
  • Keyboard navigation now works for all components and is improved for sliders and object fields.
  • The Inspector has a new Wide Mode that places controls in a more neatly aligned and vertically compact way.
  • Easier to write Editor GUI with consistent alignment.
  • Relevant new API:
  • EditorGUIUtility.labelWidth and EditorGUIUtility.fieldWidth replaces the parameters in the now obsolete EditorGUIUtility.LookLikeControls function.
  • EditorGUI.PrefixLabel has a new overload that doesn't need an id parameter.
  • EditorGUILayout.GetControlRect is the best way to get a Rect for a standard sized Editor control.
  • Other Editor Features
  • Unity now ships with a brand new MonoDevelop 4.0.1!
  • Ability to build iOS target in Windows! It's still necessary to compile resulting Xcode project on a Mac.
  • Added global SortingLayers (see Tags & Layers window). Every Renderer can specify a layer and an in-layer order value for explicit ordering using. SpriteRenderer inspector exposes the two properties.
  • Layer locking for scene view. The layers dropdown in editor toolbar controls visibility or locking of layers (and locking of the new Sorting Layers). Locked layers are visible, but aren't pickable in the scene view.
  • Undo has been optimized for large scenes. Full scene undo support has been removed, all undo operations save only the necessary objects. SnapshotUndo support has been deprecated, instead Undo.RecordObject is to be used for all property modifications. Undo API has been revamped to make it clearer what functions should be used now.
  • Added a "Default behavior" property to Editor Properties to control default texture import behavior and default scene view mode.
  • Added an option to the new project wizard to select default editor behavior (2D/3D).
  • BuildPipeline methods now have parameters to output CRC checksums of generated AssetBundles.
  • New Highlighter editor API for highlighting elements in the editor. Useful for in-editor tutorials and similar.
  • Asset Pipeline: Only new assets or assets where the actual content has change will get imported. Changing the time stamp of an asset will no longer cause a reimport.
  • Asset Pipeline: .meta files are now always turned on. From Project Settings -> Editor you can choose to hide them if you are not using version control.
  • Added ability to specify external script editor's args, including file and line info. (Windows editor only).
  • Graphics Features:
  • Blendshapes
  • Unity now supports blendshapes (also known as "morph targets").
  • You can drive the blendshapes using name based binding from Mecanim or legacy animation system.
  • Blendshape curves are imported from FBX files, but you can also record them in the animation window.
  • Culling in Unity has been rewritten
  • Now it's much faster across the board. Umbra occlusion culling is used to cull away point lights that don't contribute to the final image; and to drastically reduce number of shadow casters from directional lights.
  • Umbra: Incremental baking of occlusion culling data.
  • Umbra: Portal culling occluder rasterization has been greatly optimized.
  • Umbra: PVS culling has been removed. Occluder rasterization is always used because PVS often gave to inaccurate results and bake times were huge.
  • Umbra: Directional shadow caster occlusion culling drastically reduces the amount of directional shadow casting objects to be rendered.
  • Umbra: Point light occlusion culling and connectivity tests are used to remove local lights that do not contribute to the final image.
  • Vertex point lights that are outside of the frustum are faded out with the range of the light.
  • General culling performance optimizations, by optimizing data layout, code optimizations etc.
  • Other graphics features
  • Deferred: A number of light rendering optimizations for deferred rendering, making the light pass faster. Side effect is that only up to 4 bits of the stencil buffer are left available, instead of up to 5.
  • Render Texture improvements:
  • Added Camera.SetTargetBuffers for multiple render target (MRT) support.
  • Ability to render into a specified mip level of a RenderTexture. Create a mipmapped RT, turn off automatic mip generation with RenderTexture. generateMips=false; and use new Graphics.SetRenderTarget overloads to specify mip level to render into.
  • Ability to render into a speficied cubemap RenderTexture face; new overload in Graphics.SetRenderTarget. Added SystemInfo.supportsRenderToCubemap.
  • Graphics: Added Mesh.UploadMeshData, to trigger VBO creation and possibly system-side copy unload.
  • MaterialPropertyBlock got improved:
  • Added Renderer.GetPropertyBlock, and MaterialPropertyBlock GetVector,GetFloat etc. functions.
  • MaterialPropertyBlocks can have texture properties now.
  • Objects with custom material property blocks (renderer.SetPropertyBlock) can be batched now, if their properties are the same.
  • Terrain: Optimized terrain rendering and reduced memory usage.
  • Android: Enabled multi-threaded rendering on OpenGL ES 2.0 and 3.0. This takes advantage of asynchronous multiprocessing architectures like Qualcomm Snapdragon CPUs and enables more efficient rendering of both OpenGLES 2.0 and 3.0, both currently supported on Adreno GPUs.
  • Android: ASTC (Adaptive Scalable Texture Compression) format support.
  • Improved system memory usage of statically batched geometry.
  • It is now possible to set the fade time on flares. This changes how fast a flare will fade in or out when appearing or disappearing from the screen.
  • Added Texture2D.LoadRawTextureData for loading already-made (e.g. DXT/PVRTC compressed) raw data.
  • Allow for overriding Hidden/Internal-Flare, Hidden/Internal-Halo and Hidden/Internal-CombineDepthNormals shaders.
  • Added Max Particles script binding to Shuriken particle systems.
  • Dynamic batching support for point, line, and quad mesh topologies.
  • Added support for some DirectX 11.1 features (low precision shader variables, UAVs in all shader stages, logical blending operations etc.); note this works on DX11.1 runtime only (Windows 8 and up).
  • Exposed Light.cookieSize to scripts.
  • Shader related features
  • Material.renderQueue is serialized now. You can change it from custom inspector or script, and it will be saved.
  • Most of fixed function states (like blend, cull, depth test, stencil modes; polygon offsets etc.) can be driven by material parameters now. For example "Blend [MySrcBlend] [_MyDstBlend]", with _MySrcBlend and _MyDstBlend being float variables. See enums in UnityEngine.Rendering for the mode values. _Note: in this alpha, global shader properties can't drive be used for this.
  • MaterialPropertyDrawers, just like property drawers, but for shaders and material inspectors! e.g. you can do [MaterialToggle(FANCY_ON)] before a float shader property, and this will display it as a checkbox; and will enable FANCY_ON keyword when checked.
  • Added "by property ID" functions to set/get material properties; use Shader.PropertyToID to compute ID just once. No need to pass strings all the time.
  • By enabling SceneFX in the scene view materials in the viewport will update as they would at runtime (taking time into account).
  • Material inspectors now take time into account. Your materials will update in realtime in the inspector window.
  • Somewhat more sane error reporting - now gives hints in error messages about #pragma target 3.0 or #pragma glsl, and reports way less almost identical errors when you make typos.
  • Vertex lit shaders can access all 8 vertex light lights instead of only first 4 in custom shader programs. Also, spot light information (spot direction & spot attenuation) can be accessed.
  • Added Material.EnableKeyword and DisableKeyword.
  • Added Material.SetInt/GetInt, and Shader.SetGlobalInt. In ShaderLab Properties block, "Int" can be a property type similar to "Float". Note that all these are just aliases for floats.
  • Added ShaderUtil.CreateShaderAsset this takes a text shader and returns a compiled shader.
  • Features:
  • D3D11: Implemented Texture2D.CreateExternalTexture and Texture2D.UpdateExternalTexture
  • DX11.1 Logical operations in blending (DX11.1 only)
  • Editor: Added EditorGUI.FocusTextInControl and EditorGUIUtility.editingTextField.
  • Implemented Screen.lockCursor API in Windows Store Apps
  • Windows Phone: MovieTexture support.
  • Windows Phone: WebCamTexture/Microphone support.
  • Windows Store Apps: added API to get application activation arguments sent by secondary tile, toast notification now can send activation arguments.
  • Windows Store Apps: implemented API to update tiles and show notifications
  • Windows Store Apps: support for UnityScript / Boo
  • Changes:
  • AI / NavMesh: Support for adding more than one OffMeshLink component to a game object.
  • Android: 32bit display buffer without alpha is now the default to avoid compositor bugs on android.
  • Editor: Make Generate Mip Maps setting in Texture Importer not be bold, for consistency, and make it hide child settings rather than just disabling the GUI, for simplicity.
  • Editor: Respect original shader culling mode in scene view picking.
  • Editor: Changed the resize cursors and added a splitter resize cursor on mac.
  • Editor: Shortcut for Maximize View has changed from Space to Shift+Space. It can now also be configured in the Editor Preferences.
  • Editor: Current layout is now stored per project. New projects will use the last layout as an initial layout state.
  • Editor: MaterialEditor API refactored. Added class MaterialProperty that holds the info & values of the material property, and handles multi-selection & undo (similar to SerializedProperty). MaterialEditor functions now operate on MaterialPropertyValues; and there's a MaterialHelper class to get to them.
  • Editor: Project Browser now sorts folders first on Windows
  • Editor: show warning in inspector when we have npot texture playing with compression in a non-good way
  • Editor: Windows Background color option was removed from Preferences window
  • GameObject.Find doesn't allocate internal memory
  • iOS: Made iOS 4.3 as default target, updated warning for older targets
  • iOS: Added possibility to choose how touches originated from non-unity views are processed. Added possibility to get "raw" touch position (iOS coords).
  • iOS: Added support for rect banners (ios6 feature).
  • iOS: Added support for vendor/advertisement id (iOS6). Changed SystemInfo.deviceUniqueIdentifier logic: on ios7 it will use ad id (if tracking is enabled) and fallback to vendor id otherwise. On pre-ios7 the behavior stays the same (hash of MAC address).
  • iOS: exposed getter for possibly mirrored web cam texture
  • iOS: iAd implementation extracted to trampoline (WARNING: script interface changed). Added c# event to be triggered after user saw advertisement.
  • iOS: Trampoline now expects SDK 5.0 or higher
  • Mac Standalone Player: When in FullscreenWindow fullscreen mode without showing menu bar and dock, disable Application switching, as it would not correctly keep the Dock hidden.
  • Mecanim: Moved Optimized transform hierarchy button from inspector to the context menu
  • Mecanim: AnimationSet renamed AnimatorOverrideController and derives from RuntimeAnimatorController.
  • Mecanim: Removed AnimationSet property from the Animator Component. AnimatorOverrideController derives from RuntimeAnimator it can be asigned directly to the Controller property of the Animator.
  • Mecanim: Root motion can now be affected by Animation Clip from any controller's layer. Before only the first layer could affect the root motion.
  • Mecanim: Renamed AnimatorStateRuntimeModificator to AnimatorStateRuntime
  • Mecanim: AnimationSet refactoring. Removed AnimationSet.ReplaceClip and added a few function for setup.
  • Mecanim: A MatchTarget is now interrupted by a transition. Project created with older version will still have the same behavior than before.
  • Mecanim: Remove Keep Additional Bones for Humanoid Rig at import. Use Skeleton mask instead.
  • NavMesh: calling CompleteOffMeshLink now positions the agent at the OffMeshLink endpoint.
  • NavMesh: enabling carving for an obstacle disables avoidance for that obstacle
  • Physics: Now allowing multiple collider components of the same type on one GameObject
  • Physics: Renamed and documented layer mask constants, Physics.AllLayers, Physics.DefaultRaycastLayers, Physics.IgnoreRaycastLayer
  • Profiler: Some samples are now tagged as warnings in the CPU profiler (i.e. moving of a static collider). The warnings are shown as a count in the 'warnings' column
  • The default GUI font embedded for consoles and other platforms with no access to system fonts has been changed to "Liberation Sans"
  • Version Control: Only kill plugin on initial negotiation errors and not all errors sent from plugin
  • Version Control:Change base path to be projectPath instead assetPath.
  • WebPlayer: Installer now reports anonymous usage statistics to help improve install experience
  • Windows Phone 8/+ Windows Store Apps: Transferred Trial API from UnityEngine.Application to UnityEngine.Windows.LicenseInformation class.
  • Deprecated and removed features:
  • Android: Dropped support for Froyo(2.2) and Eclair(2.1).
  • Graphics: Removed support for OpenGL ES 1.x on mobile; ES2.0 will be used by default now. Set rendering path to VertexLit in player settings to best approximate the old behavior.
  • Graphics: Removed support for pre-DX9 GPUs on PC. That is, GPUs made before 2003 (NVIDIA), 2002 (AMD) and 2004 (Intel) will not be supported now.
  • Editor: Removed Unitron (Mac) and UniSciTE (Windows) script editors. The MonoDevelop we ship now is quite good already!
  • Culling: Support for Animation bounding volume culling has been removed. Unity will fall back to renderer based culling instead.
  • Improvements:
  • AI / NavMesh: Performance! Crowd update is multithreaded when there are more than 50 active navmesh agents - if supported by device.
  • AI / NavMesh: Obstacle carving support. NavMeshObstacle supports carving via the "Carve" flag on the component.
  • AI / NavMesh: OffMeshLink Component is dynamic. OffMeshLink component creation/modification/destruction has effect at runtime and in the editor. No baking of navmesh is required.
  • AI / NavMesh: 'CalculateTriangulation' calculates and returns a simple triangulation of the current navigation mesh. Returned is a struct containing the vertices, triangle indices and navmesh layers.
  • AI / NavMesh: OffMeshLink Component API additions: navMeshLayer, biDirectional, startTransform, endTransform, autoUpdatePositions, UpdatePosition.
  • Android: Always use non-linear z if available for 16 bit depth buffers
  • Android: Joystick input should now be more concise across different gamepads and devices.
  • Android: Support for secondary and tertiary mouse button (requires ICS).
  • Android: GL context recreation will only take place when strictly needed.
  • Android: Better EGL context selection. Now much more likely to pick a configuration with proper anti aliasing, stencil, depth etc.
  • Android: Native EGL/OpenGLES (no longer initialized through Java).
  • Animation Window: New clips are saved into project browser active folder instead of project root by default.
  • Animation Window: Recording goes through the new Undo system. Only changes that are Undoable are recorded.
  • Animation Window: Hotkey 'k' for add keyframe button.
  • Animation Window: Properties that are being animated show up in yellow.
  • BlackBerry: Added checkbox to allow users to indicate Gamepad support for their games
  • BlackBerry: It is now possible to specify build ID.
  • BlackBerry: Gamepad trigger buttons are now supported.
  • Documentation: undocumented APIs will now show up as empty stubs
  • Documentation: more Scripting docs for 2D APIs
  • DX11: Use new fixed function shader generator on Windows 8.1
  • Editor: Improve workflow when layout with custom windows failed to load due to compile errors.
  • Editor: Modified occlusion culling default baking parameters (smallest occluder value 1.0 -> 5.0)
  • Editor: No longer downloads an ivy.xml file every time you push play.
  • Editor: Removed dysfunctional Xcode 4 setting
  • Editor: Updated Unity Logo and icons
  • Editor: Better performance when entering and exiting playmode
  • Editor: Improved search in Project Browser and Hierarchy: We now support searching for types in namespaces and base types can be used to find derived types.
  • Editor: Improve error handling of renaming/creating assets when inputing invalid file name chars
  • Editor: SHIFT+F or double-F locks the scene view camera to the selected GameObject.
  • Editor: "alpha is transparency" textures are displayed with a checker background in material inspector; and nicer display in project browser.
  • Editor: Optimize Inspector GUI by avoiding much of the string handling associated with PropertyDrawers.
  • Editor: Order and group menu items in Assets/Create menu so related items are together.
  • Editor: PropertyDrawers now have a fieldInfo property that can be used to obtain reflection data about the member that the property represents.
  • Editor: PropertyDrawers can now call EditorGUI.PropertyField to get the default implementation instead of getting infinite recursion.
  • Editor: New virtual method UseDefaultMargins on Editors as well as two styles in EditorStyles that can be used to customize margin use manually in custom Editors.
  • Editor: Add ability to cancel update static flags in children dialogs.
  • Editor: Made TextAsset also recognize .json, .csv, .yaml extensions.
  • Editor: Add Component menu now handles multiple search words and lists items that match all of them, so for example "ca co" lists Capsule Collider.
  • Editor: If a shader has a PreviewType=Plane tag, the material inspector will display a plane instead of 3D meshes in the preview.
  • Editor: Improve GenericMenu showing speed on Windows.
  • Editor: New commandline switch "-buildTarget " that allows to select the active build target before a project is loaded.
  • Editor: ETC2 texture formats now selectable from Texture Importer inspector.
  • Editor: Respect HideInHierarchy flag & locked layers in drag-rectangle-box picking code as well.
  • iOS: added Ad Loaded callbacks
  • iOS: Added iPhone5S/C to the iPhoneGeneration enum
  • iOS: Fixed crash if user had selected OpenGL ES 3.0 as graphics API target (GL ES 3.0 is currently Android-only)
  • iOS: Fixed some warning in Xcode project
  • iOS: Added possibility to back rendering surface with CVTextureCache-ed texture.
  • iOS: Added AppDelegateListener with notifications about Local/Remote Notifications.
  • iOS: Added joystick support skeleton.
  • iOS: Improved native code integration with Unity Trampoline, look for RenderPluginDelegate and LifeCycleDelegate.
  • iOS: Make it possible to disable rendering to external display (to revert to simple mirroring). Added c# event for Display list changes.
  • Linux: Reduce development player size
  • Linux: Added screen selector / input configurator.
  • Linux: Implemented -popupwindow command line argument.
  • Linux: Add proxy support for WWW class via HTTP_PROXY/HTTPS_PROXY environment variables.
  • Linux: Reduce size of development players.
  • Math: Added "IsNormalized()" method to Vector2.
  • Mecanim: [Optimize game objects] Add support for dynamically attaching a SkinnedMeshRenderer to an existing character (like wearing glove). As long as the SkinnedMeshRenderer and the character have the same rig, they don't need to come from the same FBX file.
  • Mecanim: [Optimize game objects] Add support for exposing a Transform without reimport. Just create a new game object as a child of the root game object, and rename it to be exactly the same as the bone you want to expose.
  • Mecanim: [Optimize game objects] Optimize and de-optimize game objects at runtime with: void OptimizeTransformHierarchy(GameObject go) and DeoptimizeTransformHierarchy(GameObject go)
  • Mecanim: [Optimize game objects] Work better with prefab now. De-optimizing the imported model will not break the existing prefabs.
  • Mecanim: Added a popup menu in animation clip model importer to select/deselect all nodes in the mask inspector.
  • Mecanim: AnimationController is created without file dialog when 1st animation is added to GO.
  • Mecanim: Curve editing in Animation window should be faster for controller with many clip
  • Mecanim: When draging a clip on a GO that already has an AnimationController, simply add the clip instead of creating a new controller.
  • Mecanim: Reduced memory footprint for Animator component.
  • Mecanim: Animation clip importer automaticly detect the rig type (generic or humanoid) and setup the mask accordingly.
  • Mecanim: Rewrote iOS SIMD math library backend.
  • Mecanim: Added new animation compression mode 'optimal' for generic and humanoid rig.
  • Mecanim: When dragging a non-legacy clip on a GameObject, create an Animator + controller
  • Mecanim: Refactored AvatarMask use during import. Can now specify an asset on disk.
  • Mecanim: Added warning when humanoid transforms have Translation/Scale animation.
  • Mecanim: Removed warning message when previewing some objects that have component dependency.
  • Mobile: Improved GLES context recreation
  • Mobile: Mobiles now have separate rendering path setting
  • NavMesh: To ensure correct navmesh being baked, step height is clamped to be always less than agent height, and a warning is issued to user.
  • Physics: Can now set up material for TerrainData.
  • Physics: Joints can now have separate anchor points configured for both connected rigidbodies.
  • Physics: CharacterController will now report an error when trying to configure it as a trigger.
  • Profiler: Players now include the entire frame when profiling
  • Profiler: Correct unwinding of samples if an exception is thrown
  • Profiler: Now profiles OnGUI events when profiling editor.
  • Reduced memory consumption when importing 8k*8k textures
  • Scripting: WWW object now has a bytesDownloaded attribute, to monitor a download's activity if the remote host does not send a content-length header
  • Scripting: Add generic overloads for Resources class.
  • Terrain: Show a warning when unsupported shader is being used on terrain
  • Version Control: Create missing folder that have their .meta file present
  • Version Control: Reduced calls to VCS backend for getting status
  • Version Control: Show progress send from plugin in GUI
  • Version Control: Made a change lists optional trait for plugins
  • Version Control: Make "get latest" on asset subset or only changeset a plugin trait.
  • Version Control: Allow plugins to force handling of conflicts themselves
  • Version Control: Add support for PlasticSCM mergetool in unity preferences
  • Version Control: Support for plugin custom commands.
  • Version Control: Support for plugin provided icon overlays.
  • Version Control: Improve initial add of ProjectSettings folder to include future settings as well
  • Version Control: Show overlay legends in the settings inspector
  • Version Control: Handle files deleted externally to be reverted/deleted in vcs automatically
  • Version Control: Handle files renamed/moved outside unity and to be moved in version control as well
  • Windows Phone: Added default unity splash screens of all available orientations (landscape left, landscape right, portrait upside down in addition to portait).
  • Windows Phone: Added support for pixel perfect splashscreens.
  • Windows Phone: Debug.Log in user scripts will now output to Visual Studio output window as well if the project is built in debug and release configurations.
  • Windows Phone: If Windows Phone SDK cannot be found, its expected path is reported.
  • Windows Phone: Message box appears on the phone when using capability that was not enabled in application manifest file.
  • Windows Phone: Use latest UnityScript / Boo
  • Windows Phone: Implemented backround media player status API for Windows Phone at UnityEngine.WindowsPhone.Media.
  • Windows Phone: Show platform name in editor title.
  • Windows Phone/+ Windows Store Apps: Exposed application trial API.
  • Windows Phone: Added Emulator support.
  • Windows Store Apps: background color override support in extended splash screen on Windows 8.1
  • Windows Store Apps: Support rendering in non-native resolutions on Metro 8.1
  • Windows Store Apps - Windows 8.1: Input callbacks will now be processed on application thread instead of UI thread, thus reducing input lag.
  • Windows Store Apps - Windows 8.1: Will use Direct3D low-latency presentation API http://msdn.microsoft.com/en-us/library/windows/apps/bg182880.aspx#five, this should improve input latency.
  • Windows Store Apps & + Windows Phone: Windows 8 requirement to build for Windows Phone/Windows Store Apps is always listed in build settings if it isn't met.
  • Windows Store Apps: Added Master configuration to the exported solution, so now there will be three - Debug, Release, Master like on Windows Phone 8. Master configuration should be used when releasing the game. Release configuration is the same as Master, but has Profiler enabled, that's the only difference.
  • Windows Store Apps: Animator.GetCurrentAnimationClipState, Animator.GetNextAnimationClipState should work now.
  • Windows Store Apps: Added UnityEngine.WSA.Application.windowsActivated event, which can be used for capturing events when snapping begins and ends.
  • Windows Store Apps: Implemented Screen.sleepTimeout
  • Windows Store Apps: Fixed some of the issues with external plugins, for ex., Facebook.dll, EasyRoads3D.dll
  • Windows Store Apps: Windows 8.1 support.
  • Windows Store Apps: Cloth is supported now.
  • Windows Store Apps: Editor will check if plugins used by Editor and Windows Store Apps are compatible, for ex., it will check if assembly version matches.
  • Windows Store Apps: Editor will perform a check if user is running under Windows 8 or higher, if not Build buttons will be disabled.
  • Windows Store Apps: Unity splash screen will be shown if user doesn't have a Pro license.
  • Windows Store Apps: Added UnityEngine.WSA.Application.windowSizeChanged event, which will be invoked when user resizes the window, for ex., when performing snaping.
  • Windows Store Apps: Implemented LocationService and Compass.
  • Windows Store Apps: Compilation Overrides will only affect C# files not located in "Standard Assets", "Pro Standard Assets" or "Plugins" folders.
  • Windows Store Apps: Managed-To-Native functions now use Platform Invoke to perform interop, performance should be better now.
  • Windows Store Apps: New APIs. UnityEngine.Windows.File, UnityEngine.Windows.Directory for accessing directories and files. UnityEngine.WSA.Application for invoking calls on different threads.
  • Windows Store Apps: Resources.UnloadUnusedAssets should work correctly now.
  • Windows Store Apps: When generating C+/C# solution, Mixed Mode debugging will be enabled by default.
  • Windows Store Apps: Make sure gui password field is drawing mask char, even though os keyboard returns clear text.
  • Fixes:
  • AI / NavMesh: NavMesh.Raycast: Gives correct navmesh height (Y component) for hit position.
  • AI / NavMesh: Fix issue where disabling one navmesh obstacle would sometimes affect another obstacle.
  • AI / NavMesh: Fix NavMeshAgent occasionally getting NaN positions in cases where many agents are spawned/destroyed and avoidance is disabled/enabled.
  • AI / NavMesh: Fix NavMesh.CalculatePath returning path with wrong path endpoint when path is partial.
  • Android: Fixed a problem where "Unable to find suitable jdk installation" was presented even with a valid jdk in path
  • Android: Disabled glTexSubImage2D for adreno devices - fixes some of the dynamic font issues
  • Android: Fixed default orientation for 3rd gen kindle devices
  • Android: Fixed stripping issue which caused AndroidJavaRunnable to fail
  • Android: Fixed ToString error when unboxing java string for AndroidJavaProxy.
  • Android: Workaround for an issue with the android compositor on external displays.
  • Animation: Fixed leak in animator component
  • Animation: Will handle Enable binding correctly.
  • Animation Window: Update() isn't offered as an option in the add event popup anymore.
  • Animation Window: Add Curve dialog no longer pops up again after cancelling it
  • Animation Window: Adding new clips into read-only objects no longer allowed
  • Animation Window: Animation Event tooltip wasn't showed on mouse hover.
  • Animation Window: Animation Event window wasn't updated when selection was changed
  • Animation Window: Changing IsActive property keyframe via animation window is updated into scene view immediately
  • Animation Window: Curves-toggle is persistent if you close/reopen animation window
  • Animation Window: Dopesheet clamp framerate between 0-10 000 to avoid data loss for big number
  • Animation Window: Dopesheet is now able to show more than 50 sprite previews at the same time
  • Animation Window: Fixed Scale transform is marked yellow in the Inspector although it not animated
  • Animation Window: In record mode you should be able to animate an Animator Generic rig.
  • Animation Window: No error messages after removing the animated object
  • Animation Window: While moving selected keyframes, sometimes other keyframes would move also
  • Audio: Fix AudioListener.volume for AudioSource.PlayOneShot
  • Audio: Fix AudioImporterInspector: Compression slider shows wrong max
  • Audio: Fix Custom audio filter for AudioListener does not affect sounds played by PlayOneShot
  • Audio: Fixed StackOverflow in OSX Editor during AudioClip.Create
  • BlackBerry: Fixed issue where gravity was being reported in meters per second instead of G forces. Also landscape x and y for gravity was swapped.
  • BlackBerry: WebCamTexture.videoVerticallyMirrored is now set correctly.
  • BlackBerry: Fixed issue where tiling would occur when webcam framerate was set outside acceptable range.
  • BlackBerry: MailTo URI's now work as expected.
  • BlackBerry: Remapped gamepad buttons to match up to Xbox 360 controller.
  • Bug Reporter: Fix crash when submitting documentation bugs from OS X.
  • BuildPipeline: Custom cursor specified in PlayerSettings is now built and shown correctly.
  • Cursors: Fix regression with cursor not showing in OS X standalone build.
  • Documentation: Fixed documentation of EditorUtility.CollectDeepHierarchy.
  • Documentation: Readded the message "Inherits from" for classes that have a parent.
  • Documentation: Return types, parameter types and types in examples work as links.
  • DX11: Fix 100% cpu use on Win81, reduce it somewhat on older windows.
  • DX11: Handle "-adapter X" command line argument.
  • Editor: Fixed "set default parameters" button in occlusion-bake tab
  • Editor: Fixed crash while baking occlusion culling data
  • Editor: Workaround windows 8.1 + webkit regression causing crash on mouse wheel messages.
  • Editor: Fix external editor not opening files when double clicking errors in console and external editor arguments have been specified.
  • Editor: Fixed crash when Transform was referenced multiple times by parent Transform (only happens in corrupt scenes; editor will automatically remove extraneous references now).
  • Editor: Fixed ScriptableObject editor script reference field being incorrectly drawn with PropertyDrawer.
  • Editor: Fixed that EditorGUI.LabelField got key focus when tabbing (its now skipped when tabbing)
  • Editor: Fixed that mouse cursor over gradient alpha input field was showing as drag area instead of text area
  • Editor: Fixed that tabbing through controls jumps back to "active" checkbox for the game object instead of moving to the next gui control
  • Editor: Fixed that the static toggle in inspector does not update correctly when toggled, if the current value is "mixed"
  • Editor: Disabled GPU Profiler on Macs + NVIDIA GeForce 650M, turns out the drivers return garbage data.
  • Editor: Do not disable the lighting flag in the scene view after completing a build
  • Editor: Don't leak references to assemblies that are dynamically loaded from game code.
  • Editor: Fix input sometimes being sent to windows that have already been destroyed causing PPtr dereference asserts.
  • Editor: Fix static preview generation to have the right background color in linear mode
  • Editor: Fixed import of Reflection textures sometimes freezing the Editor when Fixup Edge Seams is checked.
  • Editor: Fixed unclear and flickering DX11 tool tip message in Player Settings on Mac.
  • Editor: It's now possible to undo changing batching settings in the PlayerSettings
  • Editor: Mark BeginGUI(Rect) as obsolete, as it leads to bad internal GUI state
  • Editor: Fix Object Picker causing nullrefs when shown outside of OnGUI.
  • Editor: Opening PopUp menus with the keyboard on windows will no longer beep.
  • Editor: Closing a editor tab shouldn't change the selected tab.
  • Editor: Fix that Preferences key shortcuts using toggle with CTRL didn't work on Windows.
  • Editor: Fixed searching for Terrain in the Hierarchy or Project window (use t:terrain)
  • Editor: Fixed searching for GUISkin in Project Browser (use t:guiskin)
  • Editor: Fixed that GUISkin was not showing in Object Picker for GUISkin object fields
  • Editor: Fixed: Occlusion Culling scene view overlay window once again always uses dark editor skin, so it is readable
  • Editor: Fixed: NavMesh scene view overlay window once again always uses dark editor skin, so it is readable
  • Editor: Fixed: Error spam in Console when modifying a box collider using collider handles
  • Editor: Only set keyboard focus upon clicking a PrefixLabel if the control supports keyboard focus.
  • Editor: Fixed two biggest progress bar leaks on OS X
  • Editor: Vertex snapping (V) now works for sprites.
  • Editor: Fix script execution order on reload
  • Editor: Fix occasional crash when importing assets.
  • Editor: AssetPostprocessors without a default constructor no longer crashes the editor.
  • Editor: Fix ScriptableObject having wrong icon in ObjectField.
  • Editor: PropertyDrawer attributes on members that are arrays are now applied to each element in the array rather than the array as a whole. This was always the intention since there is no other way to apply attributes to array elements, but it didn't work correctly before. Apologies for the inconvenience to anyone who relied on the unintended behavior for custom drawing of arrays.
  • Editor: Fix context menu for ScriptableObject having nonsensical entries (mostly Component-related). Also, "Edit Script" is now only shown if a script is available for editing (not the case for e.g. GUISkin or Terrain).
  • Editor: Fix light skin inspector sometimes using game skin for drawing controls.
  • Editor: GameObjects that end up with multiple transform components will now have extraneous transforms removed automatically; prevents crashes.
  • Editor: Fixed a crash when calling AssetDatabase.CreateAsset on a GameObject.
  • Editor: Fixed errors and crashes when having non-ASCII characters somewhere in the paths for font assets.
  • Editor: Fixed crash when inspecting a disabled terrain; or deleting a material assigned to Terrain.
  • Editor: Fix Scene View Gizmo hover effect that has been broken for several releases.
  • Editor: Fix that clicking cancel on the build progress bar causes loss of scene and any unsaved work.
  • Editor: Fix that Windows progress bar displays incorrect progress when used from user scripts.
  • Editor: Ensure error sound is not playing on OSX when using keyboard shortcuts for particle effect.
  • Editor: Fix wrong context menu in the results of Asset Store searching in Project view.
  • Editor: Curve preset library now retains wrap settings.
  • Editor: Object picker prematurely populates Animation component.
  • Editor: Fixed undo not working with color picker.
  • Editor: When calling EditorGUI.PropertyField with includeChildren set to true, the children did not have correct spacing.
  • Editor: Labels and buttons no longer draw on top of each other in the preview of an animation clip from the asset store with a narrow inspector or preview window.
  • Editor: TextEditor now scrolls to show the composition string when using IME. Furthermore, scrolling offset is now respected when IME pane is positioned so it doesn't end up in weird positions if the text field has scrolled.
  • Editor: Fix scroll speed in Particle Effect window; and fixed broken UI layout in particle system scene view overlay.
  • Editor: Fix so shortcuts can be used to give the Project Browser window focus (Ctrl/Cmd + 5) and then start a search (Ctrl/Cmd + F).
  • Editor: Fix main editor window covering an auto-hidden taskbar when maximized on Windows.
  • Editor: Fix double dropshadowing issues for windows on Windows (fixes odd dropshadowing on adjacent monitors when the editor was maximized).
  • Editor: Fixed files showing multiple times when deleting multiple folders in Project Browser.
  • Editor: Fix assets could incorrectly be created in the Assets folder in two column mode.
  • Editor: Textures with Alpha Is Transparency Selected, will have their thumbnail correctly generated with a transparent background.
  • Editor: Prevent setting terrain resolution higher than 2049 via the inspector (can still be done from scripting API, to avoid breaking existing code).
  • Editor: 3D textures were not displayed properly in material inspector.
  • Editor: Catch errors when trying to rename classes in the project view.
  • Editor: Disable Compression option in Audio Importer for Native WAV files as they can't be compressed.
  • Editor: Fixed Camera Volumes legend in Occlusion Culling in-scene window.
  • Editor: Fixed changing the script type in the MonoBehaviour component when using multi-object selection.
  • Editor: Fixed IntPopup fields not opening on space.
  • Editor: Fixed tooltips for GUI.SelectionGrid; and log a warning if user tries to create invalid SelectionGrid.
  • Editor: Only focus dropdown window if doesn't have focus already.
  • Editor: On Windows EditorGUIUtility.AddCursorRect does not wait for a mouse movement to update the cursor anymore.
  • Editor: Fixed the hard crash happened when updating one package to a new version.
  • Editor: Fix the inappropriate cache server warnings
  • Editor: Fix the bug that crash unloading AssetBundle when exiting Play mode
  • Editor: Fix the crash when deleting ScriptableObject
  • Fix: ASTC textures were imported with Y-axis flipped
  • Fix crash when passing prefab instance to PrefabUtility.ReplacePrefab
  • Fix the Editor crash on getting component by type if type was null
  • Fix occlusion culling when camera is outside generated view volumes
  • Fix occlusion culling license issue
  • Fixed profiling of shadow caster culling, cases where there are no shadow casting lights.
  • Fix error messages in Windows Store Apps and WP8 when checking for location capability
  • Fix errors when snapping on Windows Store Apps
  • Fix: GPU skinning on DX11 was limited to 128 bones per mesh, limit upped to 1024.
  • Fix F10 and Shift keys in Windows Store Apps
  • Fix crash in WSA/WP8 when using Compass
  • Fix internal exception and performance issue in WSA/WP8 using Compass on device without it
  • Fix serious performance drop in WSA/WP8 using Compass on some devices
  • Fix Editor hanging when entering play mode or quitting the application
  • Flash: Fix leaking AssetBundle APIs.
  • Flash: Fix Flash UnityContentLoader unloading. ("TypeError: Error #1034: Type Coercion failed: cannot convert System::ClassType...")
  • Flash: Fix Flash Monobehaviour Serialization issues
  • Flash: Support up to Flash 11.8, this allows 11.5 and upwards non-content debugger players to display a stack trace.
  • Flash: Fixed dynamic batching sometimes failing.
  • Font rendering: Fix alignment of text with embedded images.
  • Font rendering: Allow embedded images to render in non-square aspect ratios.
  • Graphics: Fixed a crash when accessing Camera.current in the Editor in Start().
  • Graphics: Fixed a crash when switching to DX11 mode and the scene has terrain in it.
  • Graphics: Fixed a deadlock in the mutithreaded renderer when entering the Lion-style fullscreen on Mac.
  • Graphics: Fixed a null reference exception in combining for static batching when there was no first material in Renderer's material array.
  • Graphics: Fixed asserts caused by broken render texture stats when using graphics emulation.
  • Graphics: Fixed changes to QualitySettings.vSyncCount after Screen.SetResolution() causing fullscreen setting to be ignored.
  • Graphics: Fixed GPU skinning (both DX11 and OpenGL ES 3.0) when the mesh is using a low number of bones
  • Graphics: Fixed QualitySettings.anisotropicFiltering changing values inconsistently when set from scripts.
  • Graphics: Fixed Texture.GetNativeTextureID() not being thread-safe with multi-threaded rendering.
  • Graphics: Fixed webplayer plugin crash
  • Graphics: Fixed wrong vertex count being reported in Stats window when static batching is used and editor is in Direct3D 9 mode.
  • Graphics: Fixed broken shadows with forward rendering to antialiased RenderTexture.
  • Graphics: Fixed crash when calling Texture2D.ReadPixels() with a negative offset.
  • Graphics: Fixed crash when using Graphics.Blit under some circumstances.
  • Graphics: Fixed Graphics.Blit crash issue.
  • Graphics: Fixed shaders using 2 UV sets not working in Player if mesh only has one set, and was imported without Read/Write Enabled.
  • Graphics: Fixed bounds of meshes generated by TextMesh component.
  • Graphics: RenderTextures are no longer unnecessarily cleared when loading a new level.
  • Graphics: OpenGL ES 2.0 now supports mipmapped render textures.
  • Graphics: Fixed cubemap + mipmap render textures on OpenGL.
  • Graphics: Fixed a rare case of light probe sampling taking too much time.
  • Graphics: Fix crash on scene load when baked occlusion data is present
  • IMGUI: MousePosition should work properly inside a GUI.window when GUI.matrix is not identity.
  • Input: Input state now being reset consistently cross-platform when player focus is lost.
  • iOS: Fixed iOS builing on Windows
  • iOS: Fixed various scrolling related crashes on iOS 7
  • iOS: Fixed Xcode 5 build & run for simulator target
  • iOS: Fixed gyro reporting
  • iOS: Fixed iOS project building from script on Windows.
  • iOS: Fixed iOS7 simulator support.
  • iOS: Fixed managed code stripping when building project on Windows.
  • iOS: Fixed WebCamTexture support for iOS7
  • iOS: Fixed iOS7 icon size support
  • iOS: Xcode 5 Build&Run support fixed
  • iOS: Fixed MeshCollider stripping issue.
  • iOS: Improved error propagation in WWW class.
  • iOS: Fixed Norwegian language detection.
  • iOS: Make sure all NSString backing device settings are retained.
  • iOS: Fixed OnCollision broken by stripping, when you don't use Collision class explicitly.
  • iOS: Fixed trampoline's precompiled header not working with .c/.m files.
  • Linux: Fix player crash when a user manually specifies an invalid resolution.
  • Linux: Fix custom cursor handling when hiding/showing cursor.
  • Mac OS X 64 bit Standalone: fix WebCam support
  • Mac OS X Standalone: Changed compile settings to disable running on 10.4 (which we did not support anyways), as this is now a requirement for publishing to Steam.
  • Mac OS X Standalone: Fix cursor locking when setting Screen.lockCursor in first Awake call
  • Mac OS X Standalone: Fixed Mouse coordinates on secondary screens
  • Mac OS X: Fixed support for cursors with NPOT cursor textures
  • Mac OS X: Make Icon and Splash screen work for 64 bit standalone builds.
  • Mac OS X: Fixed non-ASCII characters in Input.inputString
  • Mac OS X: Fixed issues with windows handling for GameCenter in standalone builds.
  • Mac OS X: Fix Input.inputString to correctly contain whitespace characters in the web player.
  • Mecanim: Model importer meta file shouldn't get dirty anymore when importing a file with a Humanoid rig.
  • Mecanim: Fix crash when previewing transition between empty states
  • Mecanim: Fix object hierarchy not being animated correctly in some cases
  • Mecanim: Fix remove State/StateMachine code that caused bad object access
  • Mecanim: Fixed crash when trying to configure an Avatar with a mesh not yet skinned.
  • Mecanim: Fixed cannot configure a human avatar when optimize is ON.
  • Mecanim: Fixed crash when calling Animator.GetBoneTransform on Avatar with Optimize Game object On.
  • Mecanim: Fixed crashes when editing humanoid animation applied to a primitive object.
  • Mecanim: Fixed drag'n drop of State/StateMachine.
  • Mecanim: Fixed Optimize GameObject in import settings breaks preview window of Skinned Mesh,
  • Mecanim: Fixed preview of a transition on a layer with a mask, previewer was not using the mask to playback the transition.
  • Mecanim: Fixed root motion masking for all layer.
  • Mecanim: Fixed the crash which happened when we reimport the FBX file in play mode.
  • Mecanim: Fixed transitions bool parameter being overriden when creating the 1st Trigger parameter.
  • Mecanim: Hide "Optimize Game Objects" if Avatar Definition is "Copy From Other Avatar".
  • Mecanim: Proper clamping of start/stop times when importing an Animation clip.
  • Mecanim: Update Controller's clip duration when an AnimationClip is substituted by AnimationOverrideController.
  • Mecanim: Fixes animation set crash when clips are duplicated in controller.
  • Mecanim: Avatar created proceduraly should not expose Configure Avatar button.
  • Mecanim: User should get an error in the console when they try to create an avatar with duplicate transform in the human mapping.
  • Mecanim: Fix various crash with Optimize game object and configure Avatar.
  • Mecanim: Fix crash when user configure an existing avatar and try to edit the muscle limit,
  • Mecanim: Fix crash when user delete and animator component.
  • Mecanim: Fix crash when user set the root node on a generic rig to the top most object in hierarchy.
  • Mecanim: Animation Average Velocity was not computed correctly.
  • Mecanim: Preview of animation breaks on avatars with different hips orientation.
  • Mecanim: Switching from Generic to Humanoid rig when using source Avatar was breaking animation import.
  • Mecanim: Support scale of game object at runtime for Animator. Root Motion, IK, Optimize Hierachy.
  • Mecanim: Unroll muscle fix.
  • Mecanim: Sync editor curve for pre-4.3 duplicated muscle clip and backward compatibility problem with duplicated clips.
  • Mecanim: Change default behavior for human clip, do not import position, rotation and scale curve for all human transform.
  • Mecanim: StateMachine GraphGUI did not support properly to have its data modified externally.
  • Mecanim: Fixes webplayer compatibility for Mecanim bindings.
  • Mecanim: ModelImporter multi-edition of root node and expose transform should be disabled when transform from multiple file doesn't match.
  • Mecanim: Better validation of avatar creation.
  • Mecanim: Re-added AnimationUtility.GetAnimationClips(Animation animation) in the API as deprecated.
  • Mecanim: Fixed crash when applying change in Avatar Tools with an invalid avatar.
  • Mecanim: Fixed StopTime not being set properly when resampling a transition in the previewer.
  • Mecanim: Fixed scale curved that where not evaluated properly.
  • Mecanim: Fixed continuity issue on transitions with duration of zero.
  • Mecanim: Fixed broken additive layer evaluation.
  • Mecanim: Fixed broken bindings when source hierarchy differs from destination.
  • Mecanim: Prevent opening muscle previewer in Avatar Setup with incomplete Avatar.
  • Mecanim: Fixed Crash when clicking on Clear mapping button in Avatar tools.
  • Mecanim: Fix the default pose (when a character is not animated) when humanoid mode or a root bone is used. This makes it consistent with the default pose in the authoring tool (eg. Maya).
  • Mecanim: Fixed crash when calling Animator.GetBoneTransform with an Uninitialized Animator.
  • Mecanim: Recorder cannot longer play unrecorded frame.
  • Mecanim: Restrict use of negative animator speed while recording.
  • Mecanim: Fix Ctrl-click selection for states and transition.
  • Mecanim: Fix negative scale blending while in a transition.
  • Mecanim: Fix Additional curves tangent, Non default tangent was not supported correctly.
  • Mecanim: Fix in Muscle Unroll Algorithm.
  • Mecanim: Fix loading of .anim files generated in 4.0/4.1/4.2
  • Mecanim: Fix memory spill when using Layers
  • Memory Profiler shows Static Managed References as a reason for why an asset is loaded
  • Memory: Fixed leak when instantiating materials from code
  • Mobile: Do not include fonts into mobile build when rendering mode is OS and including the font is not specified.
  • Mobile: Fixed point topology rendering.
  • Mobiles: 24-bit Depth Buffer is now enabled by default
  • MonoDevelop: Disable broken fullscreen mode on OSX.
  • MonoDevelop: Fix exception when creating a new UnityScript or Boo class from MD.
  • MonoDevelop: Fix tab selector freeze when resizing the code editor UI.
  • MonoDevelop: Fix exception when jumping to declaration of a symbol in an external assembly.
  • MonoDevelop: Fix intermittent, unhandled exception when opening the Unity API reference.
  • MonoDevelop: Remove unsupported entries from menus.
  • MonoDevelop: Fix cursor warp.
  • MonoDevelop: Don't flush folding and undo data on document save.
  • MonoDevelop: Show debugging toolbar when attaching.
  • MonoDevelop: Make play button attach instead of launching new Unity instance.
  • MonoDevelop: Fix Boo compilation failure every first compile (Windows).
  • MonoDevelop: Fix Unityscript compilation (Windows).
  • NavMesh: Changed NavMeshAgent.hasPath to return consistent values on off-meshlinks and while walking.
  • NavMesh: Fixed issue where NavMeshAgents was restoring the velocity before entering offmeshlink when leaving it
  • NavMesh: Fix regression causing agents moving on terrain to have wrong height (y-position) when "Height Mesh" bake option is enabled
  • OSX Player: Fixed crash when loading a release build
  • OpenGL ES 3.0: Fixed shadow rendering in Deferred rendering mode.
  • OpenGL ES 3.0: Various fixes and stability improvements.
  • Physics: Fix OnTriggerEnter being called repeatedly for CharacterControllers when setting transform.parent
  • Physics: Fix potential crash when deleting colliders while Time.timeScale is zero
  • Physics: Fix Terrain.GetInterpolatedNormal to return correct normals
  • Physics: Fixed a bug where Continuous Collision detection would not work correctly when changing the scale of colliders.
  • Physics: It is now possible to have multiple SpringJoint components on a single GameObject, like with all other Joints.
  • Physics: Rigidbodies will now wake up when changing constraints, so that a Rigidbody which is being held in position by a constraint will start moving.
  • Physics: All combine modes are now correctly applied to friction and bounciness properties of physics materials. Before that, the interpretation of Multiply and Minimum modes was switched.
  • Physics: Fix crash when using MeshCollider with a mesh which only contains degenerate faces.
  • Physics: Fixed a bug where MeshColliders would enable themselves when changing the transform when they were disabled.
  • Physics: Fixed a crash related to sending collision notifications.
  • Physics: Fix the MovePosition feature of a kinematic compound rigidbody.
  • Physics: fix crash when reloading scene with invalid physics materialPrefabs: Fixed cases where prefab merging injected additional transform components into prefab instances.
  • Physics: Fix 2D colliders spamming console log with "m_InstanceId==0"
  • Prefabs: Fix awake order for prefabs which have other prefabs as children
  • Profiler: Camera render to Texture is now added to the profiler.
  • Rendering: Fixed accessing Cloth.vertices when there is no vertices assigned yet.
  • Scripting: Fixed a crash when trying to serialize abstract classes in MonoBehaviours.
  • Scripting: Fix memory leak occurring during Play/Stop and script compilation.
  • Scripting: CodeDomProvider can be used in Editor
  • Scripting: Fixed InvalidProgramException for binding delegate to instance method with null target.
  • Scripting: Fixed crash when calling ScriptableObject.CreateInstance with abstract type.
  • Scripting: More informative error message about use of enums with unsupported underlying type.
  • Scripting: Infinite Loop on RequireComponent.
  • Scripting: Fix crash when instantiating a scriptable object with a mismatched file name.
  • Scripting: Allow StopCoroutine from within a coroutine.
  • Scripting: Avoid spurious allocations when using terrains with shadows.
  • Scripting: Eliminate misplaced Editor.SetDirty warning in players.
  • Scripting: Fix crash when subclassing Component.
  • Shaders: hlsl-to-glsl translator now accepts "static" and "const" qualifiers on function return values.
  • Shaders: hlsl-to-glsl translator was producing variable names with double-underscore in some cases (which is not accepted by some drivers).
  • Shaders: Shader compiler now consistently accepts project-root relative #include paths.
  • Shaders: Fixed #pragma multi_compile shader variants not working with surface shaders in some cases.
  • Shaders: Fixed shader compiler crashing with out of memory on complex shaders (with lots of multi_compile variants).
  • Shaders: Fixed some Material properties getting into a non-save-able state sometimes (they would seem to be editable, but a Unity restart would revert the values back).
  • Shaders: Fixed texCUBEgrad & tex3Dgrad, was not working on some platforms.
  • Shaders: Integer and boolean parameters in shaders (e.g. int, int4, bool) now work as expected on all platforms.
  • Shadows: Fixed performance regression in shadow rendering (introduced in 4.1).
  • Shuriken: Clamp both start lifetime and length in seconds to avoid precision issues.
  • Shuriken: Fixed crash when destroying Mesh used by ParticleSystemRenderer.
  • Substance: Added missing documentation for SubstanceImporter::Get/SetPlatformTextureSettings() and ProceduralTexture::GetPixels32().
  • Substance: Fixed a severe perf regression in scenes with more than 20 ProceduralMaterial instances.
  • Substance: ProceduralTexture::GetPixels32() now works with a simpler call sequence (see documentation).
  • Substance: It is no longer possible to rename the wrong ProceduralMaterial when switching ProceduralMaterial while editing the ProceduralMaterial name field.
  • Substance: Texture thumbnails are now properly spaced when the "Generate all outputs" checkbox is enabled.
  • Substance: The "Generated textures" foldout is no longer displayed when trying to multi-edit ProceduralMaterials.
  • Substance: Renaming a ProceduralMaterial to a recently renamed ProceduralMaterial's previous name will now display the correct preview textures.
  • Substance: Fix a potential Editor crash when trying to perform drag and drop in the SubstanceImporterInspector.
  • Terrain: Fixed popping tree shadow
  • Terrain: Tree colors in linear rendering mode are now rendered correctly.
  • Terrain: Fix crash when using Terrain.activeTerrain in a scene that has no terrain.
  • Terrain: Fixed incorrect color space setting on detail (grass) objects.
  • Text Markup: Fixed parsing of numeric parameters which sometimes read numbers incorrectly.
  • Umbra culling is no longer used for previews. Fixes a crash when selecting cubemaps.
  • Undo operation for asset import settings changes are no longer recorded
  • Undo operation for asset import settings changes are no longer recorded
  • Undo: Fixed undo recording of script changes on MonoBehaviour
  • UnityObject: Correctly identifies IE 11 as a supported browser.
  • Version Control: Fix Submit Window sometimes throwing exceptions on creation.
  • Version Control: Do not show checkout dialog for all reimported models
  • Version Control: Handle moving folder external to Unity
  • Version Control: Only checkout selected assets when user has enabled notify on save in preferences
  • Version Control: Increased timeout for getlatest and submit to better handle slow connections
  • Version Control: Refresh pending window on submit error
  • Version Control: Require ack from vcs plugins on shutdown to prevent deadlock
  • Version Control: Fix context menu for "open containing folder".
  • Version Control: Show correct error message on all submit errors.
  • Version Control: Support perforce workspaces and passwords with spaces.
  • Version Control: Support for perforce streams.
  • Version Control: Disable save option when VCS plugin does not support changelists.
  • WebPlayer: Fixed several XSS bugs
  • WebPlayer: Fixed web player legacy occlusion culling
  • WebPlayer: Web Players can now start on Windows XP systems with Terminal Services disabled, but will not be able to enter full-screen on those systems.
  • WebPlayer: Fixed lock-up issues that occurred when entering fullscreen on OS X.
  • WebPlayer Installer: EULA links have been removed and standard click-through EULAs introduced. The EULA itself has not changed.
  • Windows 64-bit Standalone: Removed dependency on MS CRT redistributable
  • Windows Phone/+ Windows Store Apps: Fixed unity player crashing if fields in user scripts were emitted with #if UNITY_EDITOR precessor flag.
  • Windows Phone/+ Windows Store Apps: Reference ReWriter will now correctly find replacement method with param arguments if original is not available in the target framework.
  • Windows Phone: Dependencies to WinRTLegacy.dll are now correctly rewrriten.
  • Windows Phone: fix LocationService status
  • Windows Phone: Fixed unity player crashing if back button was pressed while the engine was still reinitializing from application pause.
  • Windows Phone: Reference ReWriter now correctly recognizes System.Uri Windows.Foundation.Uri type alias.
  • Windows Phone: Reference ReWriter now correctly recognizes WinRT aliases when they are a template argument of non-alias class.
  • Windows Phone: UnityScript compiler targets incorrect UnityScript.Lang.dll when building project for WP8
  • Windows Phone: Closing app should no longer crash it.
  • Windows Phone: Fix render texture camera orientation when app is started in landscape.
  • Windows Phone: Fixed a bug where using certain WinRT types would prevent the user from building a project.
  • Windows Phone: Fixed a build system crash if plugin contained a class that inherits from Windows Phone XAML classes.
  • Windows Phone: Fixed a crash caused by disabled sensors capability in project manifest.
  • Windows Phone: Fixed a crash when trying to access temporary and roaming directories.
  • Windows Phone: Fixed a crash when trying to use gyroscope on devices that don't have gyroscope.
  • Windows Phone: Make ScreenOverlay post effect rotate correctly with device orientation.
  • Windows Phone: handle exceptions when sensors are not found
  • Windows Phone: Fixed initialization of LocationService
  • Windows Phone: GameObject.SendMessage invokes correct overloaded method.
  • Windows Phone: WWW class correctly decodes escaped URL strings.
  • Windows Phone: Screenshots are correctly captured in landscape orientation.
  • Windows Phone: App no longer crashes if graphics device is accessed from OnApplicationPause method.
  • Windows Store Apps: fixed GUI events via touches when cursor is locked
  • Windows Store Apps: fixed LocationService DesiredAccuracy usage on Wind

New in version 4.2.2 (October 14th, 2013)

  • Features:
  • iOS: Added joystick support
  • Improvements:
  • iOS: Added iPhone5C/5S to the iPhoneGeneration
  • Fixes:
  • Graphics: Fixed RenderTexture reload warnings in editor's mobile graphics emulation mode, when deferred lighting is used with no lights present.
  • Graphics: Fixed Image Effects crash in some cases when an effect does camera.Render() from inside of OnRenderImage (regression in 4.2).
  • Shadows: Fixed broken soft shadows in scene view when Linear color space + skybox are used (regression in 4.2).
  • Editor: Fixed major progress bar leak on OSX editor.
  • BlackBerry: Fixed case where large device hardware PINs would not work with debug token reading/creation.
  • BlackBerry: Player settings now include stripping level option.
  • Memory: Fixed memory leak when instantiating materials from code.
  • iOS: Fixed documentation for Texture2D.CreateExternalTexture.
  • iOS: Fixed Build&Run with Xcode 5.
  • iOS: Fixed status bar issue on iOS7.
  • iOS: Fixed WebCamTexture problems on iOS7.
  • iOS: Fixed crash if user selected OpenGL ES 3.0 graphics API (OpenGL ES 3.0 is currently Android-only).
  • Android: Yet another fix for "Unable to find suitable jdk installation".

New in version 4.2.1 (September 3rd, 2013)

  • FIXES:
  • Android: Fixed an issue where a KeyNotFoundException was thrown when trying to deploy to the android emulator.
  • Android: Renamed exported .jar file from untiy-classes.jar to unity-classes.jar
  • Android: .meta files are now dropped before compilation of android libraries.
  • Android: Fixed for "Unable to find suitable jdk installation" on windows.
  • BlackBerry: Fixed issue where windows xp BlackBerry registration file path was not supported.
  • Fixed issue where windows xp BlackBerry registration file path was not supported.
  • Bugreporter: Fixed crash when submitting documentation bugs from OS X.
  • Documentation: Fixed that some editor classes were not showing up in the table of contents (Editor, EditorWindow).
  • Documentation: Monobehaviour page no longer has a dead link.
  • Documentation: "Inherited from ..." is showing for classes that inherit from other Unity classes.
  • Editor: Fixed editor crashing on older (SM2.0) GPUs.
  • Editor: Fixed that clicking cancel on the build progress bar would loose any unsaved work and would fail to load original scene.
  • Editor: Fixed memory leak occurring during Play/Stop and script compilation.
  • Editor: Fixed nested property drawers finding the wrong property drawer to use for rendering.
  • Editor: Asset store doesn't hang after downloading and importing assets.
  • Graphics: Fixed incorrect rendering order on meshes with multiple materials, introduced in Unity 4.2.
  • Graphics: Fixed multiple texture coordinate handling in immediate mode on OpenGL ES 3.0.
  • iOS: Fixed Input.compensateSensors not working with autorotation.
  • iOS: Fixed SystemInfo.deviceUniqueIdentifier returning udid on pre-iOS 7 devices that is different from the one returned in Unity 4.1.
  • iOS: Fixed status bar appearance on iOS 7.
  • iOS: Enforced proper screen mode and overscan compensation for AirPlay Displays.
  • iOS: Fixed PLCrashReporter name clash with Crittercism plugin.
  • iOS: Fixed crash when using SystemInfo.deviceUniqueIdentifier repeatedely.
  • Mecanim: Fixed culling crash bug happening in visibility callback.
  • Memory Profiler: Fixed freed textures in OpenGL showing up as a memory leak.
  • Mobile: Fixed Camera rendering to RenderTexture outside of normal rendering loop.
  • Mobile: Fixed possible OpenGL ES objects leaks when using several RenderTextures and destroying them.
  • Particles: Fixed editor crash when exiting playmode with particle system inspector showing.
  • Physics: Fixed incorrect collider/trigger exit messages being sent when paused.
  • Windows Store Apps: Fixed the leaked exceptions from sensors (typically happens when the system reports that a gyroscope exists but fails to set the properties) that break the rendering loop.
  • Windows Phone: Implemented Application.OpenURL.
  • Windows Phone: Fixed editor lock up when profiling and deploying new build at the same time.
  • Windows Phone: Fixed reloading of assets from bundles on fast resume.
  • Windows Store Apps: PlayerPrefs will correctly store huge strings.
  • OpenGL ES 3.0: Made various fixes and stability improvements.
  • OS X Web Player: Fixed crash when starting up the web player when an IME input mode is enabled.
  • Windows Phone and Windows Store Apps:
  • Fixed WWW class constructor - now it never throws exceptions.
  • Fixed crash on accessing WheelHit.collider after calling WheelCollider.GetGroundHit().
  • Arrays with dimension bigger than one won't be serialized. For ex., byte [,]
  • Unity splash screen will be shown if you have a basic license, this is not a splash screen shown by OS, it's the one shown by Unity engine.

New in version 4.2.0 (July 31st, 2013)

  • New Platforms and Licensing:
  • Windows Store Apps ("WSA", for both x86 and ARM) and Windows Phone 8 support. Pro version of WSA/WP8 is free for Unity Pro owners!
  • BlackBerry 10 support.
  • Now free: all "Basic" mobile licenses.
  • Now free: realtime shadows (one directional light only; hard shadows only).
  • Now free: text-based serialization of materials, prefabs, scenes etc. for easier version control.
  • Now free: NavMesh baking (OffMeshLinks still require Pro).
  • Graphics Features:
  • Anti-aliased RenderTextures. Implemented on D3D9, D3D11, OpenGL, OpenGL ES 2.0 (iOS and some Android devices via GL_IMG_multisampled_render_to_texture), OpenGL ES 3.0.
  • Image Effects, a batch of new goodies and improvements (update Image Effects package!)
  • Ambient Obscurance: Added "Screen Space Ambient Obscurance" effect, like old SSAO but better quality, faster and scales better to large resolutions.
  • Bloom: Added mobile oriented "Bloom (Optimized)" effect; not as fancy as Bloom one but faster.
  • Blur: Added mobile oriented "Blur (Optimized)" effect.
  • Tilt Shift: Replaced old effect with "Tilt Shift (Lens Blur)" one; better quality and HDR support.
  • Camera Motion Blur: Added "Reconstruction Disc" mode, quality tweaks to existing modes.
  • Vignetting: Optimized performance and improved UI.
  • Edge detection: Removed old simple "Edge Detection (Color)" effect, added it as a new mode into Edge Detection effect.
  • Reorganized image effects menu structure to be more logical.
  • Stencil buffer access (requires Unity Pro). Shaders can define stencil buffer operations that they perform, for optimizations or special effects.
  • Shadows: Implemented static & dynamic batching for shadow casters & shadow collector pass. Note: many shadow casters can be batched even if they use different materials! They will be batched as long as the actual shadow caster shader & material properties affecting it are the same.
  • Shuriken: Collision event callback scripting interface. Efficient callbacks on GameObjects and ParticleSystems are issued when Shuriken particle collisions occur. Per particle callback data include collision positions, incident velocities, surface normals and Collider references allowing developers to, say, cause damage to GameObjects and apply forces to RigidBodies.v
  • GPU Skinning! (requires Unity Pro)
  • Completely automatic, no custom shaders needed.
  • Works on DirectX 11 (via stream-out), OpenGL ES 3.0 (via transform feedback) and Xbox 360 (via memexport). Other platforms will continue to use CPU skinning.
  • OpenGL ES 3.0 support for Android:
  • ES3 has nicer shadow filtering, ETC2 texture compression, GPU skinning via transform feedback, HDR rendering, multiple render targets, derivative instructions in shaders etc.
  • A new option in Player Settings, next to ES1.x and 2.0 devices.
  • Requires a GPU that can do ES3, for example Qualcomm Adreno 3xx or ARM Mali T6xx.
  • Note that the official Android version does not support ES3 yet. So to test it you should install ES3 drivers directly from GPU makers (e.g. Qualcomm).
  • Deferred Lighting is now enabled on Android and iOS.
  • Requires depth texture support and at least a 512MB RAM device.
  • Note, it might still be too slow for big games scenes on anything but latest devices, so use with care.
  • Added possibility to create Texture2D directly from native texture; Texture2D.CreateExternalTexture. This is mostly useful when your native code plugin creates textures itself.
  • Editor Features:
  • Integrated version control support for Perforce.
  • Do common Perforce operations right inside Unity editor.
  • We've made the integrated version control system extensible; support for more VCS will be coming later. Or you can write your own VCS plugin, see our plugin page on github.
  • Platform switching, player building and asset importing can be cancelled now! How cool is that?
  • Custom GameView resolutions & aspect ratios. Custom settings are saved per project for easy sharing through version control (ProjectSettings/GameViewSizes.asset).
  • Preset Libraries: You can now save the following types as presets:
  • Curves in the Curve Editor and Particle System Curve Editor.
  • Gradients in the Gradient Editor.
  • Colors in the Color Picker.
  • Create new libraries either as personal libraries (saved in preferences) or shared libraries (saved in the project folder).
  • Added a Quad primitive ;)
  • Memory Profiler: Now shows the objects that have references to another loaded object. This can help pinpoint why a given object is in memory.
  • Shader importer can have default textures specified. When you initially set a shader on a material or reset a material the textures will be set to these default textures.
  • Texture importer now has "Alpha is Transparency" setting, which does color dilation to fix edge artifacts on semitransparent textures. It is enabled by default for GUI textures.
  • Mobile Features:
  • Android: Added support for Android Library Projects (no compilation support, so the libraries have to be pre-compiled).
  • Android: AndroidJavaProxy - Support for implementing Java interfaces in C#.
  • Android: Editor can now update the Android SDK if it does not match the required dependencies.
  • iOS: Added CrashReporter API for crash detection and extraction (requires Unity Pro).
  • iOS: Now you can setup iOS PlayerSettings, texture import overrides and build iOS AssetBundles from Windows Editor. Building an actual iOS player still requires Mac OS X & Xcode.
  • iOS: WebCamTexture can be set non-readable (prior to playback), which allows it to output from camera directly to texture, avoiding extra memory copies.
  • Editor: When in mobile graphics emulation mode, editor will show a warning when RenderTexture usage is not optimal for tile-based or multi-GPU systems. Use RenderTexture.MarkRestoreExpected() to suppress the warning if needed.
  • Other Features:
  • Audio: Added Bypass Listener and Bypass Reverb Zones properties that enable turning off listener effects independently from the effects on the audio source. Thus, Bypass Effects only turns off the effects on the AudioSource, and the 3 flags can be combined freely.
  • Audio: Added Disable Audio property in Audio project settings to deactivate the audio system in standalone builds. Note that this also affects the audio of MovieTextures. In the editor the audio system is still on and will support previewing audio clips, but AudioSource.Play calls and playOnAwake will not be handled in order to simulate behavior of the standalone build.
  • Audio: Added "Prepare iOS For Recording" property in Player Settings (iOS > Other Settings in the inspector). Turning it on will avoid the stalls that otherwise happen when starting or stopping the Microphone object.
  • Editor: Editor extensions can now get a callback when Unity is about to open an asset. Use this callback to open an asset inside Unity before its opened in an external tool. Decorate a static method with the attribute UnityEditor.Callbacks.OnOpenAsset.
  • Linux: Added basic webcam support for video4linux2-supported devices.
  • Linux: Implement headless player; this will not require Xlib (requires Unity Pro).
  • Mac OS X: 64 bit standalone player support (x86_64 and Universal).
  • Mecanim: Avatar Creation API, for avatar creation from scripts at runtime or in the editor.
  • Mecanim: Synchronized Layers option to override state durations.
  • Mecanim: You can now set the default layer weight in the editor for your animator controller layer.
  • Changes:
  • Asset bundles built in prior versions of Unity are no longer compatible with Unity 4.2 (this has been necessary because of changes to how built-in resources are handled).
  • AssetDatabase.ImportPackage and AssetDatabase.ExportPackage can now be called repeatedly from within the same iteration of the game update loop (previously, successive calls would overwrite the buffered state of the previous one).
  • Audio: 7.1 content can now be loaded in the editor (previously only 5.1 was allowed).
  • Editor: Add MeshRenderer component dependency for TextMesh component.
  • Editor: NavMeshLayers editing is now located as a tab in the Navigation Window.
  • Editor: Terrain menu functionality moved to Terrain Inspector. Now you create a terrain by GameObject > Create Other > Terrain. Terrain settings previously in the menu are under Settings tab in terrain inspector.
  • Font colors are now applied as vertex colors, instead of by setting the color on the material. This makes it work better with markup tags in rich text strings. The color property in the font importer has been removed, and instead there are now color properties on the GUIText and TextMesh components to let you set the color of text objects per instance instead of per font.
  • Graphics: Disabled multisampling on NVIDIA cards on OS X earlier than 10.9 in Mac Web Player, due to driver issues.
  • Graphics: Majority of built-in shaders are now only included into your game data if they are actually used. This saves about 200 kilobytes off your mobile game size if you're not using many built-in ones. If you need some built-in shaders to be available without explicit references to them (to make Shader.Find etc. work), set them up in Edit -> Project Settings -> Graphics (by default Diffuse shader is always included).
  • Mac OS X Editor: The Editor on OS X will now allow symlinks in project folders to match Windows behavior. This can be used to share assets across projects, but is not recommended unless you know exactly what you are doing.
  • Made several Unity API calls which had been undocumented for many years properly deprecated.
  • NavMesh: "Reset" button in navmesh bake window is moved to window menu item.
  • Resources.LoadAll() now permits a trailing slash when given a folder name.
  • Web Player: the "Release Channels" context menu item will now only be visible when the Alt/Option key is pressed when opening the context menu.
  • Improvements:
  • Android: Stylus support.
  • Android: Support for xxhdpi resolution icons.
  • Android: AndroidJNIHelper and AndroidJava classes will now throw exceptions on failed invocations.
  • Android: Enhanced performance of AndroidJava and reduced the load on the dalvik GC.
  • Android: If possible, use native sensors (accelerometer, compass, etc) instead of routing it through Java.
  • Android: Improved error messages when build fails; added Retry option when device deployment fails; automatically create adb tunnel for profiler.
  • Android: OBB is now exported in the root folder when exporting an android project.
  • Android: Remove Eclipse project support in favor of Android project support.
  • Asset Bundles: Compressed AssetBundles built with 4.2 or later will have reduced runtime memory usage when decompressing.
  • Audio: Added a more informative error message when the audio device is changed during work in the editor or at runtime (i.e. when plugging in a screen that has built-in audio device such as HDMI screens).
  • Building: Show a warning when assembly's internal and file names don't match. This can cause issues on platforms that do AOT.
  • Editor: Added EditorGUIUtility.ShowObjectPicker to let editor extensions use it on demand.
  • Editor: Added a Select Prefab item in the Hierarchy View context menu.
  • Editor: Added EditorWindow.maximized bool. Use this to query if a window is maximized, set it to maximize/unmaximize a window. Is always false if the window is not docked.
  • Editor: Gradient API now has alphaKeys and colorKeys properties.
  • Editor: New #SCRIPTNAME_LOWER# token for use in script templates.
  • Editor: Popups, buttons, color pickers, etc. in the inspector can now be opened by pressing Space.
  • Editor: Show warning in inspector when you have non-power-of-two texture that cannot be compressed.
  • Editor: Switching between DX9 and DX11 in player settings does not require editor restart now.
  • Editor: Trying to open a project that is already open in another Unity instance will now simply display an error and then bring up the project selector (except in batch mode where it keeps triggering a fatal error and exits).
  • Graphics: Optimized sorting of renderable objects for smaller CPU load.
  • Graphics: Exposed Light.alreadyLightmapped to scripts.
  • Graphics: reduced memory footprint of non-readable meshes.
  • Graphics: Added WebCamTexture.videoVerticallyMirrored. Use Case: on iOS, when you use non-readable webcam texture, GL texture will be created on top of camera's target pixel buffer, which is vertically "flipped".
  • iOS: Ability to disable "Replace" button when overwriting existing build.
  • iOS: Added Objective-C VideoPlayer, to playback video to view or to a texture.
  • iOS: Enforced keyboard to be shown on main thread (to play nicely with iOS6).
  • iOS: Improved support for AppController subclassing and unity view integration with native UI.
  • iOS: In case of unhandled exceptions iOS player now will generate crash report instead of exiting silently.
  • iOS: Made Unity iOS apps PIE compatible.
  • iOS: Added iPhone.vendorIdentifier and iPhone.advertisingIdentifier with iPhone.advertisingTrackingEnabled APIs for better manual control of what device ID to use.
  • iOS: Xcode project cleaned up a bit.
  • iOS: Native VideoPlayback can be now paused/resumed. You can seek and check if it is playing.
  • iOS: Added UNITY_VERSION macro support for native code in trampoline. We also added a UNITY_4_2_0 macro to make it future-proof (we will add macros like that for future releases too). We now support these ways of checking the version:
  • you can use it like MSC_VER macro, i.e. if you want some code to be enabled only when using unity 4.4.1 or newer, do #if UNITY_VERSION >= 441.
  • you can do it in a way that resembles iOS SDK versioning, e.g. for version 4.4.1 and newer #ifdef UNITY_4_4_1.
  • you can combine them, e.g. #if defined(UNITY_4_4_1) && UNITY_VERSION < UNITY_4_4_1
  • Linux: Improved inter-application copy/paste.
  • Linux: Add fullscreen scaling fallback for devices that don't support GL_EXT_framebuffer_blit.
  • Mecanim: Allow scrolling when adding transition.
  • Mecanim: Return warning message in console to user when we detect an invalid avatar while importing.
  • Mobile: Optimized a bunch of rendering places to be more tiled-GPU friendly (as is common on mobile). This includes shadows, deferred lighting and most of image effects.
  • Mobile: Added RenderTexture.DiscardContents with separate flags for color/depth discard.
  • Mobile: Greatly improved performance of fixed function shaders on OpenGL ES 2.0. There's no reason to use ES 1.1 anymore.
  • Mobile: Switched to one FBO object per RenderTexture; performance improvement with render texture switches.
  • NavMesh: General crowd performance improvements.
  • Profiler: Now roughly estimates how much application binary and loaded libraries take.
  • Profiler: Open webstreams (for Asset Bundles etc.) report their used sizes.
  • Profiler: Removed log spamming when manually connecting to IP.
  • Scripting: Avoid pausing some threads during Mono garbage collection on Windows, OS X, and iOS. Helps prevent audio stutters during GC.
  • Scripting: Added HideFlags.None enum value.
  • Scripting: While compiling C# scripts, you can now use classes from System.Xml.Linq namespace.
  • Shaders: Ability to output custom Z buffer value from shaders. Previously, a bug in Cg compiler prevented this on D3D9, we've worked around that. Note that some platforms (OpenGL ES 2.0, Flash) don't have ability to write custom values into Z buffer from pixel shaders.
  • Shaders: Add ability to override how lightmaps are applied in surface shaders.
  • Shadows: Better sorting of shadow casters for GPU efficiency.
  • Shadows: Improved shadowmap filtering on OpenGL. It will use native GPU bilinear shadow filter when available, just like D3D9 and D3D11 does. No more "shadows are worse on Mac than on Windows"! Note: native shadowmap filtering disabled for Spot lights on Linux due to driver issues.
  • Shuriken: Added script binding for ParticleSystem simulation space.
  • Shuriken: Exposed particle axis of rotation to scripting API.
  • Standalone: Added "fullscreen at native resolution" player setting.
  • Standalone: Added player setting for single instance mode.
  • Substance: Cloned ProceduralMaterials now inherit the original substance's animation rate.
  • Substance: It is now possible to reliably assign ProceduralTextures from a SBSAR to the shader associated to a ProceduralMaterial from another SBSAR.
  • Substance: ProceduralMaterial.ClearCache now takes effect immediately instead of being taken into account at next RebuildTextures call.
  • Substance: ProceduralTextures created from a cloned ProceduralMaterial now have the same name and "RAW/Compressed" format as the original textures.
  • Substance: Reimporting substances that have been modified in Play mode is now multithreaded.
  • Substance: Editor scripts can now modify a ProceduralMaterial's size/format/behaviour using SubstanceImporter.Get/SetPlatformTextureSettings.
  • Web Player: the "Release Channels" context menu now lists actual versions used for different channels.
  • Fixes:
  • Android: Support for Android SDK rev22.
  • Android: Added a workaround for ANR when using Apple magic mouse; fixed ANR caused by deadlock when using touch enabled controllers.
  • Android: Added exception checks to avoid crashes in AndroidJNI.
  • Android: Added JDK version detection.
  • Android: Application no longer quits if joystick button 'A' is pressed before the first level has loaded.
  • Android: Disabled shader cache on pre-Honeycomb devices due to buggy drivers; also disabled it on all Immersion GPUs due to driver bugs.
  • Android: Editor; when switching between building a project and an actual apk, project is no longer replaced by the apk.
  • Android: Fixed a problem with streaming assets in exported android project.
  • Android: Fixed an issue where it was impossible to delete a project on windows due to adb keeping a lock in the project directory.
  • Android: Fixed crash on GL context recreate.
  • Android: Fixed crash when trying to read a non-existent string field through JNI.
  • Android: Fixed IndexOutOfRangeException on faulty package name.
  • Android: Fixed occasional crash on Nexus4 in shader compilation.
  • Android: Fixed problem with crashing video player on 1st gen Kindle Fire.
  • Android: Fixed propagation of key input events to OnGUI().
  • Android: Fixed touch and stylus input on devices having a single surface emitting both at the same time.
  • Android: Re-initialization of UnityPlayer is now possible.
  • Android: Removed black screen rendered while loading first level using Unity free.
  • Android: Reworked LocationService and Compass, to only compensate the magnetic declination when location is updated.
  • Animation: Added error when assigning too few bind poses so mesh skin indexes would index out of bounds.
  • Animation: Fix null reference exception in Clip tab of Model Importer.
  • Audio: Fixed memory leak when attempting realtime streamed playback of tracker files (XM/MOD/IT/S3M). Realtime streamed playback is not supported for these files, but streams may still be used for loading the files fully before playing them.
  • Audio: Fixed some down-mixing issues when compressing multi-channel material for Android/iOS.
  • Audio: Fixed upside-down rendering of channels in previews.
  • Audio: Use of OnAudioFilterRead should no longer causes random crashes.
  • Audio: Fixed a memory leak when importing a large number of audio files at once.
  • Building: When list of included assets is printed to editor console, built-in resources have proper names now, instead of empty strings.
  • Caching: AssetBundles with a CRC not matching the request will be removed from the asset bundle cache.
  • CacheServer: Improved robustness of LRU size calculation when replacing files in the cache server.
  • Core: Fixed a crash where AsyncOperation.allowSceneActivation = false would cause an infinite loop when exiting playmode.
  • Core: Fixed crash when exiting playmode and allowSceneActivation being disabled.
  • Core: Fixed deadlock that could occur when asset bundles failed to load.
  • Core: Assets referenced by GUISkin are now corectly retained.
  • DX11: Fixed dynamic Meshes being inefficient on DirectX 11, mostly observable on WSA/WP8.
  • DX11: Fix crash when setting ComputeBuffer stride to zero.
  • DX11: Fixed Asset Store window not working on some machines when in DirectX 11 mode.
  • DX11: Fixed crash with stacked cameras, HDR and some image effect combinations.
  • DX11: Fixed some normal maps being decoded wrong (if the normal length has exceeded 1.0).
  • DX11: Make Raw compute buffer types actually work.
  • DX11: RenderTextures properly respect depthBits now; fixes really confusing behavior when a depth buffer was always created for a RenderTexture even if no depth buffer was requested.
  • DX11: Fixed some fixed function shaders (AlphaTest or projected textures), and some Fog combinations not working properly on Intel GPUs.
  • Editor: Improved importing of semitransparent PSD texture files. They are premultiplied with white color; this will be accounted for in Unity now.
  • Editor: Active toolbar button rendered with correct style without a delay.
  • Editor: Animation preview rendering problems fixed.
  • Editor: AnimationWindow: Notify user if animating invalid game object hierarchy: When animating a object hiearchy user needs to ensure that names of object siblings are unique.
  • Editor: Calling Focus() on an invisible EditorWindow no longer crashes.
  • Editor: Camera frustum gizmo in Scene View now renders correctly when using normalized viewport rect.
  • Editor: Dark skin loads correctly after upgrading/activating a Pro license.
  • Editor: Displayed number of Asset Store previews in Project browser is consistent when zooming/resizing view.
  • Editor: Do not force RGBA format for normal maps when building for OpenGL ES targets.
  • Editor: Fix [HideInInspector] not working for shader properties.
  • Editor: Fix Aux Windows causing assert when closed on OS X.
  • Editor: Fix bad texture previews / mesh previews in linear lighting mode.
  • Editor: Fix broken occlusion culling overlay window.
  • Editor: Fix build target not updating correctly when switching between standalone platforms.
  • Editor: Fix color picker zoomed preview being upside down on OS X.
  • Editor: Fix copying of text in SelectableLabel in windows.
  • Editor: Fix crash if terrain alpha map textures get out of sync with the alpha map resolution setting.
  • Editor: Fix crash when loading assemblies with invalid references.
  • Editor: Fix crash while attempting to deserialize abstractly typed fields.
  • Editor: Fix flicker of progress bar when reserializing all assets to switch between text and binary serialization.
  • Editor: Fix inaccuracy caused by window margins in HandleUtility.WorldToGUIPoint() and HandleUtility.GUIPointToWorldRay().
  • Editor: Fix incorrect GameView rendering rect when having multiple GameViews.
  • Editor: Fix index out of bounds exception in BuildPlayerWindow when opening a project which was previously opened by another Unity Editor which had more platforms in the list.
  • Editor: Fix MonoBehaviour.OnApplicationFocus() on Windows platform.
  • Editor: Fix null ref when setting text mesh font with no renderer component.
  • Editor: Fix that animation window could not expand Transform components.
  • Editor: Fix that project browser multi-selection was lost when shift-selecting beyond start and end.
  • Editor: Fix that shift-delete deleted assets while renaming.
  • Editor: Fix the focus switch problem when the user press 'alt-tab' or 'ctrl-tab'.
  • Editor: Fixed "Export Package..." failing on OSX in some cases.
  • Editor: Fixed crash in lightmapping window when multi-selecting renderers.
  • Editor: Fixed crash when multi-selecting MonoBehaviours with missing scripts.
  • Editor: Fixed crash when opening scene with a reference to a prefab that has become empty.
  • Editor: Fixed empty Application.LoadLevelName after loading scene from an assetbundle.
  • Editor: Fixed forcing texture to be power of two size if PVRTC compression is selected.
  • Editor: Fixed lightmaps getting wrong compression format on platform change (between mobile and other platforms).
  • Editor: Fixed out of memory issue when building player with lots of resources files in it. Material texture references are now loaded on first use in the editor. In the player they are always preloaded.
  • Editor: Fixed Substance texture preview in some cases producing invalid mipmap bias settings.
  • Editor: Fixed that some keyboard keys could not be used for MenuItem shortcuts (e.g "," and "." can now be used).
  • Editor: Fixed wireframe scene view rendering not working on some shader model 3.0 shaders on Windows.
  • Editor: For Add Component window search function, always pick the first search result whenever the search changes.
  • Editor: Log error if user is calling GUI.Windows nested in window functions.
  • Editor: Make animated speed of transitions in AddComponent menu not be framerate dependent.
  • Editor: Make welcome dialog point to new URL for video tutorials.
  • Editor: Object Selector shows built-in shaders now.
  • Editor: Opening the Add Component window will now work when adding a MenuItem to the Components menu with priority less than 20.
  • Editor: Pasting a Particle System as a new component will now properly copy the Renderer values.
  • Editor: PropertyDrawers now also work for private members in base classes.
  • Editor: Scene view gizmo picking fixed.
  • Editor: Texture preview Labels will not be offset and clipped in some cases.
  • Editor: Throw mono exception (instead of crash), when unwrapping mesh without triangles assigned.
  • Editor: Fixed target texture size override not storing it's value correclty in the texture importer for the web player target.
  • Editor: Having a mesh asset preprocessor or doing Reset on mesh import settings no longer turns "Swap UVs" option on.
  • Fonts: Fixed embedding font data for styled fonts.
  • Fonts: Duplicating a dynamic font using Instantiate will result in garbage font rendering. User is now notified that duplicating a dynamic font is not allowed.
  • Graphics: Fix GrabPass when running fullscreen at non-native resolution on Mac and Linux.
  • Graphics: Fix linear lighting when running fullscreen at non-native resolution on Mac and Linux.
  • Graphics: Fixed "Use Lightmaps" in the Forward Rendering path, available via Lightmap Display scene view overlay.
  • Graphics: Fixed Camera.CopyFrom not copying some properties (rendering path, custom projection, layer cull distances etc.).
  • Graphics: Fixed development standalone players sometimes crashing on Windows when doing Alt-Tab.
  • Graphics: Fixed dynamic batching not working on meshes that use "Mesh Compression" import setting (regression in 4.0).
  • Graphics: Fixed incorrect scissoring of point/spot lights when a custom projection matrix is used.
  • Graphics: Fixed light "Draw Halo" checkbox not working unless there's some Halo component somewhere.
  • Graphics: Fixed point & spot lights not affecting lightmapped objects in dual-lightmap forward rendering mode.
  • Graphics: Fixed RenderTextures being invalidated in Windows Standalone player when moving the window.
  • Graphics: Made the Rendering area in the profiler show proper stats on multithreaded Win-non-dx11, Mac, iOS and Flash.
  • Graphics: Using BlendOp in a shader doesn't cause the text in the Editor to appear garbled anymore.
  • Graphics: Fixed crash on Windows standalone player exit exit when using OpenGL.
  • Graphics: Fixed legacy MeshParticleEmitter crash when the mesh has no vertices.
  • iOS: Do not render the default cursor as no iOS devices support cursors.
  • iOS: Fixed CFBundleShortVersionString setting in Info.plist.
  • iOS: Fixed crash on startup on iPhone 3GS (some versions of iOS5), where empty array of screens is returned.
  • iOS: Fixed deprecated API usage for Keyboard.
  • iOS: Fixed gyroscope restart problem.
  • iOS: Fixed memory leak in GL.InvalidateState.
  • iOS: Fixed multiline Keyboard not having "done" button.
  • iOS: Fixed Ping stripping issue.
  • iOS: Fixed static batching performance regression.
  • iOS: Fixed various issues with video playback: view stretch after canceling video, second movie in a row cannot be played, status bar is not shown after returning from video, etc.
  • iOS: Fixed Xcode launching issue when script code supplies relative path.
  • iOS: Fixed iOS player hangup issue on single core devices.
  • iOS: Improved Guid API compatibility with managed code stripping.
  • iOS: Made structs/enums in trampoline be C-style typedefs, for better interop with ObjectiveC plugins.
  • iOS: Playing two movies in a row will not cause a second movie to disappear.
  • iOS: Project will not be replaced if doing a silent build and can't append to existing build. Instead, a save dialog will be shown.
  • iOS: Unity Remote now always will report multitouch supported.
  • Lightmapping: Fixed crash when a TextMesh has been marked for lightmapping.
  • Lightmapping: Lightmap atlasing now always tightly packs object UVs based on their bounding rectangles.
  • Lightmapping: Made baking of terrains much quicker when Color Space is set to Linear.
  • Linux: Copy StreamingAssets when building player.
  • Linux: Enable native rendering plugin callbacks.
  • Linux: Fix Application.CancelQuit() and Application.OpenURL().
  • Linux: Fix crash when attempting to read a non-readable mesh.
  • Linux: Fix double-click.
  • Linux: Fix miscellaneous rendering issues on low-end intel graphics cards.
  • Linux: Fix plugin detection when the plugin resides in a subfolder (DllImport("foo/bar")).
  • Linux: Fix pointer offsets when dynamically resizing player windows.
  • Linux: Fixed keyboard shortcuts for text fields.
  • Linux: Improve ctrl/alt/shift keypress detection; improved keyboard modifier handling while typing/mousing.
  • Linux: Make handling of scroll wheel axis more consistent with other platforms.
  • Mecanim: Fixed crash with interuptible transitions.
  • Mecanim: AnimationClip.length was not returning the right value for clip created from script.
  • Mecanim: Blending between two clip with negative scaling was wrongly returning a positive scale.
  • Mecanim: Check consistency for older avatar asset. Older avatar file pre 4.0 were not valid anymore and could crash in some cases.
  • Mecanim: Fix Avatar body mask UI accuracy. Selection around the neck and upper torso was not accurate.
  • Mecanim: Fix Avatar with scale on root not reaching IK goal.
  • Mecanim: Fix Blend Tree type selector in inspector.
  • Mecanim: Fix broken blend tree visualization when using Freeform Directional blending with no motion in the center.
  • Mecanim: Fix clip's additionnal curve binding to controller's parameter when type doesn't match.
  • Mecanim: Fix crash if you set a small speed value for a state and then preview any transition going from or to this state.
  • Mecanim: Fix culling bug, at runtime if you add a new renderer it was not added to the animator's list of renderer to compute if it should update the Animator.
  • Mecanim: Fix error message UnityEngine.Transform.get_position when creating an Avatar whose mesh is not skinned.
  • Mecanim: Fix IK hand moving on Y axis on iOS.
  • Mecanim: Fix iOS precision error for IK and root motion.
  • Mecanim: Fix MatchTarget function for small characters. The matching was done in the wrong transform space.
  • Mecanim: Fix memory leak in state machine; fix memory leak with recorder.
  • Mecanim: Fix multi selection of node in animator window now correctly delete all selected node rather than just the last one.
  • Mecanim: Fix multi-edition of Animator, avatar and apply root motion field can now be multi-edited too.
  • Mecanim: Fix NullRefException when selecting a prefab with Animator Controller set to null.
  • Mecanim: Fix Reset button for Animator.
  • Mecanim: Fix StateMachine copy-paste.
  • Mecanim: Fixed crash in transition preview with 1 frame animation.
  • Mecanim: Fixed crash when building standalone with synchronized layer referencing a layer that was after the synchronized layer in the layer's list.
  • Mecanim: Fixed crash when previewing empty AnimatorController.
  • Mecanim: Fixed crash when previewing transition with state with no animation.
  • Mecanim: Fixed preview state mirror in transition preview.
  • Mecanim: Fixed transition reordering with different StateMachines.
  • Mecanim: Fixes crash when deleting or reordering some transitions; and with 0 duration transitions.
  • Mecanim: Fixes transition previewer being slow.
  • Mecanim: In some case Avatar mapping was not saved correctly when manually set by a user. Transform not attached to a renderer or without any child attached to a renderer were discarded.
  • Mecanim: OnAnimatorIK and OnAnimatorMove () won't be call anymore on disabled scripts.
  • Mecanim: Right-clicking on a state in the Animator window now properly shows the context menu.
  • Mecanim: When creating a transition from or to a blend tree with no motion, the transition duration was set to Infinity which could produce some crash or hang unity when trying to preview this transition.
  • Mecanim: Fixed transitions with transforms having negative scales.
  • Mobile: Fixed occasional crash in Substance system when loading Asset Bundles.
  • Mobile: Fixed RenderTexture.DiscardContents to correctly use glDiscardFramebufferEXT.
  • Mobile: Fixed unaligned memory accesses in BitStream.
  • Native Client: Fixed a bug in color multiplication math which could cause wrong colors to be displayed.
  • Native Client: Fixed a crash loading PNG files.
  • Native Client: Fixed asset garbage collection not to incorrectly collect assets which were still being referenced.
  • Native Client: Fixed some rendering issues with particles when the mouse is clicked.
  • Native Client: Mono is now built from our own sources and is no longer subject to the LGPL.
  • Native Client: Fix "Development Player" label always showing.
  • Native Client: Fix color of Terrain details.
  • Native Client: Fix File Access error message on start up.
  • Native Client: Fix incorrect methods being used for http requests in WWW class (POST instead of GET).
  • Native Client: Fixed a memory leak in the WWW class.
  • Native Client: Fixed a potential crash when loading unity3d files (including the game main data itself).
  • NavMesh: Fixed crash when loading scenes while NavMeshAgents are marked by "DontDestroyOnLoad".
  • NavMesh: Fixed issue where agent move state was affected when calling CompleOffMeshLink while not occupying an OffMeshLink.
  • NavMesh: Fixed issue where calling ResetPath while occupying an OffMeshLink would leave the OffMeshLink inaccessible.
  • NavMesh: Fixed issue where NavMesh.SamplePosition could return sub-optimal position for large query radius.
  • NavMesh: Fixed issue where outstanding agent path requests could get corrupted when adding new agents.
  • NavMesh: Fixed issue where remainingDistance would return too optimistic value.
  • NavMesh: Fixed regression where agent would accelerate too fast when doing moves shorter that agent diameter.
  • Physics: Changing gravity will wake up sleeping Rigidbodies.
  • Physics: Fixed a crash in raycasts against BoxColliders on 64 bit Windows.
  • Physics: Fixed a crash related to destroying colliders while Time.timeScale is zero.
  • Physics: Hinge Joints now have sane range limits.
  • Scripting: Fixes to Mono GC to avoid 'GetThreadContext' error issue on Windows.
  • Scripting: Fix constraints for Time.scale so that it cannot be negative.
  • Scripting: "new Font()" will now produce a valid Font instance (useful when programmatically generating font assets).
  • Scripting: Avoid crash if behaviors are destroyed from OnDisable.
  • Scripting: Avoid crash when creating MaterialPropertyBlock in MonoBehaviour constructor.
  • Scripting: Editor and Windows standalone should now be able to correctly use Mono.Posix assembly.
  • Scripting: Fix Windows crash on OutOfMemory.
  • Shaders: Fixed HLSL-to-GLSL shader translation when a shader modifies global variables; regression introduced in 4.1.
  • Shaders: Fixed tex2Dgrad/texCUBElod/texCUBEgrad support for mobile shaders.
  • Shaders: Fixed rare bug when a fixed function dot3 texture combiner could get wrong alpha channel state.
  • Shaders: Fixed shader keywords not being copied for instantiated materials.
  • Shaders: Fixed some surface shaders not being liked by DX11 shader compiler (errors about structs not being fully initialized).
  • Shaders: Fixed surface shader code generation if you're trying to output Normal into Emission, and are not writing to normal otherwise.
  • Shaders: Make sure that vertex shader output is always high precision on mobile; fixes some problems on Mali 6xx GPUs if you accidentally have half4 position.
  • Shaders: Worked around Cg shader code generation bug that happened on saturate(texture2D(...)); Cg was generating invalid D3D9 shader code on this.
  • Shuriken: Fix collision module such that trigger objects do not cause particle collisions.
  • Shuriken: Fixed errors when manually emitting particles with a non-unit axis of rotation.
  • Shuriken: Fixed horizontal and vertical billboard modes to be properly aligned with coordinate axes.
  • Shuriken: Fixed issue with particle systems not shutting down properly.
  • Shuriken: Fixed some gradient settings being lost when upgrading project from Unity 3.5.x to 4.x.
  • Shuriken: Fixed issue with Emit() function when the particle system has a scaled parent object. The emitter shape would be scaled incorrectly.
  • Substance: B2M instances should no longer lose their output texture references when entering/leaving Play mode.
  • Substance: Better strategy for mapping ProceduralTextures to shaders slots and for remembering custom assignments.
  • Substance: Fix crash due to a race condition on resource deallocation.
  • Substance: It is now possible to properly clone all substance graphs in a SBSAR (previously the first cloned graph would be instantiated when cloning other graphs).
  • Substance: Instance names are now properly sorted in the Inspector (B2M_10 would previously be listed before B2M_2).
  • Substance: Unnecessary reimports of multigraph Substances are no longer performed when leaving Play mode.
  • Substance: Deletion of the single remaining instance of a ProceduralMaterial in the Inspector is now prevented (this would previously result in an empty SubstanceImporter).
  • Substance: Option groups for newly cloned/instantiated substances in the Inspector no longer show only the first option from each group.
  • Substance: ProceduralMaterials attached to prefabs that were loaded in levels other than the first one and that were cloned but not modified themselves are no longer reimported after exiting Play mode.
  • Substance: ProceduralTexture::GetPixels32 now works on cloned substances.
  • Substance: SBSAR should now properly auto-refresh when the asset is modified on disk.
  • Substance: Fixed potential deadlock when using ProceduralMaterial.
  • Substance: Fixed memory leak.
  • Substance: DoNothing substances in asset bundles are no longer generated when the assetbundle is loaded, but only when RebuildTextures/Immediately is called instead.
  • Substance: Resetting a ProceduralMaterial from the Inspector no longer causes the 'Generate All Outputs' checkbox to be checked.
  • UnityGUI: Fix crash when passing a null GUIContent to various methods.
  • Web Player: Fixed regression playing back content using old grid fonts.
  • Web Player: Fixed a bug in PlayerPrefs, which made Firefox crash on close.
  • Web Player: Fixed some crashes during startup and when entering full-screen mode.
  • Webcam: Fixed Fatal Error on scene loading when WebCamTexture was used in a scene; and fixed a crash on quitting Windows Standalone players with webcam textures.
  • Webcam: When requesting user authorization to use microphone Unity was previously asking for permission to the web camera.
  • Windows: Fixed crash when closing the display resolution dialog of the player.
  • WWW: Fixed CRC calculation to give correct results.

New in version 4.1.4 (June 7th, 2013)

  • Fixes:
  • Android: Support for SDK r22
  • Debugger: Fix crash.
  • Substance: Fixed a crash related to a race condition on resource deallocation

New in version 4.1.3 (June 7th, 2013)

  • Fixes:
  • Android: Fixed rendering issues on Nexus4 + Android os 4.2.2 when "Use 32bits Display Buffer" is checked, due to Compositor using Default FBO alpha.
  • Editor: Fix Profiler window freeze on Mac OS X 10.8.3 with older NVIDIA GPUs (disabled GPU profiler completely on these systems due to driver bugs).
  • Editor: Fixed forcing texture to be POT if pvrtc compression is selected.
  • Editor: Fixed oversight in fix to crash when loading fonts from asset bundles in editor.
  • Fixed crash when unloading unused assets.
  • iOS: Fixed substance subsystem crash during asset bundle loading when stripping is enabled.
  • iOS: Fixed performance regression with static batching.
  • Mecanim: Blend Tree's mirror and offset parameter were not saved correctly for standalone build.
  • Mecanim: Fix recorder memory leak.
  • Mecanim: Fix crash in Mecanim when using interruptible transition.
  • Mobile: Fixed skinning performance regression.
  • Scripting: Avoid crash if behaviors are destroyed on disable.

New in version 4.1.2 (March 26th, 2013)

  • Features:
  • Web Player: Secret information can now be injected into a running web player via Javascript, with access to that information controlled by cryptographic signatures. Security.GetChainOfTrustValue can be used to retrieve this secret information, provided that the Security object is called from an assembly whose cryptographic signature is valid and matches the signature passed in when the secret is injected. For further information, see the Manual.
  • Improvements:
  • Android: Stylus support .
  • UI: Windows can now be displayed modally using the GUI.ModalWindow call. Modal windows appear on top of all other Unity GUI elements and prevent interaction with all Unity GUI elements not within the modal window while open. Only one modal window can be open during a frame.
  • Fixes:
  • Android: Fixed touch and stylus input on devices having a single surface emitting both at the same time.
  • Android: Fixed performance regression with static batching.
  • Android: Added a workaround for android issue 41755 - ANR when using apple magic mouse.
  • Android: Fixed an issue where "Stream from disc" audio was really slow when used with the "Split Application Binary" option.
  • Android: Fixed an issue where "Stream from disc" audio was broken when used with the "Split Application Binary" option.
  • DX11: Fixed GPU profiler not working (regression in 4.1).
  • Fix Crash in libmono.so due to GC_abort.
  • Fix ArgumentException: Invalid platform target" when trying to switch platform.
  • Graphics: Fixed Graphics.activeColorBuffer, activeDepthBuffer etc. crash when there's no active render target (regression in 4.1).
  • GUI: Modal GUI windows are now always on top of all other Unity GUIs, regardless of GUI.depth value.
  • GUI: When right-clicking on a window, context-menu events are once again being fired properly.
  • Native Client: Fixed "Development Player" label showing on non-development players.
  • Shuriken: Fixed an issue where particle rotations were broken.
  • Social API: Fixed problem loading leaderboard scores in Mac OS X 10.8 GameCenter.
  • UnityEngine.dll and UnityEditor.dll are no longer signed/strong-named. Compiled assemblies can once again reference the UnityEditor and UnityEngine namespaces.
  • Web Player: Chain of Trust system now requires signed assemblies to be loaded with new Security.LoadAndVerifyAssembly method in order to be eligible to call Security.GetChainOfTrustValue. Values stored in the Chain of Trust are still only accessible to assemblies signed with the specified public key.
  • Webplayer: Fixes a bug where using the WWW class in the web player would cause 50ms hiccups for each instance.
  • Webplayer: Application.ExternalEval and Application.ExternalCall will now properly escape Javascript strings with embedded escape sequences.

New in version 4.1.0 (March 14th, 2013)

  • Features:
  • Profiler: Memory profiler makes it posible to view a snapshot of currently loaded game objects and assets, and shows the reason why an object is in memory. Memory usage of a player can also be viewed by connecting to the player from the editor.
  • Simple vs. Complex view type dropdown button in the memory area.
  • Substance: Procedural textures are now supported at runtime on iOS and Android (ARM v7a only with NEON extension only).
  • Mecanim: 2D Blend Nodes for Blend Trees. 2D Blend Nodes are like regular blend nodes except you can blend based on two float parameters instead of one. Supported 2D blend types are Simple Directional, Freeform Directional, and Freeform Cartesian.
  • Graphics: Custom Material Editors! A shader can have CustomEditor keyword which points to an editor class that derives from MaterialEditor. This is useful for setting per material shader keywords from the UI.
  • Graphics: Per-material shader keywords. You can now set shader keyworkds on a per material basis. This allows for less work maintaining shaders and turning on and off parts of a shader with keywords.
  • iOS: full multi-screen support (AirPlay). Look for added Display class for an array of connected displays (only iOS is properly implemented now - all other platforms will have only one display in there).
  • Mac OS X Standalone: added GameCenter support.
  • Graphics: Rendering with shader replacement now supports lighting. If you render a camera with a replacement shader, the camera will pick the shader that corresponds to the current camera rendering path (forward / deferred / vertex lit).
  • Graphics: Camera.SetTargetBuffers added, allowing you to set buffers to draw to from RenderTexture or from screen; or to share depth buffer between different cameras.
  • Added Transform.hasChanged flag that can be used to check if the transform's position/rotation/scale has been altered since the last time hasChanged was set to 'false'.
  • Audio: Added scripting API support for sample-precision stitching of audio clips and synchronized DSP effects (AudioSettings.dspTime, AudioSource.PlayScheduled, AudioSource.SetScheduledStartTime, AudioSource.SetScheduledEndTime)
  • Editor: Console can now be filtered by Errors, Warnings, and Logs.
  • Shadows: Hardware shadow map filtering on capable mobile platforms (EXT_shadow_samplers; most recent iOS devices, very few Android devices yet). Makes shadow edges look a bit nicer, at some performance cost (used only when Light has shadows set to "Soft").
  • Mecanim: API for recording.
  • Mecanim: Can now change AnimatorController at runtime.
  • Improvements:
  • Android: Added caching of shader binaries for faster load time, if available in the GLES driver (GL_OES_get_program_binary extension).
  • Android: Propagation of native crashes (callstack etc.) to the Google Play Error Reporter. This include native plugins and script callstacks.
  • Android: Added multiple render target support on NVIDIA (GL_NV_draw_buffers and GL_NV_fbo_color_attachments).
  • Audio: Added AudioSource.ignoreListenerPause to enable playback of sounds in menus and editor extensions while AudioListener.pause=true
  • Audio: It is now possible to query play position and Microphone read position from a different thread than the main thread. This can be used to lower the latency of processing microphone input, by adaptively regulating playback speed.
  • Editor: Scene view can be set to render with shader replacement, SceneView.SetSceneViewShaderReplace.
  • Editor: CustomEditors can now optionally apply for subclasses of the class they're editing. Use [CustomEditor(typeof(MyClass), true)] to also make a custom editor work for MyClass' children
  • Editor: Confirmation for losing prefab connection now only comes up once when dragging multiple child objects out of a prefab.
  • Editor: Display Unity version in Project Wizard dialog title.
  • Editor: Files with the FNT extension will now be imported as TextAssets (before they were of unknown type).
  • Editor: It's now possible to move MonoBehaviours from one game object to another via drag & drop.
  • Graphics: Added depth parameter to GL.Clear, for cases when you want to clear depth buffer to non-1.0 value.
  • Graphics: Added SystemInfo.maxTextureSize.
  • Graphics: ARGBHalf, RGHalf, RHalf, R8 render texture formats supported on modern OpenGL & OpenGL ES 2.0 devices.
  • Graphics: Improved handling of non-power-of-two texture sizes.
  • On most platforms, a NPOT-sized texture without mipmaps and with Clamp wrapping mode will be actually represented as NPOT size texture on the GPU. This lowers memory usage and greatly improves loading times for NPOT texture sizes.
  • NPOT-sized uncompressed textures with mipmaps are faster as well, if the GPU supports arbitrary texture sizes (most modern PC GPUs do).
  • Added SystemInfo.npotSupport.
  • Input: You can now control which layers get OnMouse* events via Camera.eventMask. Setting it to zero turns off the mouse events, improving performance.
  • Installers: New icons and other artwork for OS X installers.
  • iOS: "iPhoneBundleIdentifier not set up" demoted to warning.
  • iOS: Device physical architecture is reported more accurately, though in lowercase (like 'armv7s').
  • iOS: Info.plist now will be appended instead of overwriting it.
  • iOS: Minor PhysX performance improvements.
  • iOS: Total amount of physical memory is reported more accurately.
  • Linux: Associate project icon with player window.
  • Linux: Implement nographics batch mode.
  • Linux: Statically link libstdc++ for greater compatibility with older installations.
  • Mecanim: AssetBundles work with Mecanim.
  • Mecanim: Ability to drag States and StateMachines into sub StateMachines.
  • Mecanim: Mirror and Cycle offset available on States and BlendTree leafs (no need to duplicate animation for mirroring anymore).
  • Mecanim: Allow multi-editing of Animator components.
  • Mecanim: Context menu to delete States and StateMachines.
  • Mecanim: Copy Paste of State/StateMachine also copies missing parameters.
  • Mecanim: Transitions are only reorderable in the context of a State.
  • Profiler: It is now possible to connect to a player by manually typing the IP of the device where the player is running - in case of multiple players on the same IP, it will connect to the player listening on the lowest port (which is randomly assigned).
  • Resources.UnloadUnusedAssets() has been rewritten. It is around 4x faster than in Unity 4.0 and works much better in a game that streams levels in and out. The unloading is now using precise garbage collection (previously it was based on Mono's built-in GC, which is conservative). Fixes strange corner cases with the old system, where in the worst case it could reload prefabs from disk during unloading.
  • Shaders: Added SubShader tag "ForceNoShadowCasting". When this tag is present, no shadows will be cast from this object, even if shader has a shadow caster pass somewhere.
  • Shaders: Sampler precision support for mobile, you can use sampler2D_half, sampler2D_float, samplerCUBE_half, samplerCUBE_float types which will translate into mediump & highp samplers for GLES2.0.
  • Shaders: Shaders will now use the shadow caster pass of the selected subshader if a shadow pass exists. If no shadow pass exists it will fallback to the default shadow pass.
  • Substance: decrease the memory overhead of Substance instances created at runtime.
  • Substance: If present, the more user friendly input "labels" are displayed in the Inspector instead of the input "names".
  • Substance: Input groups and HSL adjustments are now presented as foldouts in the Inspector.
  • Substance: Less code is embedded in the various Unity players.
  • Substance: lower memory consumption when dealing with multi-graph Substances.
  • Substance: New "Use caching" load behavior for Substances (textures are written to disk/flash after being generated and are reloaded from there at subsequent app/game launches).
  • Substance: On mobile platforms "Compressed" Substance textures are now compressed at runtime to DXT or PVRTC if supported by the GPU.
  • Substance: Procedural textures can now be read in the runtime API (ProceduralTexture.GetPixels32). Substances must be set to RAW and have the isReadable property set for GetPixels32 to work.
  • Substance: Updated Substance engines for all platforms (faster rendering, better threading, lower memory consumption).
  • Substance: XML presets can now be read from / applied to substances in the runtime API.
  • Changes:
  • Audio: AudioSource.Play(offset) is now considered deprecated. It will still work as before, but will output a warning. Instead, users are encouraged to use AudioSource.PlayDelayed(delay) which takes a delay parameter in seconds instead of a sample count in the arbitrarily chosen 44100 reference rate that was used previously.
  • DestroyImmediate is no longer allowed to be called from within animation events.
  • Editor: Removed buttons in Console window for Open Editor Log and Open Player Log (on OS X) and put them into the custom menu for the Console instead (accessed through the upper right corner of the window).
  • iOS: Changed how VRAM amount is estimated and reported, now it is 1/4 of total physical memory.
  • iOS: Keyboard handling extracted to trampoline.
  • Mecanim: Avatar body and skeleton mask has been merged into AvatarMask to simplify the workflow. Any created object of type AvatarBodyMask or AvatarSkeletonMask should be converted to AvatarMask. Any AvatarSkeletonMask set into a layer mask would be lost, you need to manually re assign the mask.
  • Mecanim: CycleOffset is set automatically to 0.5 for clips that are being mirrored in States/BlendTrees.
  • Mecanim: In model importer animation tab for humanoid clip, the option Keep Additionnal bone has been removed since you can now choose wanted transform in the Avatar mask.
  • Static batching no longer supports generating triangle strips.
  • UnityEngine.dll and mscorlib.dll are no longer accepted as assets.
  • Fixes:
  • Android/iOS: Updated PrefetchSocketPolicy() to return true instead of throwing an exception.
  • Android: Added local ref cleanup code to AndroidJNI to support more user based local refs per frame.
  • Android: Added manifest flags to avoid multiple instances of the same application.
  • Android: Added the ability to pass null arguments through the JNI bridge.
  • Android: Added workaround for "Could not reserve enough space for object heap" error.
  • Android: Added workaround for Tegra shader compiler bug when texture samplers are not reported.
  • Android: Fixed "Unity Remote" accelerometer input.
  • Android: Fixed a crash when returning to main Activity after downloading an OBB, when using development player.
  • Android: Fixed an issue where async updates of the TouchScreenKeyboard.text property would void any input from the keyboard.
  • Android: Fixed an issue where huge switch case statements could crash/yield the wrong result.
  • Android: Fixed an issue where the application would consume a significant amount of cpu even though the application was paused.
  • Android: Fixed an issue where the wrong activity might get launched by the editor.
  • Android: Fixed an issue where webcam textures would take over the entire screen on JB devices.
  • Android: Fixed an issue with missing features/permissions in the AndroidManifest.
  • Android: Fixed cpu detection, some devices reported more cores than was actually present.
  • Android: Fixed error message when current build is aborted by the user.
  • Android: Fixed issue on Adreno with skinning on gles11.
  • Android: Fixed loading data on devices where /data/app is symlink'd.
  • Android: Fixed problem with status bar being hidden even though 'Status Bar Hidden' was unchecked.
  • Android: Fixed Touch.fingerId discrepancy before and after an application has been paused/resumed.
  • Android: Fullscreen video now respects lights-out mode.
  • Android: Made sure correct screen resolution is set before Awake is called on scripts.
  • Android: Touches outside TouchScreenKeyboard no longer result in a cancelation event.
  • Android: TouchScreenKeyboard.text is now set to initial value on cancel.
  • Audio: Fixed deadlock in IT playback code.
  • Audio: Replacing the AudioClip on an AudioSource no longer affects playback speed if the clips have different sampling rates.
  • Audio: Sounds started by PlayOneShot are no longer stopped by Play.
  • Documentation: Fixed documentation of MonoBehavior stating Awake() is not called for disabled behaviours.
  • DX11: Fixed render-to-cubemap (including point light shadows) on DX10.0 level GPUs.
  • Editor: Project Browser.
  • Fixed so valid drag and drops in second column removes the drag label (OSX issue only).
  • Center preview when framing. This also makes it a better experience when changing preview size, since the selected item does not jump vertically.
  • Editor: Asset name are no longer allowed to be empty.
  • Editor: Ensure selection is framed in Object Picker when showing.
  • Editor: Fix a regression when GUI could be rendered in the wrong spot in deferred mode.
  • Editor: Fix file names for web players, if they project name contains a period ('.') character.
  • Editor: Fix that Object Picker showed script assets for MonoBehavior references.
  • Editor: Fixed all known issues with the results of "Generate Lightmap UVs" being different on Windows vs. Mac.
  • Editor: Fixed crash when loading fonts from asset bundles in editor.
  • Editor: Fixed scene view "Rendering Paths" visualization mode (got broken in 4.0).
  • Editor: Fixed text mode serialization of ProjectSettings
  • Editor: Fixed using asset folders with only 16-bit Unicode characters in their file names on Mac OS X.
  • Editor: Hitting Enter on an empty "open project" window will no longer crash the editor.
  • Editor: Immediate mode GUI windows closed during the Layout event will no longer crash the editor on Windows.
  • Editor: Import package window will now open to the last directory instead of the projects root.
  • Editor: Scripts will now receive an Update after they get recompiled and re-enabled.
  • Editor: Scripts will now receive Update events as the Game window is being resized.
  • Editor: The build player window will now default back to the active build target.
  • Fix crash when using an invalid Mesh on a SkinnedMeshRenderer
  • Fix mesh compression of skinned mesh bone weights.
  • Fixed "Out of memory" error when importing empty movie file.
  • Fixed bug in the Cache Server where it runs out of memory when uploading a lot of files to it and the disk speed is very slow.
  • Fixed crash during asset creation for scenes that do UnloadUnusedAssets() from within editor scripts.
  • Fixed crash when calling Mesh.GetTriangleStrip() on an empty submesh.
  • Fixed division-by-zero in keyframe reduction for empty clips.
  • Fixed division-by-zero in Quaternion.RotateTowards() when angle between quaternions is zero.
  • Fixed outputs from previous asset import not being cleared upon failed import.
  • Fixed TextureImporter Inspector to save settings correctly when disabling the platform overrides.
  • Graphics: Fix issue when calling Camera.Render () from an image effect. Validation now takes place to ensure that the camera you are calling Render on is not the currently rendering camera.
  • Graphics: Fixed error messages with a skewed camera matrix (also coming to 4.0.1 soon).
  • Graphics: Fixed multiple point light shadows not quite working in forward rendering.
  • Graphics: Fixed rare crash with richly formatted text rendering.
  • Graphics: Fixed shadow casting of Line & Trail Renderers.
  • Graphics: Respect Hard Shadows Only quality setting in Deferred rendering.
  • iOS: Fix WWW class to handle all 2xx HTTP status codes as successful.
  • iOS: Fixed an issue with native plugin inclusion when file name contains '~' symbol.
  • iOS: Fixed Camera.SetTargetBuffers issue on dx (it was considered to be rendering on screen always).
  • iOS: Fixed log output to device console when Xcode is not attached and device is running iOS 6.0 or later.
  • iOS: Fixed rare crash when acceleration events were delivered simultaneously from concurrent threads.
  • iOS: Fixed view stretching after device unlocking.
  • iOS: Main display rendering resolution can be changed correctly through both new and old API (fix for known issue).
  • License: Fixed issue with license expired errors on trials which were not yet expired.
  • Mac OS X Standalone: Fixed fullscreen mode bugs on OS X 10.6
  • Mecanim: Fix root motion when you have a CharacterController disabled, now the Animator should correctly apply the root motion to your GO when the CharacterController is disabled.
  • Mecanim: Fixed @ conventions for Humanoid animations.
  • Mecanim: Fixed character orientation not being correct on some assets.
  • Mecanim: Fixed crash when BlendTree child node as a 0 speed.
  • Mecanim: Fixed crash when deleting certain Sub StateMachine.
  • Mecanim: Fixed crash when editing a playing animation in DCC while game is playing.
  • Mecanim: Fixed deletion of multiple Transitions.
  • Mecanim: Fixed DeltaPosition/Rotation with generic animation.
  • Mecanim: Fixed Generic animation loosing root motion on additionnal masked layer.
  • Mecanim: Fixed mouth of character opening during Mirror.
  • Mecanim: Fixed revert button not working in Avatar setup tool.
  • Mecanim: Fixed spinning wrist on some retargeted animation.
  • Mecanim: Fixed State timing being wrong when editing Animation Start/Stop time.
  • Mecanim: Fixed undo of Parameter deletion.
  • Mecanim: Fixed warning when using ApplyRootMotion with Kinematic RigidBodies.
  • Mecanim: Generic Avatars do not show Configure button.
  • NavMesh: Fixed issue where agents isPathStale flag was not set correctly when changing walkableMask or navmesh layer cost.
  • NavMesh: Fixed issue where OffMeshLinks would sometimes wrongly generate two-way instead of one-way links.
  • NavMesh: Fixed issue where setting an invalid path on agent would return true.
  • Physics: Fix CharacterController.bounds.
  • Shaders: Fixed various issues in HLSL->GLSL shader translator; most notably nested loops now work properly.
  • Shuriken: Fixed a memory leak (also coming to 4.0.1 soon).
  • Shuriken: Fixed angular velocity setting range being clamped to 0..1.
  • Shuriken: Fixed crash on a particle system without a particle renderer.
  • Shuriken: Fixed wrong Shape in presence of parenting with scale (also coming to 4.0.1 soon).
  • Substance: Baking substances textures on X360 is fixed.
  • Substance: Fixed "Export Bitmaps".
  • Substance: isLoadTimeGenerated can be set again.
  • Substance: When baking compressed textures for iOS, only square PVRTC textures are baked.
  • Substance: when updating projects from older versions, substances should now have all their parameters displayed in the inspector.
  • Terrain: Fixed too dark unlit side in tree creator billboard shaders.
  • Time.deltaTime is now correctly set to 0 when starting up with Time.timeScale=0.
  • Web Player: Fix using WWW class in use cases where yield is never called on the WWW instance.
  • Web Player: Web player channels can now be used to downgrade a channel if a newer version then intended had been downloaded
  • Webplayer: Maximum bound socket count is now 50, addresses security issue.
  • Windows: Fix crash when hitting "Quit" in standalone player configuration dialog.
  • Windows: Fixed rare crash of standalone players when exiting back to desktop.
  • Xbox360: Fixed crash when calling Application.Quit in scenes containing XMA encoded AudioClips.

New in version 4.0.1 (January 11th, 2013)

  • Changes:
  • Android: Added a warning in the editor whenever a build is made with an outdated certificate.
  • Android: Added android as a valid build target for custom PostprocessBuildPlayer script.
  • Android: Added JB MR1 to the list of API levels.
  • EULA: Changed Embedded Software and Streaming and Cloud Gaming restrictions
  • Fixes:
  • Android: Improved build times for projects with lots of resources.
  • Android: Fixed Resources.Load() of prefabs consuming too much memory.
  • Android: Prevent NullPointerExceptions when using LVL on a device that is not signed in to Google Play.
  • Android: Detect manifest permissions for Application.genuine / .genuineCheckAvailable.
  • Android: Stereo sound enforced to avoid garbled audio when Mono is selected as speaker mode.
  • Android: TouchScreenKeyboard.text is now set to initial value on cancel.
  • Android: Touches outside TouchScreenKeyboard no longer result in a cancelation event.
  • Android: Fixed an issue where async updates of the TouchScreenKeyboard.text property would void any input from the keyboard.
  • Android: Fixed an issue with missing features/permissions in the AndroidManifest.
  • Android: Added workaround for Tegra shader compiler bug when texture samplers are not reported.
  • Android: Fixed issue on Adreno with skinning on gles11.
  • Android: Made sure correct screen resolution is set before Awake is called on scripts.
  • Android: Fixed error message when current build is aborted by the user.
  • Android: Fixed an issue where dictionary pop-ups would close the TouchScreenKeyboard.
  • Android: Application pause now cancels the TouchScreenKeyboard.
  • Android: Fixed Build&Run with Split Application Binary enabled, when running on a device with JB MR1 (OS 4.2) or later.
  • Android: Fixed a problem with non-ascii characters and keyboard input.
  • Documentation: Fixed iOS specific API docs, now they are back.
  • Editor: Fixed leak in the editor when loading a scene
  • Editor: Fixed rare crash when updating from 3.5 project
  • Editor: Fixed missing references to animation when updating from 3.5 project
  • Graphics: Fixed !IsNormalized error message when rendering a Camera with a skewed transform.
  • Graphics: Fixed reporting of TextureFormat.RGBA4444.
  • iOS: fix WWW class crash when loading files via file:// on iOS 4.x devices
  • iOS: Fixed reporting of GPS location data.
  • iOS: Better performance when setting RenderTexture that has different size from the current one.
  • iOS: Fixed gyro accuracy issue.
  • Lightmapping: Fixed lightmapping in some cases being much slower than 3.5.x.
  • Mac OS X and Linux Standalone: Fix free version splash screen rendering correctly in full screen mode.
  • Mac OS X Standalone: Fix window resolution not correctly restoring after going in and out of full screen mode.
  • Mac OS X Web Player: Fix Input.inputString when a text field is focused (this caused problems with NGUI).
  • Mecanim: Fixed a crash when you preview an animation on an avatar and the file containing this avatar is updated in an External tools.
  • Mecanim: Fix problem with deltaPosition and deltaRotation not being updated for Generic Rigs.
  • Mecanim: Fix crash when previewing transitions with a BlendTree that as a 0 speed child.
  • Mecanim: Fix getting NaN root transform in MatchTarget on IOS devices.
  • Shuriken: Fixed emitter shape being wrong shape when parented to another game object with scale.
  • Substance: fixed bitmap export.
  • Web Player: Fixed crash with 3.x content containing font data with invalid TrueType font names.
  • Web Player: Fixed fullscreen mode initialization in IE10 on Windows 8. Web Player now tries to detect whether it is running in a sandbox.
  • Windows Web Player: Fix the Web Player ticking code, so that it works smoother, fixing a performance regression from 3.5.5.
  • Fixed mesh assets created with 3.5.0 crashing newer versions of Unity when mixing compressed and non-compressed meshes.
  • Fixed a crash in which garbage collection of assets could cause broken references to those assets in script code.

New in version 4.0.0 (November 14th, 2012)

  • Highlights:
  • Mecanim, the new animation system to animate any character or object
  • Real-time shadows for all platforms
  • DirectX 11 rendering
  • Shuriken particle system updated with world collision functionality
  • Adobe Flash and Linux as two new platforms
  • Cross-platform dynamic fonts
  • Other Features:
  • Added a new development console to show error messages on screen in development player builds.
  • Android: Added Eclipse project generation.
  • Android: Support for APK Expansion Files (OBBs) - effectively enabling applications larger than 50Mb in the Google Play Store.
  • iOS: Screen.SetResolution now works on iOS too.
  • iOS: Target Resolution Player Setting was redesigned to better suite development workflow on multiple iOS devices. Two new “Auto (Best performance)” and “Auto (Best Quality)” settings allow Unity Runtime to choose most optimal rendering resolution according to device GPU capabilities.
  • Debugger: Web players can now be attached to and debugged just like standalones.
  • Editor: Add components and scripts to Game Objects easier and faster through the new Add Component drop-down directly inside the Inspector.
  • Editor: Create your own Inspector GUI for custom classes or attributes and see it used across all scripts that use those classes or attributes.
  • Fonts: Custom fonts can now use arbitrary character rectangles instead of a fixed grid.
  • Fonts: Font character placement properties are now accessible from scripting.
  • Fonts: Imported fonts can now be converted to editable custom fonts from the gear menu.
  • Gradient (known from the Shuriken editor) is now exposed to scripts: Gradient, GradientColorKey, GradientAlphaKey.
  • Navigation: NavMeshAgent supports prioritized levels of avoidance.
  • Navigation: NavMeshObstacle component added.
  • New Cursor API was introduced
  • License: New activation system was developed
  • New Web Player Update mechanism, which allows multiple runtime versions to be installed at the same time
  • Flash: Assembly validation for Flash supported/unsupported API's. If .NET feature or API is not available the validator will notify the user in the log, before compiling.
  • Plugins: Added Texture.GetNativeTexturePtr() that you can use in native code plugins. Can now directly access textures on non-OpenGL platforms as well! Example plugin in Low-level Native Plugin Interface documentation page shows how to.
  • Optimizations:
  • Editor: Optimize Console window memory usage with high log entry counts.
  • Editor: Optimized Hierarchy View for very large number of root objects.
  • Editor: Optimized DXT compression of textures; better uses all CPU cores now.
  • Editor: Detecting if assets need to be reimported when switching platforms is much much faster.
  • Editor: Made entering playmode faster by reducing the number of domain reloads.
  • Flash: Made performance improvements when calling functions taking or returning an array of structs.
  • Flash: Made dramatic memory usage reduction.
  • Flash: Optimizations were done by recycling actionscript objects for value types such as Vector3, and by being smarter about when to not have to copy them.
  • Mac OS X: Dynamic geometry optimization via ARB_map_buffer_range & APPLE_flush_buffer_range.
  • Meshes: Mesh.MarkDynamic; use this for meshes which you modify from scripts a lot.
  • Mobile: added RenderTexture.DiscardContents - discards previous RT contents via EXT_discard_framebuffer or explicit clear.
  • Particles: Optimized legacy particle systems via prefetching.
  • Physics: Physics simulation is now using SSE2 on windows for better performance and to make simulation consistent with Mac OS X.
  • Rendering: Point & spot lights in forward rendering use scissor rectangle optimization.
  • Rendering: Unity skips rendering lights that have intensity smaller than 0.01.
  • Rendering: Optimized Color32 multiplications (particles, lightmapping, …).
  • Skinned Meshes: Optimized performance & memory usage by keeping static data (UVs & colors) in a separate vertex stream.
  • Static batching: Compress vertex data to half-precision floats on platforms that support them; and save memory by unloading batched geometry after it's sent to the graphics card.
  • Static batching: Optimized static batching code.
  • Threading: Optimized multithreaded job scheduler (used for skinning, Mecanim, Shuriken, shader compilation, texture compression). It “multithreads more efficiently” now.
  • Fixes:
  • Android: Added exception checking / propagation for script-based JNI Calls (AndroidJava* / AndroidJNI*).
  • Android: Loading a lot of assets through Resources.Load() could create a memory-leak-like behavior - this has been fixed.
  • Android: Fixed a rare case where libmono.so / libunity.so would not load due to "unable to link library".
  • Android: Cases with extremely slow loading times, when re-reading scene assets, has been fixed.
  • Android: The automatic binary splitting (for APK Expansion (.obb) support) was incorrectly omitting some files when using the Windows editor.
  • Android: Korean fonts were not rendered correctly on some Android devices.
  • Android: PlayerPrefs values queried with the wrong type would cause Java exceptions and application termination.
  • Android: Added additional registry entries to search when looking for the JDK installation on Windows.
  • Android: Requested RGBX32 instead of transparent when 32bit display buffer is selected.
  • Android: Workaround for mali and ics resulting in crash with shader that sample texture in vertex program.
  • Android: Crash when pausing/resuming on OS 4.1 / Jellybean has been fixed.
  • Android: If system environment variable JAVA_TOOLS_OPTIONS was set it could prevent the .apk to be signed.
  • Android: Webcam Texture now works on LG Optimus 3D (with OS 2.2 / Froyo).
  • Android: Portrait upside down orientation caused errors when building the .apk.
  • Android: EGL context recreation is fully supported (when pausing/resuming, or changing DisplayBuffer bit-depth, or anti-aliasing).
  • Android: Enforce that System.Net.Sockets use is only allowed with an Android Pro license.
  • Android: Added workaround for ARM Mali-400 GL ES 1.1 drivers sometimes referencing disabled vertex attrs (caused a crash).
  • Android: Script debugging yields/coroutines could sometimes cause a crash - this has been fixed.
  • Android: Application.streamingAssetsPath was incorrectly adding a slash before the jar delimiter (/!).
  • Android: Fixed failing to build signed APKs on Windows.
  • Android: Webcam resolution and frame rate selection is now more accurate.
  • Android: Webcam now works on Ice Cream Sandwich and JellyBean devices.
  • Android: Webcam now works on Motorola and OMAP devices.
  • Android: Microphone resources are now properly released when pausing the application.
  • Android: Audio should now play without any clicking noise on Kindle and Nook, although latency is still pretty bad.
  • Android: It should now be possible to play and record audio at the same time.
  • Android: Gyro.attitude did not compensate for screen orientation, nor device natural orientation (phone/tablet) - this has been fixed.
  • Android: Restarting an application right after calling Application.Quit() could cause a race condition between quitting the old and starting the new process.
  • Android: Input.multiTouchEnabled was returning false before the screen received an initial touch.
  • Android: Changed some tags in the AndroidManifest to have required="false".
  • Android: Fixed a problem where non-development ('release') builds would fail to load on devices with kernel 3.4 and later.
  • Android: Autorotation with only either portrait or landscape modes is now enforced by the manifest as well.
  • Android: Back button will quit the application while the first level has not yet been loaded.
  • Android: Renamed GameView resolutions to HVGA, WVGA, ..., and added WXGA (1280x800).
  • Android: Runtime class Ping now works.
  • Android: Added PowerVR performance stats to the internal profiler.
  • Android: Fixed a problem where multiple screen touches would lead to incorrect touch phases (especially during low framerate situations).
  • Android: The detection zone for screen touches resulting in increased tap count has been made resolution independent.
  • Android: Kindle Fire incorrectly reported having a camera.
  • Android: Fixed startup rotation when device is held in landscapeRight.
  • Android: Fixed an issue where the device might go to sleep before any script code was invoked.
  • Android: Added a wake lock to fullscreen video to make sure the device doesn't go to sleep during video playback.
  • Android: Fixed auto-rotation problem in landscape/reversed landscape on Kindle Fire HD.
  • Android/iOS: Incorrect mouse hover events stemming from screen touches has been fixed.
  • Android: Fixed an optimization error which could cause javac to crash/fail when loading UnityPlayer class.
  • Android: SystemInfo.deviceUniqueIdentifier is anonymized by calculating the MD5 sum of IMEI/MEID, ANDROID_ID or WiFi MAC - whichever is available.
  • Android: SystemInfo.deviceUniqueIdentifier didn't automatically add the right permissions in the manifest.
  • Android: Switched to Bouncycastle for keystore certificate creation.
  • Android: On pre-Gingerbread devices 16bit DisplayBuffer is no longer enforced (and fallback from 32bits to 16bits buffer is handled gracefully). Worked around compositor issue with DisplayBuffer alpha on pre-Honeycomb devices.
  • Android: Made sure Ping cannot hang (times out after 5s).
  • Android: Added JB (4.1) to the list of SDK APIs.
  • Android: Fixed crash on Kindle when quitting without ever pausing.
  • Android: Changing system time/date while application was running would cause an ANR.
  • Android: Fixed camera initialization on platforms without FPS range support.
  • Animation: Exposed ModelImporter.generateAnimations as a bool, to allow control of over imported animation from an asset file.
  • Animation: Fixed a bug where animation wouldn't play if it's out of frustum and cullingType is switched to AlwaysAnimate in runtime.
  • Audio: Fixed problems playing back audio files whose paths contain special characters.
  • Audio: Fixed problems displaying audio files whose paths contain special characters in the inspector.
  • Audio: Fixed reverb filter diffuse slider inconsistency.
  • Audio: Fixed looping issue on tracked music files.
  • Audio: Fixed length determination for tracked music files.
  • Audio: Fixed m_IgnoreListenerVolume property (was not working in the expected way).
  • Audio: Fixed the length property of an AudioClip to be more accurate in the case of MP3s.
  • Audio/video: Gracefully handle importing corrupt OGG container assets.
  • Audio: Fixed crashes when using audio clips with read callbacks.
  • Audio: Various fixes related to handling of special characters.
  • Audio: Fixed incorrect display of waveform preview.
  • Audio: Fixed rare deadlocks.
  • Audio: Hardened AudioClip SetData and GetData to when the array argument is longer than the clip itself.
  • Asset Import: Default assets generated for failed imports are now persisted correctly.
  • AssetStore: Fixed out of memory crash when downloading large packages.
  • Bugreporter: Fixed the issue that log files would not be shown in bug reporter window, even though they existed.
  • Cache Server: Fixed connection problem when downloading assets.
  • Cache Server: Fixed other connection issues.
  • Debugger: Fixed hangs/deadlocks when debugging multithreaded script code.
  • Debugger: Fixed crash on debug-time evaluation of generic methods.
  • Documentation: Fixed script reference History page to reflect reality again.
  • Editor: Fixed crash when calling Close in the OnFocus callback.
  • Editor: Fixed object selector not working for ObjectFields in GUI.Window.
  • Editor: Fixed some vertically misaligned buttons in the dark skin.
  • Editor: Fixed EditorExtensionImpl showing up in the Project view in some projects imported from 3.4.
  • Editor: Will now use project name instead of the build file name as the title for published web players.
  • Editor: Scenes in Build Settings no longer get reordered alphabetically.
  • Editor: Undo now working if movement is cancelled by right click.
  • Editor: Fixed error message when resizing arrays.
  • Editor: Fixed crash when changing asset serialization to text mode.
  • Editor: Fixed hang when play mode is exited while a download is in progress.
  • Editor: Fixed crash when selecting multiple ScriptableObjects of different types.
  • Editor: Scene view uses the same rendering path as main camera. Much less confusion!
  • Editor: Soft particles usage hint in Quality Settings UI.
  • Editor: Screen.width and Screen.height much more consistently report actual game view size when used outside of editor window GUI code.
  • Editor: Made default values for sphere & capsule colliders use 0,0,0 for the center (it previously was not precisely zero due to floating point inaccuracies).
  • Editor: Made the TextMesh inspector automatically change the material of the MeshRenderer when the font is changed.
  • Editor: Properly reset MovieTextures when entering play mode.
  • Editor: Fixed crash if importing an AudioClip fails during project re-import.
  • Editor: Fixed null ref when using "Open" button in the inspector for model files in some cases.
  • Editor: Fixed errors about not being allowed to access targets array.
  • Editor: Fixed profiler using deep profiling when exceptions occur.
  • Editor: Fixed DnD references being empty during DragExited after a DragPerform.
  • Editor: Update visible rect when horizontal scrollbar is needed because vertical scrollbar is used.
  • Editor: Clamping of the scroll position to account for the visible rect of the scrollview.
  • Editor: Fixed scrollview returning scroll position out of view rect size when using scrollwheel.
  • Editor: Correctly handle when null string is passed to a TextField.
  • Editor: Don't show Display Resolution Dialog when using CTRL-B from the editor and it's turned off.
  • Editor: Fixed EditorWindow.ShowPopup with initial position of 0, 0 not rendering correctly.
  • Editor: Fixed missing bold font in some inspectors (e.g. FBXImporter).
  • Editor: GizmoType.NotSelected attribute for DrawGizmo works correctly.
  • Editor: Component menu now handles custom namespaces.
  • Editor: Light probes are selectable in search mode.
  • Editor: Excess flood of Animation clips is not confusing the model importer inspector.
  • Editor: EnumMaskField returns consistent value when every item is selected.
  • Editor: Textfield word wrapping fixes.
  • Editor: Display names of colliding enumeration values in inspector
  • Editor: Fixed problem with the Asset Store window on retina display Macbook Pros.
  • Editor: Fixed hang while closing if plugins had created their own native threads.
  • Editor: Fixed odd drawing behavior when attempting to resize welcome screen.
  • Editor: GUI.color is reset properly for every CustomEditor
  • Editor: Fixed profiler causing an Out of Memory error in the console.
  • Editor: Improved error reporting when exporting a Unity package.
  • Editor: Fixed a bug where ARGB16 textures loaded from AssetBundles built for iOS/Android would load incorrectly.
  • Editor: Editor doesn't hang anymore if exiting while in play mode.
  • Editor: Made entering playmode faster by reducing the number of domain reloads.
  • Editor: Fixed null reference exception when a MonoBehaviour is missing in the inspector. Instead we display helpful warnings embedded in the inspector.
  • Editor: Fixed issue in fbx importer where prefab instance modifications would in some corner cases get applied to a different object on a different machine
  • Editor: Fixed bug where calling LoadLevel in OnDestroy when exiting playmode could lead to a crash.
  • Editor: Fixed bug where the import settings were not updated when a .meta file is changed.
  • Editor: Fixed various leaks in the asset import pipeline when importing large project folders.
  • Editor: Fixed prefab override recording issue where modifications would not get applied to array elements if the prefab array is empty and the size value was overridden after the property was overridden.
  • Editor: Fixed warning when changing import settings on a lot of fbx files.
  • Editor: Fixed crashbug when clicking on Apply prefab button in the game object inspector when the prefab would add / remove components on awake in edit mode.
  • Editor: Fixed drag and drop behaviour when dragging child prefab objects.
  • Editor: Improvements to Light Probe editing: don't change selection when duplicating them; render editable ones on top of baked ones.
  • Editor: Wireframe and Textured Wireframe scene view modes take actual vertex & tessellation shaders into account now.
  • Editor: Fixed import of .EXR files with alpha channel.
  • Editor: Invoked OnFocus/OnLostFocus when switching tabs within the same DockArea.
  • Editor: Disallowed hiding cursor when GameView is out of focus.
  • Editor: Fixed crash caused by scene view overlays.
  • Editor: Fixed box collider handles not matching box collider gizmos.
  • Editor: Text fields support OS standard behavior of Command + Backspace deleting everything from the start of the current line to the cursor position.
  • Editor: Cleaned up LOD group inspector (button alignment, text clipping).
  • Editor: Make Unity 1.x GUI components never be shown in the Scene View.
  • Editor: Changed order of calculations during model import to improve normal calculation.
  • Editor: EditorUtility.CopySerialized now works correctly for components.
  • Editor: Fixed a bug where generated OS X icons would occasionally get corrupted.
  • Editor: Fixed a bug where the editor would fail to open projects if the root Assets folder has a .meta file.
  • Editor: Fixed delay when bringing up shader selection menu for the first time (4.0: fixed delay when bringing it up each time).
  • Editor: Fixed potential crash when editing multiple objects and resizing arrays.
  • Editor: Fixed Rendering Paths scene view mode to take camera's render path into account, not only what the shaders are capable of.
  • Editor: Fixed WebPlayer building code; now it does not try to recreate the outermost directory (a user might not have sufficient filesystem access rights anyway).
  • Editor: Allow for cmd+c and ctrl+c to be used on a SelectableLabel.
  • Editor: Do not show cut/paste context menu action for SelectableLabel
  • Editor: Popup windows no longer flicker for a frame on OSX.
  • Editor: Audio preview in Scene View now works correctly without any Audio Listeners in the scene.
  • Editor: Fix some importer inspectors constantly repainting.
  • Editor: Fix key navigation to assets store groups while showing local assets.
  • Editor: Fixed windows standalone icons alpha issues.
  • Flash: Replace no longer ignores parens.
  • Flash: Several code conversion issues resolved.
  • Flash: NavmeshPath can now be instantiated correctly.
  • Flash: Fixed translation of some shaders (e.g. Refractive Glass was causing errors).
  • Flash: Made AsyncOperation work.
  • Flash: Fixed division by long and ulong.
  • Flash: Fixed bug where assigning a struct to an object or interface would introduce two pointers to the same struct instead of two copies.
  • Flash: Fixed several cornercase bugs in support for generics.
  • Flash: Properly initialize fields of type DateTime in structs instantiated with default constructor.
  • Flash: Fixed memory corruption crash if WWW response .Length didn't match actual length of payload.
  • Flash: Support ++ and -- on arguments that are passed byref, whose result is assigned to an array.
  • Flash: Fixed mouse visibility bug.
  • Flash : Fixed equality comparison for ValueTypes.
  • Flash : Fixed hashtable comparison.
  • Flash : Fixed enum comparison
  • Flash : Fixed enum to enum cast.
  • Flash : Fixed keyboard input handling and TextArea input (control, delete, space, arrow keys).
  • Flash : Generic collections now work with interfaces.
  • Flash : Fixed crash when www.audioclip was used in a coroutine.
  • Flash : SweepTestAll now works.
  • Flash : UnityEngine.Flash.FlashPlayer allows retrieval of target player and swf version.
  • Flash: Fixed rare condition in which we ran out of stack space, resulting in an out of range error.
  • Flash: Fixed issues with anonymous delegates.
  • Flash: Implemented delegate comparison.
  • Flash: Implemented Double.TryParse.
  • Flash: Input.inputString now works.
  • Flash: No more compiler crashes on incorrect SWF dimensions.
  • Flash: Key repeat works.
  • Flash: Fixed NewInstance for Enum value types
  • Flash: Fixed getter/setter generation for System.Array.
  • Flash: Don't show Development Build watermark in non-dev builds.
  • Flash: Fixed issues with anonymous delegates.
  • Flash : Fix string marshalling. Now consistently UTF8.
  • Flash : Fix dynamic font textures generated larger then Flash max texture size (2048*2048).
  • Flash : Fix dynamic font generation trashing memory.
  • Flash : Fix invalid agal generated for cube map samplers.
  • Flash : Fix backbuffer being cleared because of rtt.
  • Flash : Fix type inference for float division.
  • Flash : Fix issue with loitering objects in finalizermaps.
  • Flash : Fix issue with converted GetHashCode code being invalid when generated from a MS compiler.
  • Flash : Implemented Char.ConvertFromUtf32
  • Flash : Improved support for System.Convert
  • Flash : Adding support for TryParse for additional data types.
  • Font rendering: Fixed position of text cursor when a custom font size is used for the TextField.
  • Font rendering: Fixed kerning.
  • Graphics: Fixed crashes that sometimes occurred on OpenGL with mismatched GL.Begin/GL.End pairs.
  • Graphics: Fixed TrailRenderer culling issue.
  • Graphics: Don't break batching based on shadow distance when there aren't any shadow casting lights.
  • Graphics: Properly take line width into account when adding points to LineRenderer.
  • Graphics: SubShader tags (render queue etc.) take shader LOD into account properly now.
  • Graphics: Free up temporary memory used by non-uniformly scaled mesh when deactivating a mesh renderer.
  • Graphics: Static batching performs better when there are multiple lightmaps in the scene (before it could run into cases where it wasn't batching much).
  • Graphics: Fixed memory leak in Material.CopyPropertiesFromMaterial.
  • Graphics: Fixed a rare "invalid angle: inf" error message with terrain and shadows.
  • Graphics: Fixed Camera pixelWidth/pixelHeight/aspect queries done from Editor code being really confusing. Before, it was using the size of last drawn editor view for the calculations. Now, for regular cameras, Game View size is used.
  • Graphics: Fixed crash in Shuriken mesh particles, when source mesh has no normals or tangents.
  • Graphics: Fixed errors with statically batched meshes that are later modified by a script.
  • Graphics: Fixed issue with Deferred rendering and wireframe Scene View mode.
  • Graphics: Fixed various issues with shaders in asset bundles. E.g. you can actually put terrain with trees into an asset bundle, and the billboard shaders will work, without having to jump through various hoops.
  • Graphics: Properly include all shaders into game data files when editor is in "-nographics" mode.
  • Graphics: Batched Shuriken draw calls were not accounted for in the game view stats window.
  • Graphics: Don't load Occlusion Culling data in non-Pro editor licenses.
  • Graphics: Fixed console error messages when a terrain tree prefab is missing.
  • Graphics: Smoother framerate on Windows when using vsync.
  • Graphics: Fixed Screen.resolutions reporting zero for refresh rate in some cases.
  • Graphics: Fixed crash when using additive scene loading with missing lightmaps.
  • Graphics: Fixed small memory leak when loading shaders with syntax errors; made shader loading a bit faster as a byproduct ;)
  • Graphics: Fixed error messages in some situations when calling camera.Render from editor scripts.
  • Graphics: Fixed surface shader finalcolor modifier sometimes producing wrong results.
  • Graphics: Limit maximum texture size to 4096 on Retina MacBookPros due to OS X driver bugs.
  • Graphics: Removed limitation that Windows Standalone game window can't reach whole desktop screen size.
  • Graphics: On Linux, fixed lower resolution blit texture getting broken due to quality settings change.
  • Graphics: Improved deferred lighting depth buffer sharing workaround for some OpenGL systems. Mostly, much faster now on some Linux GPUs/drivers.
  • Graphics: Fixed different mesh compression setting to actually make a difference (previously it would always use "Low" compression, regardless of setting).
  • Graphics: Fixed some issues with Fog on Direct3D 9; in rare cases with some complex shaders it was not working properly.
  • Graphics: Fixed HDR rendering being off in the very first frame.
  • Graphics: Fixed Camera.hdr returning wrong value when called before render.
  • Graphics: Fixed occasional errors being reported when rendering objects with zero scale.
  • IMGUI: Fix BeginHorizontal not displaying content/tooltip when using GUIStyle.none.
  • Image Effects: Fixed Flash-related warning messages when importing Image Effects package.
  • Image Effects: Fixed Global Fog on Windows when MSAA is used.
  • Input: Fixed OnMouseDown and related callbacks being wrongly sent to cameras that render into RenderTextures.
  • Input: Gamepad buttons are now correctly initialized again.
  • iOS: Fixed Xcode crash when native plugin uses "+" in the name.
  • iOS: Fixed iPad splash handling when starting in portrait.
  • iOS: Made various orientation fixes.
  • iOS: Corrected texture atlas padding.
  • iOS: Fixed skinning corrupting UVs.
  • iOS: Fixed crash on suspending app while playing video.
  • iOS: Fixed recognition of more recent iPhone4/4S models.
  • iOS: Fixed various crashes when Script Call Optimization set to "fast but no exceptions".
  • iOS: Fixed text-area behavior when on-screen keyboard is hidden.
  • iOS: Fixed Screen.orientation on the first frame on iOS6.
  • iOS: Fixed interoperability of DisplayLink mode and iOS native UI.
  • iOS: Fixed iOS splash screen image not being released after game starts.
  • iOS: Fixed www.uploadProgress support.
  • iOS: Fixed loading indicator position.
  • iOS: Small GPU profiling (in the internal iPhone profiler) improvement.
  • iOS: Fixed basic license splash screen issue with Xcode 4.5.
  • iOS: Fixed support for native methods inside of inner classes.
  • iOS: More fixes to initial orientation handling.
  • iOS: Unity Remote support updated to work better with input compensation for screen orientation.
  • iOS: Fixed Screen.dpi for iPad Mini.
  • Javascript: Fixed error checking for array indices.
  • Javascript: Fixed regression on 'not in' operator. Operator has been brought back.
  • Javascript: Introduced 'for each' syntax for better compatibility with other javascript dialects.
  • Lightmapping: Fixed "Generate Lightmap UVs" difference between Windows & Mac!
  • Lightmapping: Fixed handling degenerate triangles in UV space, Beast no longer spits out "TexBakeSampleGenerator: Non-invertible matrix".
  • Lightmapping: Skipping tree instances that reference a prototype without a mesh.
  • Lightmapping: Improved error messages when failing to bake Light Probes; when meshes have UVs outside 0..1 range, when meshes have missing UVs.
  • Lightmapping: Take texture tiling into account for materials with cutout shaders.
  • Lightmapping: Fixed issues with some emissive materials.
  • Lightmapping: Fix harmless error when lightmap baking an unsaved scene on Mac.
  • LOD: Fix double GUI repaint error when caused by reparent renderers dialog.
  • Mobile: Better RenderTexture.DiscardContents implementation.
  • Mobile: Fixed wrong lighting when dynamically batching uniformly scaled meshes.
  • Mac OS X Editor: Fixed window focus issues when using a multiple screen setup in OS X 10.8 Mountain Lion.
  • Mac OS X: Event.clickCount behavior for double-clicks now matches windows (clickCount is always 1 for MouseUp events).
  • Mac OS X: Don't freeze Unity content when the System clock is changed while running.
  • Mac OS X: PlayerPrefs keys will now work if they contain an '@' character.
  • Mac OS X: Fix Webcam textures with non-native resolutions correctly picking up the desired texture size.
  • Mac OS X: Fixed some graphics issues on dual-GPU Mac models, e.g. editor windows occasionally becoming all white.
  • Mac OS X: Fixed Crash on quit if profiling had been enabled.
  • Mac OS X Standalone: Fixed problems when writing OS X icon format, leading to broken icon graphics in some cases.
  • Mac OS X Standalone: Used OS X Lion style fullscreen mode, to allow other windows to show up in front of fullscreen apps, and to allow switching in and out of fullscreen mode by clicking onto the fullscreen button in the window title bar (optional).
  • Mac OS X Standalone: Fix hiding of window when GameCenter is activated.
  • Mac OS X Standalone: Changed event processing to allow other windows to receive keyboard events, to allow better integration with OS services such as GameCenter using plugins.
  • Mac OS X Web Player: Made IME support work in all Mac browsers.
  • Mac OS X Web Player: Fixed focus handling when the browser is switched to the background or the user switches to another window/tab.
  • Mac OS X Web Player: Fixed memory leak.
  • Mac OS X WebPlayer: Fixed OnApplicationPause being called when window goes to the background.
  • Math: Fixed Plane.SameSide equation side error.
  • Misc: Improve Time.smoothDeltaTime so it's not affected by pausing/unpausing.
  • Native Client: Fixed download of JPG files as textures.
  • Native Client:: Fixed problem where preferences might get lost when the player is closed while writing preferences to disk.
  • Native Client: Fixed deadlock when loading mono DLLs.
  • Native Client: Fixed Build & Run with Chrome 23.
  • NavMeshAgent : Fix crash querying nextOffMeshLinkData when having no navmesh in scene.
  • NavMeshAgent: Fixed bug where Resume breaks updateRotation setting.
  • NavMeshAgent: Path request processing queue order fixed.
  • Physics: Fixed problem where CCD would incorrectly detect collisions if the center or scale of a collider was changed.
  • Networking: Fixed case where a MasterServerEvent.HostListReceived was triggered for each host in a host list.
  • Networking: Fixed problem with connecting to password protected servers with NAT punchthrough.
  • Player: Fixed race condition in WWW class that could cause a crash when aborting download.
  • Physics: Fixed MeshCollider not working if it had been scaled to be zero sized, and then scaled up again.
  • Physics: Fixed a bug where Raycasts against CapsuleColliders with a zero-length middle section would not always return correct results.
  • Physics: Fixed a bug where destroyed colliders would not be properly deallocated if Time.timeScale was zero.
  • Physics: Fixed colliders being properly inactive when they are on inactive child game objects of the rigidbody.
  • Physics: Fixed collision between two triggers to send OnTriggerEnter events to both triggers and both rigidbodies for consistent results.
  • Physics: Fixed memory leak when Time.timeScale is zero.
  • Physics: Fix problem with activation order when recursively activating hierarchies, causing rag dolls not to function properly in some cases.
  • Physics: Fixed a bug where rigidbody interpolation would have an effect on physics simulation results.
  • Physics cloth: Fixed tangents to match initial rotation of object.
  • Prefabs: Duplicating game objects with references to abstract classes behaves more reliable.
  • Profiler: Fixed hang on editor or player when connection could not keep up with the data.
  • Profiler: Made the profiler skip frames instead of freezing up if editor lacks behind player.
  • Profiler: GC memory was not propagated correctly up the call hierarchy.
  • ProfilerConnection: Fixed inifinite loop freeze if profiler sendbuffer is full on the player.
  • Scene View: Fix scene editor camera becoming locked out from user control.
  • Scripting: Added overloads to EditorGUI.IntSlider so it can take SerializedProperties.
  • Scripting: Fixed crash when calling material.GetFloat(null).
  • Scripting: Fixed crash when a component destroys itself while AddComponent is trying to create it.
  • Scripting: Fixed crash calling Resources.Load before resources have been imported.
  • Scripting: Fixed bug where AssetBundle.LoadFromFile would get unloaded by UnloadUnusedAssets.
  • Scripting: GameObject.Find will now correctly find children of objects of the same name as other objects which don't have children of that name.
  • Scripting: Fixed crash when a gameObject is being destroyed while calling SendMessage on it.
  • Scripting: Fixed script serialization bug where properties could not be #if-ed out for the player.
  • Serialization: For non-webplayer-targets, scenes (implicitly) referencing assets placed under the Resources folder will now always have the assets placed together with the scene (and not in the resources.assets).
  • Shaders: Fog shader variables (unity_FogColor etc.) are set to produce no fog when it's off.
  • Shaders: round() and trunc() HLSL functions are now supported when compiling shaders for mobile.
  • Shaders: Updated HLSL-to-GLSL shader compilers; fixes some complex mobile shaders (e.g. Tree Creator ones, or Edge Detection image effect on some mobile GPUs).
  • Shaders: Fixed compile errors in some cases where custom directional lightmap lighting function is used.
  • Shadows: Fixed shadow caster culling when light direction is exactly parallel to one of camera's frustum planes.
  • Shuriken: Fixed particle system randomness. There should be a lot less visible correlation between parameters when using random between curves and values.
  • Shuriken: Can't remove disabled UI modules, gizmo scaling issue, simulation preview issues when scrubbing.
  • Shuriken: Fixed sub-emitter memory leaks, occasional crash.
  • Shuriken: Gracefully handle when mesh is invalid, instead of leaving the emitter in a bad state.
  • Shuriken: Fixed crash if using mesh particles without UVs.
  • Standard Assets: Projector uses smaller, but uncompressed textures; to avoid artifacts when looking from a distance.
  • Substances now handles iOS non-square unsupported PVRTC.
  • Substance: Fixed baking issues on unsupported platforms (Android, iOS, Flash).
  • Substance: Lower memory consumption in the Editor when importing projects and switching color space.
  • Substance: Fixed runtime re-generation of substances with bitmap inputs.
  • Substance: "Generate all outputs" now displays all generated textures in the Inspector.
  • Substance: Fixed cloning substances in the Inspector.
  • Substance: Fixed bitmap export.
  • Substance: Fixed several erroneous error messages appearing in the log.
  • Terrain: Fixed error messages when painting terrain grass with negative sizes, and when adding some tree models.
  • Terrain: Terrain renderer no longer causes invalid memory accesses during rendering traversal.
  • Time: Fixed timescale usage when single stepping.
  • UV generation is now more deterministic between platforms since it is performed prior to scaling of vertices.
  • UnityObject: The default templates works nicely over https now.
  • UnityObject: Running a offline build locally will not break the default templates.
  • WebCamTextures: Fixed error message when querying list of available devices while WebCams are in use.
  • Web Player: Application.dataPath will now work correctly if the player URLs has slash characters in the url parameters.
  • WebPlayer: Fixed the plugin ticking routine. It is simpler and less error prone.
  • WebPlayer: Updated the builtin resources; now there is a distinction between "Made with Unity 4 Beta" and "Unity 4 Beta" plugin.
  • WebPlayer: Fixed a variety of crashes when plugin was running on IE9.
  • Webplayer: Crash logs now contain stacktrace.
  • Webplayer: Fixed memory overwrite on startup when running in-process on Firefox.
  • WWW Class: Fixed parsing text encoding if the encoding http header contains more parameters.
  • Windows: Improved StackOverflowException handling in scripts.
  • Windows: Fixed issues with 64-bit player not launching when non-latin characters in path.
  • Windows Editor: Messages with "Failed: The operation has completed successfully" should not be presented anymore when operations on files fail.
  • Windows Editor: Fixed extracting .unitypackage files containing extended Unix file attributes.
  • Windows Editor: Asset Store window now works correctly in OpenGL mode.
  • Changes:
  • Android: New Unity3d splash screen.
  • Android: The video player activity has been removed. Fullscreen video is still supported but not as a separate activity.
  • Android: "Google Play OBB Downloader" is now available in the asset store. The plugin can be used on devices that does not support automatic downloading of APK Expansion Files".
  • Android: "Google Play Application License Verification" is now available on the asset store and thus no longer embedded in the standard distribution.
  • Android: Removed XY axis mismatch for Android input. Now out of the box it should match iOS input. Requires code refactoring!
  • Editor: Requires a DX9-capable GPU now (pretty much anything since 2004).
  • Editor: PreferenceItem attribute now works on private static methods.
  • Editor: Added new default window layout.
  • Editor: When in OpenGL ES 1.1 graphics emulation, maximum texture size increased from 1024 to 2048 now.
  • Editor: Temporary meshes created by GUI texts are excluded from vertex buffer count/size statistics in game view.
  • Editor: If necessary, build dialog now automatically performs a "Switch Platform" when pressing "Build" or "Build & Run" (fixes class layout build errors some have encountered).
  • Editor: Positive values are enforced in Terrain Detail Wizard.
  • Editor: Prevent multiple editors from opening the same project on OSX.
  • Flash: Removed support for Flash Player 11.0 and Flash Player 11.1; players both had serious bugs in memory opcodes. Unity now defaults to Flash 11.2 as target player.
  • Flash: Disabled GrabPass shaders; they now behave like in Unity non-Pro instead of rendering
  • nothing. Flash can't support GrabPass due to Stage3D limitations.
  • GameObjects: Active state is now recursive. If a GameObject is inactive, all children will inherit that state.
  • GameObject.active is now deprecated to make users aware of the new behavior. GameObject.SetActive() or GameObject.activeInHieararchy should be used instead.
  • Graphics: Low-level rendering API (Graphics and GL classes) do not require Pro license anymore.
  • Graphics: Marked Get/SetTriangleStrip on Mesh as obsolete
  • Input: Removed support for assigning an input axis of window movement (only ever worked on Mac).
  • iOS: removed Unity-iPhone-simulator build target from Xcode trampoline. Now simulator specific changes are backed directly into Unity-iPhone build target. It still requires to rebuild Xcode project after switching between device and simulator SDK.
  • iOS: PVRTC compressor updated.
  • iOS: added iOS 6.0 OS target.
  • iOS: SystemInfo.deviceModel now returns full device name, including revision number.
  • iOS: Exposed AOT.MonoPInvokeCallbackAttribute custom attribute. Passing managed delegates to native functions is now possible, though limited to static methods only.
  • iOS: PVRTC compressor upgraded to imgtec 3.0@2144429.
  • iOS: Gyro and other sensors implementation moved to the trampoline. Provides more possibilities for customizations.
  • iOS: Now iOS sensors follow screen orientation. No more complicated code for axis remapping! This can be switched off via Input.compensateSensors. Requires code refactoring!
  • iOS: Removed unneeded one frame of latency (presentRenderBufer moved to the end of Repaint).
  • iOS: Added iPad Mini and iPad 4gen to iPhoneGeneration.
  • Prefabs can now have an active state which is copied to instances on instantiation.
  • Mobile: ARMv6 is not supported anymore.
  • Model Importing: Model importer no longer triangle strips but does vertex cache optimization if mesh GPU optimization is turned on. GPU optimization is turned on by default.
  • Model Importing: When using the new animation import mode, Unity will no longer attempt to move the SkinnedMeshRenderer to the root bone.
  • Native Client: NaCl is now it's own BuildTarget instead of a checkbox in the WebPlayer build target.
  • NavMeshAgent: Avoidance priority made consistent with e.g. audio priority: Most important = 0. Least important = 99. Default = 50. Loading older scenes will reset agent avoidance priority to new default value (50).
  • Scripting: Removed SceneView.RenderMode from Editor API(was not documented, but public). Use the documented DrawCameraMode instead.
  • Scripting: Development player emits warnings when accessing the script API from the wrong thread (or using explicit object initializers).
  • Scripting: OnEnable no longer changes the execution order of Awake. Execution order for scripts is now much more consistent. The call to OnEnable always comes immediately after Awake.
  • Substance: Added "Bake and keep" and "Bake and discard" load behaviours, to allow the baking of bitmaps on supported platforms.
  • UnityObject: Deprecated, and will no longer be used when building a WebPlayer.
  • UnityOject2: New install script when building the WebPlayer, replaces UnityObject giving more flexibility to developers.

New in version 3.5.6 (October 4th, 2012)

  • Fixes:
  • Audio: Fixed AudioClip SetData and GetData to handle when the array passed in is longer than the clip itself.
  • Android: Fixed a rare case where libmono.so / libunity.so would not load due to "unable to link library".
  • Android: Added exception checking / propagation for script-based JNI Calls (AndroidJava* / AndroidJNI*).
  • Android: Enforce that System.Net.Sockets use is only allowed with an Android Pro license.
  • Android: Loading a lot of assets through Resources.Load() could create a memory-leak-like behavior - this has been fixed.
  • Android: Fixed EGL context recreation when post-effects are used.
  • Android: Fixed reverse portrait mode.
  • Android: Webcam resolution and frame rate selection is now more accurate.
  • Android: Webcam now works on Ice Cream Sandwich and JellyBean devices.
  • Android: Webcam now works on Motorola and OMAP devices.
  • Android: Microphone resources are now properly released when pausing the application.
  • Android: Audio should now play without any clicking noise on Kindle and Nook, although latency is still pretty bad.
  • Android: It should now be possible to play and record audio at the same time.
  • Android: Fixed issue where files with 'meta' in their name was not package in the apk.
  • Android: Gyro.attitude did not compensate for screen orientation, nor device natural orientation (phone/tablet) - this has been fixed.
  • Android: Restarting an application right after calling Application.Quit() could cause a race condition between quitting the old and starting the new process.
  • Android: Input.multiTouchEnabled was returning false before the screen received an initial touch.
  • Android: Changed some tags in the AndroidManifest to have required="false".
  • Android: Fixed a problem where non-development ('release') builds would fail to load on devices with kernel 3.4 and later.
  • Android: Autorotation with only either portrait or landscape modes is now enforced by the manifest as well.
  • Android: Fixed a fullscreen video issue where the video wouldn't display due to orientation being changed.
  • Android: Fixed an issue where the fullscreen video in some cases would start to play even though it was not yet visible.
  • Android: Fullscreen video no longer plays while the lock-screen is in effect.
  • Android: Back button will quit the application while the first level has not yet been loaded.
  • Android: Added Nexus7 (1280x800) to GameView settings.
  • Android: Runtime class Ping now works.
  • Android: Made sure OnScreenKeyboard can be opened again after being closed due to lost focus.
  • Android: Changing system time/date while application was running would cause an ANR.
  • Android: Fixed camera initialization on platforms without fps range support
  • Serialization: For non-webplayer-targets, scenes (implicitly) referencing assets placed under the Resources folder will now always have the assets placed together with the scene (and not in the resources.assets).
  • Editor: Updated PVR Texture Tool to 3.0@2144429
  • Graphics: Fixed batching issue with multiple lightmaps in the scene (now we sort by lightmap as well).
  • Graphics: Fixed error "Adding renderer during rendering is not allowed" when using Trail Renderer with reflective water.
  • Mobile: Texture.ReadPixels is no longer delayed, but prints error instead if called at the wrong time
  • iOS: Fixed ios6 compatibility.
  • iOS: Fixed various orientation issues.
  • iOS: Fixed basic license splashscreen compatibility with Xcode 4.5.
  • iOS: Added support for iPhone 5 tall splash screen.
  • iOS: Added support for rendering @ full res on iPhone 5.
  • iOS: Added iOS 6.0 target selection in PlayerSettings.
  • iOS: extracted video view controller to trampoline, provided ios6 specific interface to allow orientation control on ios6 and proper handling of orientation requests coming from video controller.
  • iOS: added supportedInterfaceOrientationsForWindow workaround for game center and friends, make it support all orientations.
  • iOS: fixed splash orientation issues on ios6 phone-like devices.
  • iOS: Unity Remote fixed to support iPhone 5 res.
  • Native Client: Fixed race condition when loading mono assemblies.
  • Terrain: Fixed crash when setting heightmapMaximumLOD to out-of-range values.
  • Webplayer: Fixed crash when running in-process in Firefox 15.
  • Windows: Fixed issue where batchmode players and webplayers could be limited only to run on cpu0
  • Improvements:
  • Android: Added Ice Cream Sandwich MR1 (4.0.3) and JB (4.1) to the list of SDK APIs.
  • Editor bugreporter: Uses upgraded backend
  • iOS: 16:9 / 9:16 aspect ratios added to Game View.
  • Mac OS X Editor: Installer is now signed, so it will install on OS X 10.8 Mountain Lion in the default security settings.

New in version 3.5.5 (September 19th, 2012)

  • Hotfix Web Player 3.5.5f4:
  • Mac Web Player: Fix input in full screen mode.
  • Mac Web Player: Fix installers to work with default security settings on Mac OS X 10.8 Mountain Lion
  • Hotfix 3.5.5f3:
  • Editor: Fixed issues with Asset Store window on retina displays
  • Fixes:
  • Android: Fixed black screen on Kindle when accessing Quick Settings.
  • Android: Script debugging yields/coroutines could sometimes cause a crash - this has been fixed.
  • Android: Fixed gl context-recreation. Now you can change AA or DisplayBuffer bitness at runtime even if post-effects are used.
  • Editor: Windows now draw correctly when fullscreen on OSX 10.8 Mountain Lion
  • Editor: Fixed dependency on X11 of pvr texture tool.
  • Editor: Allow importing assets with leading spaces on Windows.
  • Graphics: Fixed surface shaders regression in 3.5.3 that assumed custom surface output structure always has "Specular" member that is a scalar
  • Graphics: Fixed VRAM amount detection on some Intel SandyBridge / IvyBridge GPUs.
  • Graphics: Fixed rendering cameras in editor batch mode
  • Graphics: Fixed crash in particle system when source mesh has no normal or tangents
  • Graphics: Allow editor to build shaders in -nographics batch mode
  • iOS: Fixed Texture2D.ReadPixels on iOS6.
  • iOS: Fixed crash with suspending while video is playing.
  • iOS: Fixed more splash issues.
  • iOS: SystemInfo.deviceUniqueIdentifier no longer uses deprecated UIDevice.uniqueIdentifier.
  • iOS: Updated iPad2 detection to handle newly released one.
  • Mac Web Player: Fix focus handling when browser window loses focus.
  • Mobile: fixed broken lighting when dynamically batching uniformly scaled meshes.
  • MonoDevelop: Fixed cursor display on Mac Retina displays.
  • Navmesh: Fix for regression in 3.5.3 - where long paths some times be discarded when stoppingDistance > 0.
  • Script: Fixed crash when calling material.GetFloat(null).
  • Substance: Substances with bitmap inputs were not regenerating correctly.
  • Substance: Fix garbage collecting.
  • Substance: Cache fixes.
  • Features:
  • Added Mesh.colors32 for faster and less memory consuming way of setting colors for procedural meshes.

New in version 4.0 Beta 7 (August 23rd, 2012)

  • New Humanoid Animation System:
  • Once imported as muscle clips, animations can be used with all humanoid characters with no additional conversions needed.
  • Use the same animations on different proportion characters with no overhead or need for storing multiple versions of the clip.
  • Map the bones of your model to human muscles with a single click, or fine tune the setup for full control.
  • Slice up your authored or motion-captured animations directly inside Unity with the industry's best tool for the job.
  • Preview the animation as your drag the ranges of a clip.
  • Indicators for pose looping quality and motion looping quality lets you easily pick the range with optimal looping.
  • Differences between start and end pose is smoothed out by the importer to ensure perfect looping.
  • Support for non-humanoid characters will be added in next pre-order beta build.
  • DirectX 11 Rendering:
  • On Windows Vista and later, and with DX10 or better level GPU, you can use DirectX 11 now.
  • Player Settings has "Use DX11" option; when it it set the player will try using DX11.
  • Editor can be switched to DX11 in Preferences. This is confusing; we'll fix it in a later build.
  • New features:
  • Geometry shaders (require DX10 GPU) and hull/domain shaders (require DX11 GPU). #pragma geometry, hull, domain in shader files.
  • Compute shaders (*.compute files, ComputeShader in scripts)
  • ComputeBuffer scripting API ("structured buffers" in DX11 lingo). Can use them in compute shaders and regular shader model 5.0 shaders (Material.SetBuffer, Shader.SetGlobalBuffer).
  • "random write" RenderTextures ("UAVs" in DX11 lingo). Graphics.SetRandomWriteTarget, RenderTexture.enableRandomWrite.
  • Graphics.DrawProcedural & DrawProceduralIndirect.
  • DX11-specific RenderTexture formats: RenderTextureFormat.R8, ARGBInt, RGInt, RInt.
  • 3D RenderTextures (RenderTexture.isVolume, volumeDepth). Fill them as "random write" textures from a compute or pixel shader.
  • In shaders, can optionally use CBUFFER_START(name) .. CBUFFER_END macros to markup separate constant buffers.
  • Linux Publishing:
  • Export a standalone player for 32-bit (x86) or 64-bit (amd64) Linux.
  • Select "Linux 32-bit" or "Linux 64-bit" from the Target Platform list in the Build Settings.
  • When building a player for Linux on Windows, you will first need to make the binary executable before being able to run it on Linux. Do this by running 'chmod +x' on the executable or right clicking and selecting "Allow to run as application".
  • Supported Platforms
  • Standalone players will run on most modern Linux systems with vendor-supplied graphics drivers.
  • Official support will be provided for 32 or 64-bit Ubuntu Linux, version 10.10 (Maverick Meerkat) or newer, with graphics cards using vendor-supplied drivers.
  • Graphics Features:
  • Terrain: Normal map & custom shader support for Terrain. Added built-in shader Nature/Terrain/Bumped Specular; added "normal map" texture slot to terrain splat maps; added Material field under terrain settings.
  • 3D (volume) textures support. Currently no way to import them, but you can create them from script (Texture3D) and use them in shaders (sampler3D and tex3D). Also SystemInfo.supports3DTextures.
  • Shadows on mobile devices! Only directional lights, no shadow cascades, no soft shadows.
  • Requires GL_OES_depth_texture extension. Most notably, Tegra-based devices do not support it.
  • 3D (volume) textures support. Currently no way to import them, but you can create them from script (Texture3D) and use them in shaders (sampler3D and tex3D). Also SystemInfo.supports3DTextures.
  • Fonts:
  • Dynamic font rendering on all platforms (including mobiles) with identical results (via FreeType).
  • Simple html-style text markup support to have multiple font sizes, styles and colors in a string in UnityGUI, GUIText & TextMesh.
  • Cubemaps:
  • New Generate Cubemap texture import option that creates a cubemap from vertical/horizontal cross or row/column of images.
  • Seamless cubemap option that makes sure edges of faces match up.
  • Cubemap assets reference their original textures in the editor instead of copying their pixels at assign time.
  • Scripting API: Cubemap.SmoothEdges.
  • Lightmapping: "Bake selected" no longer destroys lightmaps on objects that aren't selected. Instead it updates lightmaps on selected objects, as expected.
  • Lightmapping: Normalmaps are taken into account when lightmapping, which allows to add detail to lightmaps and makes the transition between near and far distance in Dual Lightmaps mode less visible.
  • Render Textures: added RenderTextureFormat.ARGBFloat, RGFloat, RGHalf, RFloat, RHalf formats.
  • Meshes can have a non-triangle topology now. You can create meshes that are lines, points or quads from scripts. See MeshTopology enum, Mesh.GetIndices, SetIndices, GetTopology.
  • Added SkinnedMeshRenderer.BakeMesh to "bake" skinned mesh result into a regular mesh.
  • Shuriken particle system:
  • Automatic simulation culling support. Particle systems will only update when visible. When it is not possible to support this automatically, Shuriken shows why directly inside the UI.
  • External forces support - use Wind Zones with particles.
  • Bent normals support for sprites.
  • Support for sorting and rendering with immediate children (solving sorting issues for combined systems).
  • Shaders:
  • Added built-in matrix variables, UNITY_MATRIX_V (view matrix), UNITY_MATRIX_VP (view*projection).
  • Added float4 unity_DeltaTime, contains (dt, 1/dt, smoothdt, 1/smoothdt).
  • Shader helper macros added:
  • UNITY_DECLARE_SHADOWMAP(tex), UNITY_SAMPLE_SHADOW(tex,uv), UNITY_SAMPLE_SHADOW_PROJ(tex,uv).
  • UNITY_NEAR_CLIP_VALUE, defined to 0.0 on D3D-like, -1.0 on GL-like platforms.
  • UNITY_COMPILER_HLSL (d3d11, 360), UNITY_COMPILER_HLSL2GLSL (gles), UNITY_COMPILER_CG if you need to determine which shader compiler is used on a platform.
  • UNITY_INITIALIZE_OUTPUT(type,name) to help with DX11 shader compiler requiring full initialization of "out" parameters.
  • OpenGL ES 2.0: Supports depth textures on Android.
  • Scripting API: added Texture.SetGlobalAnisotropicFilteringLimits.
  • New Project Browser (replaces the Project Window):
  • View assets by preview icons.
  • Seperate tree for folders for better overview of folder structure.
  • Search for assets using droplists for type and asset labels.
  • Save searches to favorites list for easy access to most used searches.
  • Drag folders to favorites list for easy access to most used folders.
  • Enable searching the Asset Store and previewing assets.
  • You can switch Project Browser to old-style one column layout in the context menu of the window (upper right corner).
  • Rewrite of the GUI system:
  • The existing GUI system (OnGUI) had its core rewritten, optimized and cleaned up. It uses less memory and induces less garbage collection cycles. Un-scientific performance increases measured at:
  • iOS, with GUILayout ~2.5x faster.
  • Mac, with GUILayout ~3x faster.
  • iOS, no GUILayout ~10x faster.
  • Mac, no GUILayout ~20x faster.
  • Uses less memory and induces less garbage collection cycles.
  • Note: this is not the “New GUI” that is coming to a later Unity 4.x release. It’s existing GUI, made much faster.
  • Other Features:
  • Added a new development console to show error messages on screen in development builds.
  • Android: Added Eclipse project generation.
  • Android: Support for APK Expansion Files (OBBs) - effectively enabling applications larger than 50Mb in the Google Play Store.
  • iOS: Target Resolution Player Setting was redesigned to better suite development workflow on multiple iOS devices. Two new “Auto (Best performance)” and “Auto (Best Quality)” settings allow Unity Runtime to choose most optimal rendering resolution according to device GPU capabilities.
  • Debugger: Webplayers can now be attached to and debugged just like standalones.
  • Editor: Add components and scripts to Game Objects easier and faster through the new Add Component drop-down directly inside the Inspector.
  • Editor: Create your own Inspector GUI for custom classes or attributes and see it used across all scripts that use those classes or attributes.
  • Fonts: Custom fonts can now use arbitrary character rectangles instead of a fixed grid.
  • Fonts: Font character placement properties are now accessible from scripting.
  • Fonts: Imported fonts can now be converted to editable custom fonts from the gear menu.
  • Gradient (known from the Shuriken editor) is now exposed to scripts: Gradient, GradientColorKey, GradientAlphaKey.
  • Navigation: NavMeshAgent supports prioritized levels of avoidance.
  • Navigation: NavMeshObstacle component added.
  • Upgrade guide:
  • We have changed how the active state of GameObjects is handled. GameObjects active state will now affect child GameObjects, so setting a GameObject to inactive will now turn the entire sub-hierarchy inactive. This may change the behavior of your projects. GameObject.active and GameObject.SetActiveRecursively() have been deprecated. Instead, you should now use the GameObject.activeSelf and GameObject.activeInHierarchy getters and the GameObject.SetActive() method.
  • Editor: We have reset the preferences from 3.x to 4.x. This affects your saved window layouts, the project wizard list, saved filters etc.
  • Editor: While an asset is being imported it will not be persistent. E.g. if you postprocess a texture and query its asset path, it will return an empty string. Assets outside of the asset postprocessor can, of course, be accessed at any point.
  • iOS: Target Resolution Player Setting was redesigned to better suite development workflow on multiple iOS devices. Two new “Auto (Best performance)” and “Auto (Best Quality)” settings allow Unity Runtime to choose most optimal rendering resolution according to device GPU capabilities. Some custom editor scripts might need to be updated to comply with these changes. Rendering resolution might be also changed from game scripts using Screen.SetResolution API.
  • iOS: Device SDK Player Settings was simplified and now contains only two entries “Device SDK” and “Simulator SDK”. Corresponding editor API entries were also changed and some custom editor scripts might need to be changed.
  • iOS: Unity 4.0 discontinues support for ARMv6 devices (iPhone 1st gen, iPhone 3G, iPod Touch 1st/2nd gen). This affects existing project development in several ways:
  • Target Platform Player Setting was removed from Unity Editor. Now all Unity iOS applications are ARMv7-only. Corresponding PlayerSetting.iOS Editor API entries also were removed. You might need to fix some of your editor scripts for that.
  • Graphics API level (Open GL ES 1.1 or 2.x) selection was moved to separate Graphics Level Player Setting. This setting is synced with the Android platform.
  • Applications that were already released to the App Store as supporting ARMv6+ARMv7 or ARMv6-only now can be updated only if Target iOS Version Player Setting is set to “4.3” or higher.
  • Mobile: Unity 4.0 brings hard shadow support to mobiles. Shadows for mobiles are enabled at the default Quality Setting. And if the project is shared with desktop platforms then shadows might just appear on mobiles too when project gets imported into Unity 4.0. Some manual tweaking of lighting/shadow setup might be required for optimal performance on mobiles.
  • Mobile: We changed the way Texture2D.ReadPixels works. Now, if you do call it during Update (or, generally, not during rendering frame) to grab the copy of the screen, the call will be deferred to the end of the current frame. Due to this, logic behind Apply was changed too. What you need to do if you use ReadPixels to read pixels from the screen:
  • if you just grab screen copy and call Apply, both calls will be deferred to the end of the frame
  • if you grab screen copy, and do something with it, and call Apply after that: you need to defer all this to the next frame. The easiest way is to use coroutines with yield in between ReadPixels and your operations plus Apply.
  • On the other hand, you can always do ReadPixels in Camera's OnPostRender, or when you have active RenderTexture.
  • Runtime: GameObjects marked DontDestroyOnLoad are no longer temporarily deactivate when loading a level. They will also not receive an OnDisable / OnEnable call when loading a level.
  • Profiler Improvements:
  • Android: Profiler blocks marked up in rendering commands via EXT_debug_marker (for tools like PerfHud).
  • GPU profiling support for Tegra-based Android devices.
  • GPU profiler detailed objects view sorts in decreasing GPU time.
  • Optimized memory usage and UI performance for complex profiles.
  • Scripting API: Profiler.GetMonoHeapSize, GetMonoUsedSize.
  • Made profiler player connection run threaded to improve throughput and reduce lack of profile data.
  • Asset Pipeline Improvements:
  • Added userData string property to AssetImporter, use this to pass per asset data to asset post processor.
  • Manual asset reimport (via context menu) always reimports, even if cache server already has the result.
  • Optimized filesystem performance of asset imports. Library/cache and Library/previews folders are gone; all imported results are in Library/metadata.
  • Keep Quads added to mesh importer, most interesting with DX11 tessellation shaders.
  • Other Improvements:
  • Android: Exposed control over SYSTEM_UI_FLAG_LOW_PROFILE ("lights-out" mode) through Screen.fullScreen.
  • Animation : Can now preview non-Mecanim animation in previewer.
  • Cache Server: Now includes a 32-bit linux build.
  • Cache Server: Modifying the import settings and clicking on Apply will now also use the cache server if it is available.
  • Cache Server: Made sure the Editor does not connect to cache server when it's not needed.
  • Editor: In the Build Settings Window it is now possible to change enabled state for all the selected scenes in one click (Use Ctrl + A for selecting all scenes).
  • Editor: Component context menu (gear icon) got Move Up/Down, Copy & Paste entries.
  • Editor: Light Probes scene view rendering mode gone; probe visualization in lightmapping window overlay.
  • Editor: Dragging a .unityPackage file into project view imports it now.
  • Editor: The Scene Gizmo axis cones no longer sets the camera to be orthographic. The center cube now toggles orthographic. The label below the gizmo now toggles between perspective and ortho as well. Shift-clicking or middle-mouse clicking the center cube will set the "nice" perspective view and shift-clicking or middle-mouse clicking the cones will enforce ortho.
  • Editor: Simplified mobile graphics emulation; only have OpenGL ES 1.1 & 2.0 now.
  • Editor: Lightmaps now get "best" compression quality for mobiles when available.
  • Editor: Added menu item in Component menu for Add Component drop-down.
  • Editor: Don't show animation import settings if no animation data is available.
  • Editor: Cleaned up indentation logic so LooksLikeInspector & LooksLikeControls are more similar
  • Editor: Ignore symlinks in Windows so it behaves like OS X build.
  • Editor: Inspector Window recovers gracefully when a CustomEditor throws an exception or has missing layout group endings.
  • Flash: Scripting overall; Better generics support.
  • Flash: Added FlashPlayer 11.3 support. Mouse middleclick and right click is supported on this subtarget.
  • Flash: Added support for Enum.GetValues() & Enum.GetNames().
  • Flash: Added support subset of field reflection.
  • Flash: Full support for animation events, including runtime scripting api.
  • Flash : Reduce black screen initialization time.
  • Flash : Reduced memory footprint, performance increase.
  • Flash : Added support for compilation to Flash Player 11.4 beta 2.
  • Font rendering: Add Font.RequestCharactersInTexture, Font.GetCharacterInfo and Font.textureRebuildCallback to allow full control over dynamic fonts from scripting.
  • Graphics: Exposed GUITexture.border to scripts.
  • Graphics: Added "Read/Write Enabled" checkbox to Model Import Settings. Disabling this will reduce memory footprint of meshes.
  • Graphics: Dynamic Batching with tangent vectors works on Windows & Mac now (was disabled before due to various driver issues).
  • Graphics: Surface shaders can use aritrary vertex input data type (instead of appdata_full); now the type of a vertex modifier parameter is used.
  • Graphics: Shader properties can have [HideInInspector] in front of them, which makes them hidden in inspector (useful for properties that are set from code).
  • iOS: Screen.SetResolution now works on iOS too.
  • iOS: iOS view handling extracted to separate files in trampoline, issues with splash are fixed, better non-animated orientation.
  • iOS: Tweaked resolution selector in player settings: added automatic options.
  • iOS: Added request for re-orientation on iOS5 and newer when allowed auto-rotation orientations were changed.
  • iOS Remote: Improved latency of touch events sent to editor.
  • Mac OS X: Make installers and Editor application signed so they can be run with the default security settings in OS X 10.8 Mountain Lion.
  • Mac OS X Standalone: Added support for 256x256, 512x512 and 1024x1024 icons.
  • Mobile: PowerVR texture compression tool updated to 2.10.87.4981.
  • Mobile: Introduced RGBA16 texture format.
  • Mobile: Added TouchScreenKeyboard.wasCanceled. On iOS, a “Cancel” button was added, on Android, the “back” button will be used for that
  • Mobile: TouchScreenKeyboard.text now can be used to set text to show in edit field.
  • Mobile: ActivityIndicator can now be started/stopped from script.
  • Mobile: SystemInfo.supportsVibration now queries device for actual support.
  • Mobile: OpenGL ES version selector is now shared between Android/iOS.
  • Mobile: Some optimizations regarding dynamic geometry.
  • Mobile: Increased max texture size for OpenGL ES 2.0 to 4096 and added handling of GPU imposed restrictions on texture size at runtime.
  • Mobile: Enabled OnMouse event processing for scripts that use it.
  • MonoDevelop: Updated Gtk+ for improved behavior and responsiveness (OSX).
  • NavMesh: OffMeshLink has GUI for selection of NavMeshLayer.
  • Runtime: GameObjects marked DontDestroyOnLoad are no longer temporarily deactivate when loading a level. This way they also will not receive a OnDisable / OnEnable call when loading a level.
  • Scene View: Show small icon next to Scene Gizmo label showing whether Scene View is in perspetive or isometric mode.
  • Scene View: When in axis-aligned view such as "Right", always show that in label and not "Iso" or "Persp".
  • Scene View - Mac: Make Scene View swipe gestures math the SceneView Gizmos
  • Scripting: Users can now add their own per-platform custom defines in the player settings.
  • Scripting: MonoBehaviours can now be inside namespaces.
  • Scripting: SkinnedMeshRenderer.rootBone is now exposed to scripting.
  • Shaders: Vertex shader inputs don't have to come from a struct with predefined names anymore. Just use proper semantics and you're good now.
  • Shuriken: Cone emitters: Support for emit from shell, emit from volume and controlling random direction.
  • Shuriken: Support for up to 4 meshes in particle system renderer. Selection of mesh happens randomly.
  • Shuriken: Support for up to 2 sub emitters per type (previously 1).
  • Shuriken: Dynamic batching support for particle sprites.
  • Shuriken: Particle updates are now multithreaded together with LateUpdate script calls. This should in most cases result in better performance.
  • Shuriken: It is now possible to specify a particle radius in the collision module which can be used for avoiding clipping artifacts.
  • Shuriken: Simulate() calls are much faster for most systems.
  • Shuriken: Exposed .randomSeed to script.
  • Shuriken: Exposed .particleSystem to GameObject scripting.
  • Shuriken: Improved API for Emit(count) and added 2 more Emit() functions.
  • Shuriken: Optimizations across the board for performance and less memory usage.
  • Social API: Added a GameCenterPlatform function for showing a specific Leaderboard UI based on ID + TimeScope.
  • Web Player: Make HTTP error handling more robust in Internet Explorer.
  • Optimization:
  • Editor: Optimize Console window memory usage with high log entry counts.
  • Editor: Optimized Hierarchy View for very large number of root objects.
  • Editor: Optimized DXT compression of textures; better uses all CPU cores now.
  • Editor: Detecting if assets need to be reimported when switching platforms is much much faster.
  • Editor: Made entering playmode faster by reducing the number of domain reloads.
  • Flash: Made performance improvements when calling functions taking or returning an array of structs.
  • Flash: Made dramatic memory usage reduction.
  • Flash: Optimizations were done by recycling actionscript objects for value types such as Vector3, and by being smarter about when to not have to copy them.
  • Mac OS X: Dynamic geometry optimization via ARB_map_buffer_range & APPLE_flush_buffer_range.
  • Meshes: Mesh.MarkDynamic; use this for meshes which you modify from scripts a lot.
  • Mobile: added RenderTexture.DiscardContents - discards previous RT contents via EXT_discard_framebuffer or explicit clear.
  • Particles: Optimized legacy particle systems via prefetching.
  • Physics: Physics simulation is now using SSE2 on windows for better performance and to make simulation consistent with Mac OS X.
  • Rendering: Point & spot lights in forward rendering use scissor rectangle optimization.
  • Rendering: Unity skips rendering lights that have intensity smaller than 0.01.
  • Rendering: Optimized Color32 multiplications (particles, lightmapping, …).
  • Skinned Meshes: Optimized performance & memory usage by keeping static data (UVs & colors) in a separate vertex stream.
  • Static batching: Compress vertex data to half-precision floats on platforms that support them; and save memory by unloading batched geometry after it's sent to the graphics card.
  • Static batching: Optimized static batching code.
  • Threading: Optimized multithreaded job scheduler (used for skinning, Mecanim, Shuriken, shader compilation, texture compression). It “multithreads more efficiently” now.
  • Fixes:
  • Android: Added exception checking / propagation for script-based JNI Calls (AndroidJava* / AndroidJNI*).
  • Android: Loading a lot of assets through Resources.Load() could create a memory-leak-like behavior - this has been fixed.
  • Android: Fixed a rare case where libmono.so / libunity.so would not load due to "unable to link library".
  • Android: Cases with extremely slow loading times, when re-reading scene assets, has been fixed.
  • Android: The automatic binary splitting (for APK Expansion (.obb) support) was incorrectly omitting some files when using the Windows editor.
  • Android: Korean fonts were not rendered correctly on some Android devices.
  • Android: PlayerPrefs values queried with the wrong type would cause Java exceptions and application termination.
  • Android: Added additional registry entries to search when looking for the JDK installation on Windows.
  • Android: Requested RGBX32 instead of transparent when 32bit display buffer is selected.
  • Android: Workaround for mali and ics resulting in crash with shader that sample texture in vertex program.
  • Android: Crash when pausing/resuming on OS 4.1 / Jellybean has been fixed.
  • Android: If system environment variable JAVA_TOOLS_OPTIONS was set it could prevent the .apk to be signed.
  • Android: Webcam Texture now works on LG Optimus 3D (with OS 2.2 / Froyo).
  • Android: Portrait upside down orientation caused errors when building the .apk.
  • Android: EGL context recreation is fully supported (when pausing/resuming, or changing DisplayBuffer bit-depth, or anti-aliasing).
  • Android: Enforce that System.Net.Sockets use is only allowed with an Android Pro license.
  • Android: Added workaround for ARM Mali-400 GL ES 1.1 drivers sometimes referencing disabled vertex attrs (caused a crash).
  • Android: Script debugging yields/coroutines could sometimes cause a crash - this has been fixed.
  • Android: Application.streamingAssetsPath was incorrectly adding a slash before the jar delimiter (/!).
  • Android: Fixed failing to build signed APKs on Windows.
  • Android: Webcam resolution and frame rate selection is now more accurate.
  • Android: Webcam now works on Ice Cream Sandwich and JellyBean devices.
  • Android: Webcam now works on Motorola and OMAP devices.
  • Animation: Exposed ModelImporter.generateAnimations as a bool, to allow control of over imported animation from an asset file.
  • Animation: Fixed a bug where animation wouldn't play if it's out of frustum and cullingType is switched to AlwaysAnimate in runtime.
  • Audio: Fixed problems playing back audio files whose paths contain special characters.
  • Audio: Fixed problems displaying audio files whose paths contain special characters in the inspector.
  • Audio: Fixed reverb filter diffuse slider inconsistency.
  • Audio: Fixed looping issue on tracked music files.
  • Audio: Fixed length determination for tracked music files.
  • Audio: Fixed m_IgnoreListenerVolume property (was not working in the expected way).
  • Audio: Fixed the length property of an AudioClip to be more accurate in the case of MP3s.
  • Cache Server: Fixed connection problem when downloading assets.
  • Cache Server: Fixed other connection issues.
  • Debugger: Fixed hangs/deadlocks when debugging multithreaded script code.
  • Debugger: Fixed crash on debug-time evaluation of generic methods.
  • Development build: Stacktraces now include File names and line numbers again.
  • Editor: Fixed crash when calling Close in the OnFocus callback.
  • Editor: Fixed object selector not working for ObjectFields in GUI.Window.
  • Editor: Fixed some vertically misaligned buttons in the dark skin.
  • Editor: Fixed EditorExtensionImpl showing up in the Project view in some projects imported from 3.4.
  • Editor: Will now use project name instead of the build file name as the title for published web players.
  • Editor: Scenes in Build Settings no longer get reordered alphabetically.
  • Editor: Undo now working if movement is cancelled by right click.
  • Editor: Fixed error message when resizing arrays.
  • Editor: Fixed crash when changing asset serialization to text mode.
  • Editor: Fixed hang when play mode is exited while a download is in progress.
  • Editor: Fixed crash when selecting multiple ScriptableObjects of different types.
  • Editor: Fixed component context menu copy/paste with Transform components.
  • Editor: Component context menu move up/down & copy/paste handles multi-selection.
  • Editor: Scene view uses the same rendering path as main camera. Much less confusion!
  • Editor: Soft particles usage hint in Quality Settings UI.
  • Editor: Screen.width and Screen.height much more consistently report actual game view size when used outside of editor window GUI code.
  • Editor: Made default values for sphere & capsule colliders use 0,0,0 for the center (it previously was not precisely zero due to floating point inaccuracies).
  • Editor: Made the TextMesh inspector automatically change the material of the MeshRenderer when the font is changed.
  • Editor: Properly reset MovieTextures when entering play mode.
  • Editor: Fixed crash if importing an AudioClip fails during project re-import.
  • Editor: Fixed null ref when using "Open" button in the inspector for model files in some cases.
  • Editor: Fixed errors about not being allowed to access targets array.
  • Editor: New preferences folder (now uses 4.x instead of 3.x).
  • Editor: Fixed profiler using deep profiling when exceptions occur.
  • Editor: Fixed DnD references being empty during DragExited after a DragPerform.
  • Editor: Update visible rect when horizontal scrollbar is needed because vertical scrollbar is used.
  • Editor: Clamping of the scroll position to account for the visible rect of the scrollview.
  • Editor: Fix scrollview returning scroll position out of view rect size when using scrollwheel.
  • Editor: Correctly handle when null string is passed to a TextField.
  • Editor: Don't show Display Resolution Dialog when using CTRL-B from the editor and it's turned off.
  • Editor: Fixed EditorWindow.ShowPopup with initial position of 0, 0 not rendering correctly.
  • Editor: Fixed missing bold font in some inspectors (e.g. FBXImporter).
  • Editor: GizmoType.NotSelected attribute for DrawGizmo works correctly.
  • Editor: Component menu now handles custom namespaces.
  • Editor: Light probes are selectable in search mode.
  • Editor: Excess flood of Animation clips is not confusing the model importer inspector.
  • Editor: EnumMaskField returns consistent value when every item is selected.
  • Editor: Textfield word wrapping fixes.
  • Editor: Display names of colliding enumeration values in inspector
  • Editor: Fixed problem with the Asset Store window on retina display Macbook Pros.
  • Editor: Fixed hang while closing if plugins had created their own native threads.
  • Editor: Fixed odd drawing behavior when attempting to resize welcome screen.
  • Editor: GUI.color is reset properly for every CustomEditor
  • Editor: Fixed keyboard Input handling in Asset Store window on OS X 10.8 (also in 3.5.5).
  • Editor: Fixed profiler causing an Out of Memory error in the console.
  • Editor: Improved error reporting when exporting a Unity package.
  • Editor: Fixed a bug where ARGB16 textures loaded from AssetBundles built for iOS/Android would load incorrectly.
  • Editor: Editor doesn't hang anymore if exiting while in play mode.
  • Editor: Made entering playmode faster by reducing the number of domain reloads.
  • Editor: Fixed null reference exception when a MonoBehaviour is missing in the inspector. Instead we display helpful warnings embedded in the inspector.
  • Editor: Fixed issue in fbx importer where prefab instance modifications would in some corner cases get applied to a different object on a different machine
  • Editor: Fixed bug where calling LoadLevel in OnDestroy when exiting playmode could lead to a crash.
  • Editor: Fixed bug where the import settings were not updated when a .meta file is changed.
  • Editor: Fixed various leaks in the asset import pipeline when importing large project folders.
  • Editor: Fixed prefab override recording issue where modifications would not get applied to array elements if the prefab array is empty and the size value was overridden after the property was overridden.
  • Editor: Fixed warning when changing import settings on a lot of fbx files.
  • Editor: Fixed crashbug when clicking on Apply prefab button in the game object inspector when the prefab would add / remove components on awake in edit mode.
  • Editor: Fixed drag and drop behaviour when dragging child prefab objects.
  • Editor: Improvements to Light Probe editing: don't change selection when duplicating them; render editable ones on top of baked ones.
  • Editor: Wireframe and Textured Wireframe scene view modes take actual vertex & tessellation shaders into account now.
  • Editor: Fixed import of .EXR files with alpha channel.
  • Editor: Invoked OnFocus/OnLostFocus when switching tabs within the same DockArea.
  • Editor: Disallowed hiding cursor when GameView is out of focus.
  • Editor: Fixed crash caused by scene view overlays.
  • Editor: Fixed box collider handles not matching box collider gizmos.
  • Editor: Text fields support OS standard behavior of Command + Backspace deleting everything from the start of the current line to the cursor position.
  • Editor: Cleaned up LOD group inspector (button alignment, text clipping).
  • Editor: Make Unity 1.x GUI components never be shown in the Scene View.
  • Flash: Replace no longer ignores parens.
  • Flash: Several code conversion issues resolved.
  • Flash: NavmeshPath can now be instantiated correctly.
  • Flash: Fixed translation of some shaders (e.g. Refractive Glass was causing errors).
  • Flash: Made AsyncOperation work.
  • Flash: Fixed division by long and ulong.
  • Flash: Fixed bug where assigning a struct to an object or interface would introduce two pointers to the same struct instead of two copies.
  • Flash: Fixed several cornercase bugs in support for generics.
  • Flash: Properly initialize fields of type DateTime in structs instantiated with default constructor.
  • Flash: Fixed memory corruption crash if WWW response .Length didn't match actual length of payload.
  • Flash: Support ++ and -- on arguments that are passed byref, whose result is assigned to an array.
  • Flash: Fixed mouse visibility bug.
  • Flash : Fixed equality comparison for ValueTypes.
  • Flash : Fixed hashtable comparison.
  • Flash : Fixed enum comparison
  • Flash : Fixed enum to enum cast.
  • Flash : Fixed keyboard input handling and TextArea input (control, delete, space, arrow keys).
  • Flash : Generic collections now work with interfaces.
  • Flash : Fixed crash when www.audioclip was used in a coroutine.
  • Flash : SweepTestAll now works.
  • Flash : UnityEngine.Flash.FlashPlayer allows retrieval of target player and swf version.
  • Font rendering: Fixed position of text cursor when a custom font size is used for the TextField.
  • Font rendering: Fixed kerning.
  • Graphics: Fixed crashes that sometimes occurred on OpenGL with mismatched GL.Begin/GL.End pairs.
  • Graphics: Fixed TrailRenderer culling issue.
  • Graphics: Don't break batching based on shadow distance when there aren't any shadow casting lights.
  • Graphics: Properly take line width into account when adding points to LineRenderer.
  • Graphics: SubShader tags (render queue etc.) take shader LOD into account properly now.
  • Graphics: Free up temporary memory used by non-uniformly scaled mesh when deactivating a mesh renderer.
  • Graphics: Static batching performs better when there are multiple lightmaps in the scene (before it could run into cases where it wasn't batching much).
  • Graphics: Fixed memory leak in Material.CopyPropertiesFromMaterial.
  • Graphics: Fixed a rare "invalid angle: inf" error message with terrain and shadows.
  • Graphics: Fixed Camera pixelWidth/pixelHeight/aspect queries done from Editor code being really confusing. Before, it was using the size of last drawn editor view for the calculations. Now, for regular cameras, Game View size is used.
  • Graphics: Fixed crash in Shuriken mesh particles, when source mesh has no normals or tangents.
  • Graphics: Fixed errors with statically batched meshes that are later modified by a script.
  • Graphics: Fixed issue with Deferred rendering and wireframe Scene View mode.
  • Graphics: Fixed various issues with shaders in asset bundles. E.g. you can actually put terrain with trees into an asset bundle, and the billboard shaders will work, without having to jump through various hoops.
  • Graphics: Properly include all shaders into game data files when editor is in "-nographics" mode.
  • Graphics: Batched Shuriken draw calls were not accounted for in the game view stats window.
  • Graphics: Don't load Occlusion Culling data in non-Pro editor licenses.
  • Graphics: Fixed console error messages when a terrain tree prefab is missing.
  • Graphics: Smoother framerate on Windows when using vsync.
  • Graphics: Fixed Screen.resolutions reporting zero for refresh rate in some cases.
  • Graphics: Fixed crash when using additive scene loading with missing lightmaps.
  • Graphics: Fixed small memory leak when loading shaders with syntax errors; made shader loading a bit faster as a byproduct ;)
  • Graphics: Fixed error messages in some situations when calling camera.Render from editor scripts.
  • Graphics: Fixed surface shader finalcolor modifier sometimes producing wrong results.
  • GUI: Fix BeginHorizontal not displaying content/tooltip when using GUIStyle.none.
  • Image Effects: Fixed Flash-related warning messages when importing Image Effects package.
  • Input: Fixed OnMouseDown and related callbacks being wrongly sent to cameras that render into RenderTextures.
  • iOS: Fixed Xcode crash when native plugin uses "+" in the name.
  • iOS: Fixed iPad splash handling when starting in portrait.
  • iOS: Made various orientation fixes.
  • iOS: Corrected texture atlas padding.
  • iOS: Fixed skinning corrupting UVs.
  • iOS: Fixed crash on suspending app while playing video.
  • iOS: Fixed recognition of more recent iPhone4/4S models.
  • iOS: Fixed various crashes when Script Call Optimization set to "fast but no exceptions".
  • iOS: Fixed text-area behavior when on-screen keyboard is hidden.
  • iOS: Fixed Screen.orientation on the first frame on iOS6.
  • iOS: Fixed interoperability of DisplayLink mode and iOS native UI.
  • Javascript: Fixed error checking for array indices.
  • Javascript: Fixed regression on 'not in' operator. Operator has been brought back.
  • Javascript: Introduced 'for each' syntax for better compatibility with other javascript dialects.
  • Lightmapping: Fixed handling degenerate triangles in UV space, Beast no longer spits out "TexBakeSampleGenerator: Non-invertible matrix".
  • Lightmapping: Skipping tree instances that reference a prototype without a mesh.
  • Lightmapping: Improved error messages when failing to bake Light Probes; when meshes have UVs outside 0..1 range, when meshes have missing UVs.
  • Lihgtmapping: Take texture tiling into account for materials with cutout shaders.
  • Lightmapping: Fixed issues with some emissive materials.
  • Lightmapping: Fixed "Generate Lightmap UVs" difference between Windows/MacOS.
  • Mobile: Better RenderTexture.DiscardContents implementation.
  • Mobile: Fixed wrong lighting when dynamically batching uniformly scaled meshes.
  • Mac OS X Editor: Fixed window focus issues when using a multiple screen setup in OS X 10.8 Mountain Lion.
  • Mac OS X: Event.clickCount behavior for double-clicks now matches windows (clickCount is always 1 for MouseUp events).
  • Mac OS X: Don't freeze Unity content when the System clock is changed while running.
  • Mac OS X: PlayerPrefs keys will now work if they contain an '@' character.
  • Mac OS X Standalone: Used OS X Lion style fullscreen mode, to allow other windows to show up in front of fullscreen apps, and to allow switching in and out of fullscreen mode by clicking onto the fullscreen button in the window title bar (optional).
  • Mac OS X Standalone: Fix hiding of window when GameCenter is activated.
  • Mac OS X Standalone: Changed event processing to allow other windows to receive keyboard events, to allow better integration with OS services such as GameCenter using plugins.
  • Mac OS X Web Player: Made IME support work in all Mac browsers.
  • Mac OS X Web Player: Fixed focus handling when the browser is switched to the background or the user switches to another window/tab.
  • Mac OS X Web Player: Fixed memory leak.
  • Mac OS X WebPlayer: Fixed OnApplicationPause being called when window goes to the background.
  • Math: Fixed Plane.SameSide equation side error.
  • Misc: Improve Time.smoothDeltaTime so it's not affected by pausing/unpausing.
  • Native Client: Fixed download of JPG files as textures.
  • Native Client:: Fixed problem where preferences might get lost when the player is closed while writing preferences to disk.
  • NavMeshAgent : Fix crash querying nextOffMeshLinkData when having no navmesh in scene.
  • NavMeshAgent: Fixed bug where Resume breaks updateRotation setting.
  • NavMeshAgent: Path request processing queue order fixed.
  • Physics: Fixed problem where CCD would incorrectly detect collisions if the center or scale of a collider was changed.
  • Networking: Fixed case where a MasterServerEvent.HostListReceived was triggered for each host in a host list.
  • Networking: Fixed problem with connecting to password protected servers with NAT punchthrough.
  • Physics: Fixed MeshCollider not working if it had been scaled to be zero sized, and then scaled up again.
  • Physics: Fixed a bug where Raycasts against CapsuleColliders with a zero-length middle section would not always return correct results.
  • Physics: Fixed a bug where destroyed colliders would not be properly deallocated if Time.timeScale was zero.
  • Physics: Fixed colliders being properly inactive when they are on inactive child game objects of the rigidbody.
  • Physics: Fixed collision between two triggers to send OnTriggerEnter events to both triggers and both rigidbodies for consistent results.
  • Physics: Fixed memory leak when Time.timeScale is zero.
  • Physics cloth: Fixed tangents to match initial rotation of object.
  • Profiler: Fixed hang on editor or player when connection could not keep up with the data.
  • Profiler: GC memory was not propagated correctly up the call hierarchy.
  • ProfilerConnection: Fixed inifinite loop freeze if profiler sendbuffer is full on the player.
  • Scene View: Fix scene editor camera becoming locked out from user control.
  • Scripting: Added overloads to EditorGUI.IntSlider so it can take SerializedProperties.
  • Scripting: Fixed crash when calling material.GetFloat(null).
  • Scripting: Fixed crash when a component destroys itself while AddComponent is trying to create it.
  • Scripting: Fixed crash calling Resources.Load before resources have been imported.
  • Scripting: Fixed bug where AssetBundle.LoadFromFile would get unloaded by UnloadUnusedAssets.
  • Scripting: GameObject.Find will now correctly find children of objects of the same name as other objects which don't have children of that name.
  • Scripting: Fixed crash when a gameObject is being destroyed while calling SendMessage on it.
  • Scripting: Fixed script serialization bug where properties could not be #if-ed out for the player.
  • Shaders: Fog shader variables (unity_FogColor etc.) are set to produce no fog when it's off.
  • Shaders: round() and trunc() HLSL functions are now supported when compiling shaders for mobile.
  • Shadows: Fixed shadow caster culling when light direction is exactly parallel to one of camera's frustum planes.
  • Shuriken: Fixed particle system randomness. There should be a lot less visible correlation between parameters when using random between curves and values.
  • Shuriken: Can't remove disabled UI modules, gizmo scaling issue, simulation preview issues when scrubbing.
  • Shuriken: Fixed sub-emitter memory leaks, occasional crash.
  • Shuriken: Gracefully handle when mesh is invalid, instead of leaving the emitter in a bad state.
  • Standard Assets: Projector uses smaller, but uncompressed textures; to avoid artifacts when looking from a distance.
  • Time: Fixed timescale usage when single stepping.
  • WebCamTextures: Fixed error message when querying list of available devices while WebCams are in use.
  • Web Player: Application.dataPath will now work correctly if the player URLs has slash characters in the url parameters.
  • WebPlayer: Fixed the plugin ticking routine. It is simpler and less error prone.
  • WebPlayer: Updated the builtin resources; now there is a distinction between "Made with Unity 4 Beta" and "Unity 4 Beta" plugin.
  • WebPlayer: Fixed a variety of crashes when plugin was running on IE9.
  • WWW Class: Fixed parsing text encoding if the encoding http header contains more parameters.
  • Windows: Improved StackOverflowException handling in scripts.
  • Windows: Fixed issues with 64-bit player not launching when non-latin characters in path.
  • Windows Editor: Messages with "Failed: The operation has completed successfully" should not be presented anymore when operations on files fail.
  • Changes:
  • Android: The video player activity has been removed. Fullscreen video is still supported but not as a separate activity.
  • Android: "Google Play OBB Downloader" is now available in the asset store. The plugin can be used on devices that does not support automatic downloading of APK Expansion Files".
  • Android: "Google Play Application License Verification" is now available on the asset store and thus no longer embedded in the standard distribution.
  • Editor: Requires a DX9-capable GPU now (pretty much anything since 2004).
  • Editor: PreferenceItem attribute now works on private static methods.
  • Editor: Added new default window layout.
  • Editor: When in OpenGL ES 1.1 graphics emulation, maximum texture size increased from 1024 to 2048 now.
  • Flash: Disabled GrabPass shaders; they now behave like in Unity non-Pro instead of rendering nothing. Flash can't support GrabPass due to Stage3D limitations.
  • GameObjects: Active state is now recursive. If a GameObject is inactive, all children will inherit that state.
  • GameObject.active is now deprecated to make users aware of the new behavior. GameObject.SetActive() or GameObject.activeInHieararchy should be used instead.
  • Graphics: Low-level rendering API (Graphics and GL classes) do not require Pro license anymore.
  • iOS: removed Unity-iPhone-simulator build target from Xcode trampoline. Now simulator specific changes are backed directly into Unity-iPhone build target. It still requires to rebuild Xcode project after switching between device and simulator SDK.
  • iOS: PVRTC compressor updated.
  • iOS: added iOS 6.0 OS target.
  • iOS: SystemInfo.deviceModel now returns full device name, including revision number.
  • iOS: Exposed AOT.MonoPInvokeCallbackAttribute custom attribute. Passing managed delegates to native functions is now possible, though limited to static methods only.
  • Prefabs can now have an active state which is copied to instances on instantiation.
  • Mobile: ARMv6 is not supported anymore.
  • Native Client: NaCl is now it's own BuildTarget instead of a checkbox in the WebPlayer build target.
  • Scripting: Removed SceneView.RenderMode from Editor API(was not documented, but public). Use the documented DrawCameraMode instead.

New in version 3.5.4 (July 23rd, 2012)

  • Fixes:
  • Android: Crash when pausing/resuming on OS 4.1 / Jellybean has been fixed.

New in version 3.5.3 (July 11th, 2012)

  • Improvements:
  • Audio: Fixed audio distortion when using gapless MP3 encoding.
  • Cache Server: Fixed connection issues.
  • Development players will now show file names and line numbers in stack traces again.
  • Graphics: Added Optimize Mesh Data option to Player Settings. Turning it on will remove unused mesh components (e.g. will remove all tangent vectors if none of your shaders use normal mapping). Use this both for game size and runtime performance.
  • Graphics: Added Camera.transparencySortMode to control how transparent objects are sorted. If you use a perspective camera for a 2D game, you can have proper object sorting now!
  • Graphics: Mesh.Clear now will keep the existing vertex layout; this is more efficient if you are recreating meshes at runtime. If you want to completely clear the mesh, including vertex format layout, use mesh.Clear(false).
  • iOS: now automatic inclusion of native plugins will also respect "Symlink Unity libraries" flag. Turn this flag off when making archive builds.
  • Native Client: Fixed crashes in script code in 64-bit NaCl (64-bit Windows or Linux).
  • Profiler: Reduced memory footprint of profiler when viewing large frames (deep profile)
  • Web Player: Make browser more responsive to user input on Windows.
  • Fixes:
  • Unity for Native Client has been updated to a new version of the NaCl SDK, which fixes some problems. Shipping NaCl games need to be rebuilt with Unity 3.5.3, as they will no longer work in future versions of Google Chrome otherwise!
  • Android: JDK 7 installations are now automatically detected on windows.
  • Android: Reading player preferences using the wrong value type now return the default value.
  • Android: Fixed a rare race-condition when quitting the application.
  • Android: Added support for gdbserver being packaged inside the application.
  • Android: Use of spaces in keystore alias/password is now allowed.
  • Android: Added better failure message when the wrong key password is provided.
  • Android: Force SHA1 digest algorithm when signing the application, to make sure it's accepted by Google Play Store.
  • Android: Force RSA key algorithm when creating keys, as suggested by Google.
  • Android: Workaround for the bug with Kindle's compositor where it incorrectly uses the alpha values from the Display Buffer.
  • Android: Added warning for shaders which compilation might cause crash on sgs2 updated to ics.
  • Android: Fixed returning from pause on Eclair devices
  • Android: fixed perf regression with batching/dynamic geometry on PowerVR GPUs.
  • Cache Server: Fixed problem where native assets (prefabs, materials, etc) would not refresh in the Editor when updated on disk and cache server is active.
  • Editor: Rotation doesn't create leftover animation curves anymore
  • Editor: Fixed "Deprecated EditorExtensionImpl" assets show up in projects converted from Unity 3.4
  • Editor: Fixed crash when selecting multiple ScriptableAssets of different types.
  • Editor: Fixed up serialized property error that causes a null ref when an array is the last element being drawn.
  • Editor: Fixed up asset labels so that they get saved to meta data and displayed in the inspector properly.
  • Editor: Correctly clear drag and drop buffer so that old data does not stay around causing issues.
  • Editor: Fixed wrong gizmo rendering on Windows with extremely high quad counts (e.g. drawing 10000 shaded cube gizmos).
  • Editor: Fixed crash on Windows when you have assets with names like "Tree A" and "TreeA" in the same folder ("revenge of MS-DOS short names!").
  • Graphics: Fixed static batching when there are source meshes without UV channels.
  • Graphics: Fixed CombineMeshes() outputting wrong vertex count. This fixes a bug with combined meshes not drawing on some graphics cards.
  • Graphics: Properly validate array size when setting Mesh.vertices from script.
  • Input: Correctly detect controller after it has been reconnected on Windows.
  • Input: Ignore obsolete DirectInput registry settings.
  • iOS: Fixed automatic .a plugin inclusion into Xcode project.
  • iOS: Fixed all the issues with splash orientation.
  • iOS: fixed issue with native UI on top of unity view with non-animated rotation.
  • iOS: Fixed linking with xcode4.5 dev preview
  • Mobile: Added additional logging when initializing the profiler (over Wi-Fi or USB), to aid debugging when device is not seen by the editor.
  • Mobile: Fixed fixed function shader generation in case of more then one TexGen CubeReflect samplers.
  • NavMesh: Optimize navmesh bake memory-usage. Instead of crashing, returns error when out of memory.
  • NavMesh: Setting agent destination does not break stopping distance behavior.
  • NavMesh: Agent respects explicitly set rotation of transform when updateRotation is set.
  • Networking: Fixed problem with connecting to a password protected server using a GUID.
  • Shaders: Fixed surface shader decal:blend mode when normal mapping or specular was used.
  • Shaders: Various fixes to mobile shader translator (HLSL -> GLSL compiler).
  • Shaders: Fixed incorrect fog on some shader model 3.0 shaders on Windows.

New in version 3.5.2 (June 6th, 2012)

  • Improvements:
  • iOS: Added UnityGetGLView function to AppController.mm that returns the view that unity uses
  • iOS: Splash now uses "retina" images if running on "retina" device
  • Flash: Introduced System.Attribute base type so custom attributes can at least compile cleanly.
  • Flash: It's now possible to invoke constructors that declare byref parameters.
  • Flash: Slightly faster Stage3D path and faster path implemented for 11.1 and 11.2 specific deploys.
  • Flash: Point filtering now works.
  • Flash: System.Bitconverter now works.
  • Flash: Dictionary.ContainsValue now works.
  • Flash: Smaller memory footprint in some cases
  • Flash: Speedup in SWFPostProcessing
  • Flash: performance optimizations on generated bytecode.
  • Flash: Byte[] now has a Flash native bytearray as a backing store (.elements).
  • Flash: Shallow implementation of System.Text.Encoding for ascii and utf
  • Flash: Implementations of System.Random, System.IO.MemoryStream, DateTime.Today
  • Flash: System.Exception.StackTrace property.
  • Flash: more conversion errors include related source location now.
  • Changes:
  • Added Resources.UnloadAsset(Object asset) function. This is useful for unloading large individual assets if you know they are no longer used and you don't want to call Resources.UnloadUnusedAssets().
  • Editor: Introduced [Callbacks.PostProcessBuild] script attribute. It will execute the attributed method after the player has been built.
  • Editor: Introduced [Callbacks.PostProcessScene] script attribute. It will execute the attributed method when the current scene has been processed.
  • Flash: Has build targets for different FlashPlayer version 11.0, 11.1 and 11.2. No Flash Player version specific implementations exposed yet, but setting 11.2 means using a faster code path; better performance.
  • Flash: www.GetAudioClip() now works, only for non streaming mp3's.
  • Flash: WWW support
  • Flash: WWWForm Support
  • Flash: Assetbundle support
  • Fixes:
  • Android: Possible fix for random crashes in OpenGL ES driver on Galaxy Nexus ICS.
  • Android: Touch problems related to ICS upgrades on some devices have been fixed.
  • Android: Caching.CleanCache() was always returning false (without cleaning the cache).
  • Android: Fixed Webcam texture initialization problem on ICS device.
  • Editor: Catch more corner cases when detecting Visual Studio installations.
  • Editor: Fixed out-of-memory crash when showing AudioClip's inspector while in play mode.
  • Editor: PvrTexTool updated to version 2.10.87.498.
  • Editor: Fixed crash when using SendMessage, a non-null argument is passed to a parameterless receiver.
  • Editor: Fixed used textures stats to display in statistics view
  • Fixed memory leak when the profiler is attached.
  • Fixed WebPlayer crash when downloading an AssetBundle.
  • Fixed a bug in mouse delta handling for non HID enabled mice.
  • Fixed an out of memory crash on audio preview.
  • Fixed race condition while hashing assets for the cache server.
  • Fixed crash in Resources.Load if the resource being loaded referenced a non existing asset.
  • Fixed out of memory crash when building a player with a lot of assets cross references between scenes.
  • Fixed bug where SkinnedMeshRenderers marked as Occluders would result in bad occlusion. SkinnedMeshes can only be marked as Occludees now and the bounding volume of the skinned mesh is used during PVS Calculation.
  • Fixed crash when reloading scripts after launching Unity with a compile error.
  • Flash: Fixed integer division semantics.
  • Flash: Fixed memory leak in native methods returning structs.
  • Flash: Fixed crash on constructors passing fields as byref arguments.
  • Flash: Fixed RuntimeServices_ToBool_Object being invoked, but not implemented.
  • Flash: Fixed endianness error on byte[].
  • Flash: Fixed crashes on monobehaviour deserialization on asset bundles.
  • Flash: Fixed particle system not being scriptable again.
  • Flash: Fixed www.error being set to seemingly random strings, even if there was no eror.
  • Flash: Fixed crashing on fatal errors on errors thrown in coroutines.
  • Flash: Fixed fatal errors on www.texture access.
  • Flash: Fixed flash preloader bar on black background.
  • Flash: Fixed bug where array.CopyTo() fails if the destinationsize is larger than sourcesize.
  • Flash: Fixed fields of type List crashing on Instantiate().
  • Flash: Fixed serialization of List.
  • Flash: Fixed multiple issues with SwfPostprocessor resulting in issues with swf not getting verified or causing stack under - or overflows.
  • Flash: Many small actionscript conversion issues fixed.
  • Flash: GuiTexture is rendering correctly again.
  • Flash: Particles are rendering correctly again.
  • Flash: Texture2D setPixels with larger textures doesn't crash anymore.
  • Flash: UnityContent .setSize(width,height), working correctly.
  • Flash: useGuiLayout works.
  • Flash: No more crashes on gui.window.
  • Flash: No more crashes on physics/charactercontroller collisions.
  • Flash: Physics, fixed issues with objects shooting into space or being sticky.
  • Flash: Array of Structs aren't being (incorrectly) serialized anymore.
  • Flash: ParticleSystem now script accessible.
  • Flash: Serialization of non-public monobehaviour now works.
  • Flash: Issues with coroutines throwing FlashPlayer verify and stack size errors fixed.
  • Flash: EncodeToPNG now works.
  • Flash: Support for c# packing of array data in types.
  • Flash: Correct handling of numeric casts of infix expressions (ex: (int)(f * g)).
  • Flash: Fix serialization of List
  • Flash: Fix SwfPostprocessor; cases where player was throwing fatal error indicating that files are not available / verifier error on constants.
  • Flash: Fix SwfPostprocessor; fix max stack size calculation
  • Flash: Fix WWW.GetAudioClip() usage in StartCoroutine crash.
  • Graphics: Fixed vertex colors being swapped in CombineMeshes
  • Graphics: Fixed projector errors with zero near plane
  • iOS: Fixed dynamic geometry performance regression in 3.5/3.5.1.
  • iOS: Fixed splash rotation, causing it to skew.
  • iOS: setting Application.targetFrameRate

New in version 3.5.0 (February 15th, 2012)

  • Major New Features:
  • Adobe Flash: Final version of 3.5 supports a preview of publishing to Adobe SWF format, otherwise known as Flash Export.
  • A separate FAQ for this release is available at http://unity3d.com/unity/publishing/flash.
  • New Particle System - "Shuriken".
  • Edit, view and playback control in Edit Mode. You can manually scrub time to inspect and fine-tune the particle system using the Scene View playback controls.
  • Module-based: Each particle system has several modules that can be enabled to control color, size and movement of particles.
  • Groupable: It is possible to group / compose several particle systems in a hierarchy and their playback will behave as one particle system.
  • Built-in curve editor for easy curve editing.
  • Pathfinding and avoidance sub-system added.
  • NavMesh: Path-finding API. Bake navigation mesh with markup areas.
  • NavMeshAgent: Character navigation. Avoidance system.
  • OffmeshLink: used to create arbitrary connections between NavMesh polygons.
  • Built-in LOD management via LOD Groups.
  • Lightmap baking works for LODed models. The lightmapped objects use a surface transfer algorithm similar to normal map baking.
  • Asset Cache server.
  • Assets imports are shared between project folders and users. Switching Platform takes minutes instead of hours on large scale projects. Grabbing changes from other team members is almost instant.
  • Built-in HDR support and adaptive tonemapping.
  • The 3.5 image effects package comes with adaptive tonemapping, bloom and depth of field image effects that are optimized for HDR.
  • Multithreaded rendering.
  • Most of rendering & driver overhead is put onto another CPU core on multicore systems.
  • You don't have to do anything, it just works!
  • Currently only on PC / Mac / Xbox 360; and not in the web player yet.
  • Light Probes, which allow for using baked lighting on characters and other dynamic objects.
  • Directional Lightmaps.
  • Generic external version control (.meta files) is now available in the free version.
  • Google Native Client is now supported
  • It is now possible to select and edit multiple objects simultaneously with the Inspector!
  • The Inspector preview supports showing the multiple selected objects.
  • Multi-editing can be enabled for custom editors with a single line of code if they are based on using SerializedProperty.
  • Occlusion Culling has been rewritten from scratch, it is much faster to compute and always correct
  • OcclusionPortal component has been added to allow doors that can be opened and closed at runtime.
  • Terrains work well with occlusion culling now.
  • The default mode for occlusion culling is “automatic portal generation”, which is very accurate and works well for dynamic objects.
  • Introduced the “Occludee Static” flag. This is used to mark objects as statically occludable without making them occluders. For example transparent objects that don't move should be marked as Occludee Static.
  • Text-based scene and prefab format can be used for improving team workflows. This can be turned on or off in the Editor Settings for each project.
  • GPU Profiler: added the ability to see GPU usage to the profiler.
  • A ton of memory and performance optimizations. Several improvements to multithreading.
  • Graphics Features:
  • SkinnedMeshRenderer bounding volume is now always relative to the most common root bone and works much better with Ragdolls.
  • UpdateWhenOffscreen bounding volume option now uses bone-relative bounding volumes instead of vertices and is around 100x faster.
  • WebCamTexture class now supports cameras.
  • High-resolution screenshots can now be done via Application.CaptureScreenshot’s superSize parameter.
  • Added new Soft Shadows mode for Directional Lights that uses rotated disk sampling pattern.
  • Lightmapping: Added the “Area Light” light type (baked only).
  • Lightmapping: Skinned meshes can now be lightmapped. Use this for meshes that don't change the pose much after baking.
  • Advanced rendering controls:
  • Image Effects can optionally be applied before any transparent geometries are drawn. Use ImageEffectOpaque attribute on the OnRenderImage function.
  • Subtractive/Min/Max blending support, use BlendOp Min|Max|Sub|RevSub in ShaderLab.
  • Multiple Render Targets, Graphics.SetRenderTarget can take multiple color targets.
  • Enabled sharing of depth buffers between different color buffer targets, see Graphics.SetRenderTarget, RenderTexture.colorBuffer, etc.
  • Various graphics optimizations:
  • Optimizations for OpenGL ES 2.0 to avoid performance spikes with dynamic geometry.
  • Optimized culling and shadow caster culling.
  • More low level rendering possibilities from native code Plugins:
  • Ability to access Direct3D 9 device pointer.
  • Plugin callbacks on the rendering thread, so that low-level plugin rendering can co-exist with multithreaded renderer in Unity 3.5.
  • Surface Shaders: added optional final color modifier function (finalcolor directive). This can be used to implement custom Fog on platforms that can't do usual fog (like Xbox 360 or PS3).
  • Added renderer.SetMaterialBlock for a lightweight way of adding per-instance material parameters without duplicating the materials. Also, the MaterialPropertyBlock does not have fixed small capacity any longer.
  • Quality settings overhaul:
  • Quality settings can now be enabled / disabled per platform. Quality levels that are disabled on a target platform will be stripped on build.
  • Maximum LOD level and LOD bias can be setup in the Quality settings.
  • The smallest LOD level in the quality settings will be used to automatically strip higher LOD levels. This makes it possible to strip any high poly models and all their dependencies on low-end devices.
  • Editor Features
  • Middle-click on any surface in the Scene View to focus on the clicked point.
  • AssetModificationProcessor class created with custom VCS systems in mind.
  • Adds IsOpenForEdit check on assets which can prevent assets from being edited.
  • The preview in the Inspector can be detached to a separate window.
  • Implemented support for C4D file import from Cinema4D R13.
  • Implemented better detection of imported material types. Unity uses normal-map and transparency properties (texture or factor) to apply one of the following shaders: "Bumped Diffuse", "Transparent/Diffuse" or "Transparent/Bumped Diffuse".
  • Implemented import of texture Tiling and Offset values.
  • Implemented support for baking animation through FBX exporter during C4D file import (supported only from Cinema 4D R13, the old version uses our native IK baker).
  • Mac: Added support for full-screen mode in the new Mac OS X Lion 10.7.
  • Improved preferences window that users can extend by using the PreferenceItem attribute.
  • Gizmos can have world-space sizes. Nice, hi-res gizmos were added.
  • The Transform gizmo has a new planar transform tool for performing two-axis translations, which replaces the Free Transform tool. Hold the 'shift' key to switch back to the Free Transform tool.
  • GUI class now has a DrawTextureWithTexCoords function for specifying texture coordinates.
  • Entire curves can now be dragged vertically.
  • Gizmos are now depth-tested, and exist in world space. The gizmo size can be adjusted using the existing gizmos size slider.
  • Introduced a more advanced Static checkbox: It is now possible to mark objects static for different situations (lightmapping, navigation, occlusion etc).
  • Made it possible to find objects in scene that reference the selected asset.
  • Texture Importer for pvrtc-enabled platforms allows to select compression quality.
  • New Prefab system allows adding / removing components from instances without breaking the prefab connection.
  • Backwards compatibility with old prefabs is maintained.
  • Made sure prefabs do not show up as “missing” in play mode.
  • Audio Features:
  • Enabled audio buffer read and write access via AudioClip::Get/SetData
  • Introduced low latency custom filters. Filter/Produce audio at mixer rate with OnAudioFilterRead() callback.
  • Extended inspector GUI support for custom filters (out gain and performance meters).
  • Enabled microphone support on all platforms.
  • Made mixer settings accessible from script (buffer sizes and sample rate).
  • iOS Features:
  • Implemented Build&Run support for Xcode 4.x. (Not compatible with Xcode 3.x, but can be turned off in Editor settings).
  • Accelerometer frequency now is controlled from Player Settings.
  • Application.targetFrameRate works. Removed kFPS constant due to this. 30 FPS is default.
  • Added "Show Loading Indicator" option, to show spinner when loading game.
  • GameCenter support added through the Social API (does not include matchmaking and voice features at the moment).
  • Added iAd support.
  • Added push notification support.
  • Added Compass and Gyroscope support.
  • Added Camera support.
  • Added Microphone support.
  • Image Filters now determine the format for intermediate Render Targets from currently bound FrameBuffer (most usual - default Display Buffer). So if you use a 16bit Display Buffer you will get 16bit rt (RGB565). While this makes image filters a bit faster, it also is more GLES-conformant. If you want to use Image Filters that needs alpha channel or see banding, please set "Use 32-bit Display Buffer" checkbox in Player Settings, or use newly added Handheld.use32bitDisplayBuffer API.
  • Android Features:
  • Added "Show Loading Indicator" option, to show spinner when loading level synchronously.
  • QualitySettings.antiAliasing now works, allowing you to set AA level at runtime or in Editor.
  • Added "Use 32-bit Display Buffer" and "Use 24-bit Depth Buffer" options.
  • Added the API “Screen.dpi” to help determine the need for high/low resolution graphics.
  • Added Joystick / Mouse (USB) support - only available with Honeycomb 3.1 and later.
  • Improved load times with a new file reader back-end.
  • Profiler information can now be tunneled over ADB.
  • Input latency is improved, with input events handled in native code with Gingerbread 2.3 and later.
  • Added support for Gyroscope / Compass input.
  • Added Camera support
  • Added Microphone support.
  • Added Texture Override for ETC/RGBA16, under Build Settings.
  • Added API targets for Honeycomb 3.2 (MR2) and Ice Cream Sandwich (4.0)
  • Other Features
  • Upgraded to MonoDevelop 2.8.2.
  • Generic Social API added, which supports GameCenter only at the moment and Xbox Live support will be enabled later. Limited dummy functionality runs on unsupported platforms (so code is testable in the Editor for example). Third parties can implement the interface to add support for their implementation on any platform.
  • Physics: Added ConfigurableJoint.swapBodies property to make the joint act as if the two connected Rigidbodies were swapped.
  • AssetPostProcessor can now be versioned. See AssetPostProcessor.GetVersion for details.
  • Asset Server can now be used with Cache Server. Note that this requires committing all assets to the server project after upgrading to 3.5 and that the server project will not be usable by older Unity versions after that commit. So remember to back up everything, including the server project.
  • Added Application.StreamingAssetPath which points to the location of the data in the Assets/StreamingAssets folder on all build targets.
  • IME: Added Input.isIMESelected to determine if the user has currently enabled IME conversion mode for keyboard input.
  • All Editor Settings files that need to be versioned have been moved into a ProjectSettings folder.
  • If upgrading an existing project the current settings files will be copied to the new folder.
  • If you are using version control you should upgrade your project by opening it in the editor and then you should remove the old settings files from version control and simply add the ProjectSettings folder.
  • Conclusion: All you need to add to version control in 3.5 is your Assets folder and ProjectSettings folder.
  • Improvements:
  • Android:
  • Added AndroidJavaRunnable to automatically marshal script delegates to Java code.
  • Introduced automatic unlocking of the device when running development builds.
  • Introduced passing touch and key events directly to native code when using NativeActivity.
  • Removed delay when returning to an application, stemming from an unnecessary recreation of the GL context.
  • Stored the keystore file relative to the project path.
  • Audio:
  • Changing mixer's sample rate and buffer sizes from script now possible.
  • Cross domain security check for AudioClip::GetData() in webplayers.
  • Custom DSPs (OnAudioFilterRead) now respect the settings of the attached AudioSource (mute, attenuation curves etc.)
  • Microphone frequency capabilities now accessible from script and can be used in Record().
  • Multichannel (>2) OGG files are now encoded and mapped correctly.
  • Introduced non-blocking waveform renderer (higher resolution and nicer-looking)
  • Documentation:
  • Added extensive sections on new features in the Manual (Shuriken, Navigation Mesh, Level of Detail).
  • Fixed formatting issues for code snippets on IE
  • Fixed up many code examples.
  • Editor:
  • Fixed the "Generate Lightmap UVs" reducing the difference between mac/win. Not there yet, but should be fixed for the most part. Please reimport meshes and rebake lightmaps.
  • A LOD group that was created on import can now be updated in the scene and send these settings back to the importer.
  • Added "All" and "None" items for active Layer selection menu.
  • API: Added optional parameter includeChildren to PropertyField to allow creating entire class or array controls with a single function call.
  • API: Exposed GetIconSize and SetIconSize.
  • API: Made DrawDefaultInspector work with both LooksLikeInspector and LooksLikeControls.
  • API: Made PropertyField respect indent level instead of overwriting it with property depth.
  • Asset Import performance optimizations for large project folder. For example detecting assets to be refreshed is around 10x faster now. Opening an already imported project is around 50x faster.
  • Audio clips now use the static preview system. This means that audio clips now have a preview in the object picker/browser.
  • Break prefab menu item added to Game Object menu (Break button was removed from gameobject inspector).
  • Curve Editor key selection improvement: Always select the topmost key if keys of multiple curves are overlapping.
  • Debug.DrawLine and Debug.DrawRay now take an optional bool that can disable depth testing.
  • Ensure terrain brush settings are not reset when selecting a different object or when entering or exiting Play mode.
  • EnumPopup element strings are now "nicified".
  • Even more fixes to "Generate Lightmap UVs" to make it generate same UVs across Mac/Win.
  • Fixed various project import issues where a crash of Unity could lead to a full project reimport in some cases.
  • Implement EditorGUI functions BeginChangeCheck, EndChangeCheck, BeginDisabledGroup, EndDisabledGroup as more high-level alternative to setting GUI.changed and GUI.enabled directly.
  • Import settings are now shown at the top in the Inspector and the imported result below (when relevant).
  • Improve feedback to the UI about which color space is active.
  • Lightmapping Window, Occlusion Window, and Navigation Window now have type based scene filters for quick picking of relevant objects.
  • Made intValue property in SerializedProperty API work for LayerMask type.
  • Made inspector display large Asian fonts with kerning information quickly, and show progress bar for import.
  • Miscellaneous LOD group editor improvements.
  • Made rectangle selection of meshes more precise.
  • Introduced the property EditorGUIUtility.isProSkin.
  • Objects can now be tagged separately as occluders and occludees.
  • Optimized performance of changing parenting in the hierarchy window.
  • Polished Import/Export package dialogs a bit.
  • Scene View FPS motion is a bit slower by default, and has acceleration for when you want to go far.
  • Show warning about precision errors in Transform inspector if world position exceeds 100.000 in any axis.
  • The Navigation window now lets you change the Navigation Static flag of selected game objects.
  • Transform gizmo now has planar sliders.
  • Undo / Redo now works as expected when enabling and disabling components.
  • Unity can import meshes with vertex count larger than 65000. Instead of aborting import it will split the mesh into parts each containing less than 65000 vertices.
  • Upgraded FBX SDK to 2012.2.
  • When changing numbers using sliders, do context sensitive rounding. The rounding will leave exactly enough decimals to represent the change resulting from moving the slider one pixel. If more decimals are typed in manually, they will not be lost (within the limitations of floating point numbers).
  • When selecting objects of different types, the Inspector will now help narrowing down the selection to objects of only one type.
  • You can now set a default font color via the font importer.
  • Graphics:
  • Extended the maximum number of shader keywords from 32 to 64.
  • For each shader compilation error show the keywords that were used.
  • MaterialPropertyBlock can now have an unlimited number of properties.
  • OnWillRenderObject lets you rotate or slightly move an object before rendering. The updated transform will be used during the render pass. This makes it possible to for example align a billboard only when it is visible using OnWillRenderObject.
  • Lightmapping:
  • Exposed the padding property that controls texel spacing between bake instances.
  • Improved mipmap generation for lightmaps - the space between bake instances is filled with colors coming from those bake instances when going down and up the mip chain. The lighting in smaller mip levels is more accurate and preserves the overall feel of the lightmap better. Please rebake the lightmaps to get the benefit.
  • Made fetching lightmaps use much less temporary memory.
  • iOS:
  • Added Caching.SetNoBackupFlag and Caching.ResetNoBackupFlag to set "No Backup" flag on cache.
  • Added iPhone.SetNoBackupFlag and iPhone.ResetNoBackupFlag to set "No Backup" flag.
  • Caching now set no-backup flag by default on newly added objects.
  • Scripting:
  • JavaScript: Creating a new script automatically adds “#pragma strict” by default.
  • JavaScript: Warn when bitwise operators are used with boolean operands to suggest the shortcircuiting boolean operators.
  • JavaScript: @script attribute declarations can now appear before 'import'.
  • JavaScript: Files containing interface and/or enum definitions named after them are now supported (e.g. interface IFoo in file IFoo.js) as the compiler will no longer generate a conflicting MonoBehaviour definition.
  • Boo: Pattern matching for lists.
  • Boo: Selective import support.
  • Boo: Better linq (and extension method support) in general: 'import System.Linq;' is enough now.
  • Boo: Optimized multidimensional array operations (up to 100X in some cases).
  • Miscellaneous:
  • Asset Import: Texture importing now uses a lot less temporary memory.
  • Asset Server: Projects can now be copied in the admin view.
  • Mac OS X Standalone: Added a "close" button to the player window.
  • ModelImport: Warnings about quaternions now contains the name of the model and can in most cases be clicked to highlight the model in the project view.
  • MonoDevelop (JavaScript/Boo): Added limited jump to definition support.
  • Occlusion culling baking now doesn't run out of memory.
  • Occlusion culling now works correctly with shadows and is much faster. All occlusion culling modes should work as expected now across all platforms.
  • Player: Pre-load asset dependencies when doing Resources.Load/LoadAll to avoid hiccups during runtime.
  • Profiler: Added API to enable binary filedump of profiling data, and API to read it back in the Editor.
  • Reduced memory usage when importing large project folders.
  • Scripting: Added Handheld.use32bitDisplayBuffer to change Display buffer bit-depth at runtime.
  • Scripting: Added WWW.textureNonReadable to mark as non-readable after download.
  • SkinnedMeshes can now be marked as occluders and occludees.
  • Substance import issues with input textures were fixed.
  • Static batch mesh generation (Part of the build process and editor play mode) is now a lot faster.
  • Support copying files from Assets/StreamingAssets for Win/Mac standalone players.
  • Unwrap: All known cases of mac/win uv generation were fixed. Please reimport your meshes.
  • Web Player: If the embedding page or unity3d file is hosted on https, the web player will use https for all connections (update checks and downloads), so the browser will not show warnings about insecure connections.
  • When baking occlusion culling with transparent objects marked as occluders a warning is now given telling you which objects are marked static incorrectly.
  • When imported assets are dirtied because a script modifies the imported asset it will no longer cause the asset to be reimported. Instead it will unload the asset and reload from disk as soon as nothing is referencing the asset anymore. This fixes an issue where a lot of assets would get reimported when shutting down Unity after entering playmode depending on what the scripts did.
  • Windows: Connected joysticks are detected at runtime.
  • Fixes:
  • Android:
  • Texture2D.EncodeToPNG() / Application.CaptureScreenshot() produced broken images.
  • Calling Application.Quit from OnApplicationPause() had unexpected consequences.
  • Calling Network.TestConnection() caused the application to crash.
  • Calling Time. from OnApplicationPause() could cause application to hang.
  • Calling game scripts from the Java UI thread could cause a crash on rare occasions.
  • Fixed a GLES 2.0 rendering problem specific to Broadcom chipsets.
  • Fixed crash on Honeycomb/IceCreamSandwich devices triggered by 'auto-rotation' or any kind of screen rotation.
  • Fixed incorrect handling of Debug.Log in non-development builds - Message is now printed, but callstack parsing is disabled to keep performance up.
  • Fixed video playback when using a local (file://) source.
  • Graphical artifacts in decompressed ETC1 textures have been corrected.
  • In the editor resolution/aspect ratio settings, the HTC Legend dimensions were swapped.
  • JDK 7 can now be used without getting a INSTALL_PARSE_FAILED_NO_CERTIFICATES error with signed applications.
  • JNI marshaling null-strings from Java would cause the VM to abort.
  • The basic/pro license was not honored correctly in some places.
  • The saved instance state bundle passed to Activity.onCreate was not forwarded from the Proxy activity.
  • Update AndroidManifest.xml permissions when Application.internetReachability is used - adding ACCESS_NETWORK_STATE fixes the problem with incorrect return value.
  • Using a custom splash during an advanced license trial period could lead to runtime crashes when trial expired.
  • Using a Linux 3.x kernel would cause Unity to hang/crash on multi-core CPUs.
  • WWW calls to a server that redirects from HTTPS to HTTP were failing.
  • Nvidia's PerfHUD for Tegra reported increasing frame times when the application was paused.
  • A few hardware keys were missing, like (forward) DELETE and left/right CTRL - these have now been added.
  • Callbacks to MonoBehaviour.OnApplicationFocus is now supported.
  • Added support for Galaxy Note Stylus Pen (through KeyCode.LeftControl and KeyCode.Delete).
  • Fixed annoying but harmless error about missing directory when building.
  • Android Remote: fixed occasional stale touches.
  • Android Remote: fixed flickering and improved stability on tablets.
  • Audio:
  • 'Decompress On Load'/'Compressed in memory' option not shown for uncompressed audio.
  • Don't show BPS for MPEG files.
  • Audio/Video: Pause audio when video is done in the inspector.
  • Fixed custom rolloff curves.
  • Fixed 32 bit filtering.
  • libVorbis updated to the latest version.
  • Lowpass filter inspector fixed.
  • Reset on filters and reverb zones now works.
  • Size in inspector now correct for all platforms and audio types.
  • Support for compression of 32bit input files.
  • Debugger:
  • Fixed abort with reentrant evaluation.
  • Fixed crash with nullable evaluation.
  • Fixed debugger crash when debugging in the editor.
  • Editor:
  • After moving or renaming the current open scene, saving will now save into the new location rather than the old.
  • Editor: Curve Editor now correctly reverts and resets any change when dragging and Esc is pressed.
  • Editor: Dark skin component checkboxes no longer twitch.
  • Editor: Dark skin's object picker tweaks.
  • ESC to cancel searching is more robust.
  • Editor: Fixed animated GUI groups breaking and giving errors after a window has been re-docked.
  • Fixed color picker incorrectly initializing alpha to 255 if original color is (0,0,0,0).
  • Editor: Fixed dragging textures to apply in Scene View sometimes showing errors and displaying progress bar that never closes.
  • Fixed Esc not clearing search field on Mac in Object Picker.
  • Fixed GameObject static dropdown not marking "Nothing" as selected when no flags were selected.
  • Fixed handling of unicode characters in scripts. Scripts should have utf-8 encoding.
  • Fixed many Handle controls not respecting Handles.matrix.
  • Fixed mouse cursor sometimes flickering garbage on Windows.
  • Fixed not being able to assign characters like ' , . / ` ] [ = as editor shortcuts on Windows.
  • Fixed null reference exception in project pane when displaying filtered results that return no hits and pressing up arrow key.
  • Fixed null reference exception when dragging sub-asset to the root of Project View.
  • Fixed Object Picker not focusing search field when being opened.
  • Fixed opening editor preferences when no inspector is open.
  • Fixed precision loss when viewing or editing large integers in the GUI.
  • Fixed repaint issue that made the Editor on Windows seem to have poor performance when mouse dragging gui components or scene view handles.
  • Fixed SceneView not resetting Handles.matrix if it was changed in an OnSceneGUI callback.
  • Fixed a bug where lists of enums were not editable in the inspector.
  • Fixed Animation View leaking materials when saving, while animation edit mode is active.
  • Editor: Fixed assert "vertexCount > 60000" when using colliders with polygon count over 10000.
  • Fixed crash when resizing arrays in the inspector.
  • Fixed crash when trying to import mesh, which contains polygons, which have less than 3 vertices.
  • Fixed drop-down menus on Windows so they no longer overlap with the GUI control.
  • Fixed material import from COLLADA files.
  • Fixed memory problem when committing a lot of assets in the Asset Server window.
  • Fixed null ref when exporting a package.
  • Fixed out of memory crash when importing huge cube maps.
  • Fixed problem setting custom fields in webtemplates (they'd disappear as soon as focus left the field).
  • Fixed regression where import mode for normals and tangents on models where ignored, when upgrading from 3.4 to 3.5
  • Editor: Fixed reversing of triangle culling in some imported models (that used to happen in some very special cases).
  • Fixed some situations where the scene view mode could get stuck.
  • Fixed texture detection for imported materials when FBX contains mixed slashes in texture file paths.
  • Fixed Warning when saving a scene to a new folder created from the Save dialog.
  • Fixed terrain trees permanently being hidden when right clicking while left-dragging to paint height.
  • Fixed crash when closing Editor Window in OnFocus.
  • Fixed that Unity sometimes fails to recompile changed scripts or notice changed assets when leaving Unity while its unresponsive (Windows).
  • Focusing on a particle system will now respect the bounds of the system properly.
  • GetMiniThumbnail returns proper icons for DefaultAssets.
  • Icons for unknown asset types are now cached, prevents out-of-memory crash if there are a lot of unknown assets in a project.
  • Improved interaction with Visual Studio 2010.
  • Installer on Windows now has a large icon.
  • Made 3DS file loader more robust - Unity handles invalid files better now.
  • Make ProceduralTextureInspector and ProceduralMaterialInspector partially support multi-object editing (multi-editing procedural properties is not supported).
  • Make ProceduralTextureInspector repaint until not regenerating anymore.
  • Made sure EditorGUI controls respect indent level consistently and fixed some rarely used overloads that ignored some of the given parameters.
  • Multiple project windows don't share search string.
  • Got rid of white 1-px outlines on OSX Lion.
  • On OSX don't allow saving files with special characters in save file dialogs.
  • On OSX don't make "error" sounds when navigating object browser using keyboard.
  • On Windows, don't open new explorer window every time the player is build.
  • Resolve intermittent hangs.
  • Scene View controls no longer freezes when using left mouse button on scene view handles while right mouse button is pressed down.
  • Setting TextureImporter.textureType now sets all the required properties.
  • Use significantly less memory in most cases when generating a cubemap from a very high-resolution source image to make out-of-memory crashes less likely.
  • Windows Editor menus support Unicode characters.
  • You can now slide values with sliders by dragging the label (same as float fields).
  • (Windows) Build Settings will not open after Cancel.
  • (Windows) Asset progress bar & build progress steals focus from other applications on windows.
  • Will now give a proper error when trying to import a movie with unsupported codecs.
  • Checked for scene camera rotation of NaN and fixed it.
  • Drastically reduce Scene View grid artifacts that caused it to be imprecise.
  • Fixed issue where editor would hang if left in background.
  • Child's scale is updated correctly when rotating with Inspector or Rotation Tool (when parent is non-uniformly scaled).
  • Deleting the root game object in OnPostProcessModel will no longer crash Unity.
  • Importing FBX models with bad texture references like "." and ".." no longer crashes Unity.
  • Upgrading a 3.4.x projects with Modo files will now retain ids for meshes, meaning that references to meshes are not lost. References to subgameobjects will still be lost.
  • (Windows) Fixed common random crash.
  • Fixed crash when calling SetActiveRecursively within Awake.
  • Fixed intermittent "Moving file failed" error when building player.
  • Fixed error when attempting to edit deleted terrain.
  • Advanced texture importer now correctly reflects internal texture import modes (For example no linear option for normal map textures).
  • Setting color preferences now has an instant effect on the editor.
  • Fixed that Unity does not refresh scripts when giving Unity focus by clicking on child windows.
  • Graphics:
  • Beast will no longer fail bakes on OSX if Unity installation path contains non-alphanumerical symbols.
  • Beast will no longer fail bakes on degenerate meshes, like bushes composed completely of billboarded leaves.
  • Compute correct tangents for non-uniformly scaled static meshes.
  • Enforce linear lighting status on hardware that does not support it.
  • Fixed broken values for builtin arrays when only 0th element was used (e.g. unity_LightPosition[0]).
  • Fixed issue related to deferred rendering when no lights are present and you are using HDR.
  • Fixed Particles/Alpha Blend shader turning black when in Fog.
  • Fixed pow() sometimes being mis-compiled for Direct3D 9.
  • Fixed Preview lighting on uniformly scaled meshes in GameObjects.
  • Fixed shadow caster culling for asymmetric view frustums.
  • Fixes and improvements to HLSL->GLSL translator and GLSL Optimizer.
  • Flares without a texture assigned don't crash the editor anymore.
  • Texture2D.Compress prints proper error message when texture is not marked as readable (previously was silently filling texture with garbage when not in editor).
  • Fixed incorrect rendering order when using transparent shader with ParticleRenderer and MeshRenderer.
  • Fixed error message when setting null texture on a GUITexture.
  • Fixed more than one directional light shadow (via "fullfowardshadows") not working in Forward rendering if Image Effects are used.
  • Tweaked RGBM lightmap encoding, so that there are no brighter lines appearing in dark areas when bilinear filtering is used. Makes a huge difference in linear lighting mode, since dark values get relatively much brighter.
  • Lightmapping: "Use in forward rend." is only respected in Dual Lightmaps mode as the GUI suggests.
  • Lightmapping: Fixed clearing lightmaps -- it resets lightmap index, tiling and offset on all renderers.
  • Lightmapping: Made light be culled below horizon for specular bounces when shadows are disabled. Fixes a case where a face pointing away from light would bounce light in that direction.
  • Lightmapping: Use alpha from the base texture (_MainTex) as the gloss map.
  • Lightmapping: Got rid of self-shadowing artifacts in small scenes placed far away from the origin (0,0,0).
  • iOS:
  • Fixed appending of Xcode project when automatic native plugin inclusion is used.
  • Fixed Editor freeze when Remote Profiler is connecting to iPhone running iOS 5.0.
  • Fixed horizontal splash screen image pre-rotation to vertical orientation.
  • Fixed Mathf.Approximately and other math routines operating on de-normalized small numbers.
  • Fixed numerous iOS5 related problems (GL errors, keyboard, etc.).
  • Fixed Remote Profiler support.
  • Fixed simulator build when project has native plugins.
  • Fixed small memory leak.
  • Fixed some scary warnings in Xcode debugger console.
  • Fixed splashscreen pre-rotation when autorotation is enabled.
  • Fixed WebCamTexture.GetPixels.
  • icon-iPad.png renamed to icon-72.png.
  • SystemInfo.systemMemorySize returns correct memory size, SystemInfo.graphicsMemorySize is now estimated based on total memory size.
  • SystemLanguage handling overhaul - now region is correctly recognized (e.g. British English will result in English instead of Unknown).
  • Improved .NET 2.0 full profile out of the box compatibility with WebRequest API. Managed code stripping still needs manual care.
  • Javascript:
  • Fixed bug that would cause a for loop not to reuse an already declared variable.
  • Fixed multidimensional array of struct operations.
  • Script attributes can now appear before 'import' statements.
  • Mac OS X:
  • Mac OS X Editor: Properly recognize user setting to launch Editor in a specific Space/Desktop.
  • Mac OS X Standalone: Fixed mouse down events being reported for clicks on window title bar.
  • Mac OS X Standalone: Will not show window restore dialog and crash in OS X Lion.
  • Mac OS X Standalone: Don't quit, if cancel button was pressed during Quit dialog in windowed mode.
  • Mac OS X Web Player: Fixed a crash in Firefox 6 when loading Unity content in a background tab.
  • Mac OS X Web Player: Fixed a crash in Firefox 7 when resizing Unity content.
  • Mac OS X Web Player: Fixed scroll wheel events in full-screen mode in CoreAnimation plugin.
  • Mac OS X Web Player: IME input is now recognized in the OS X WebPlayer.
  • Mac OS X Web Player: Input.inputString will correctly contain backspace and delete characters.
  • Mac OS X Web Player: Make mouse input handling more robust. Fixes Magic Trackpad support in Safari 5.1.
  • Mac OS X: Fixed input from some gamepad hat switches.
  • Mac OS X: Fixed distinguishing between left and right modifier keys in the Input class.
  • Mac OS X: SystemInfo now returns actual device information.
  • Mac Web Player: Fixed different rendering issues when using image effects.
  • Windows:
  • Windows 64-bit standalone: Fixed setting executable icon.
  • Windows Fixed skinned meshes disappearing temporarily when returning from sleep mode or from locking computer.
  • Windows Web Player: Fixed occasionally corrupted graphics when locking computer or switching resolution during loading.
  • Windows: Focus is not lost when Web Player enters or exits fullscreen mode.
  • Windows: Joystick 0 now returns correct cumulative axes values.
  • Physics:
  • Collider.bounds will now alway return empty bounds for disabled colliders (before it was inconsistent by collider type).Fixed behavior of rotated capsule colliders when continuous collision detection is used.
  • Fixed CCD not working in first level of a game.
  • Fixed crash when disabling a CharacterController inside a CharacterController callback.
  • Fixed slow duplicate creation of colliders when using GameObject.SetActiveRecursively().
  • Physics contact count is now correctly reported in the Profiler, and will not appear to increment indefinitely.
  • Removed "Solver rigidbodies" field in physics profiler, as it did not do anything.
  • Fixed a crash when creating a Terrain with too many Tree colliders.
  • Miscellaneous:
  • Asset Server: Fixed a bug that caused a crash when reverting a project setting to an older version in the Asset Server history view.
  • Asset Server: Local project settings no longer show up as conflicts when checking out new projects.
  • AssetBundles: Fixed AssetBundle.mainAsset loading all dependencies of the mainAsset.
  • AssetBundles: Fixed a crash sometimes caused by simultaneously downloading multiple asset bundles with caching enabled.
  • Asset Import: Fixed crash when selecting asset with name including ".."
  • Asset Import: Fixed an issue causing animations including scaling to (0,0,0) to be imported as having extremely large bounding boxes, which in turn caused issues with shadows and culling.
  • AssetStore: Fixed crash when exiting Unity or switching projects while the Asset Store window was loading a page.
  • Execution order for prefabs is now 100% consistent. It works exactly the same as having non-prefab objects (Removes superfluos OnDisable / OnEnable calls).
  • Fixed a synchronization issue between Renderthread and GPU. This has fixed the stuttering and reduced the input lag.
  • Fixed an issue that caused the editor to freeze if left in the background with the profiler open.
  • Fixed AsyncOperation.progress to properly indicate loading progress.
  • Fixed font kerning when using GUIStyle.fontSize.
  • Fixed path names for Cache and Application.persistentDataPath not to be garbled up. If old path names are present, they will still be used.
  • Made Assembly.Location return actual location of the assembly and not "data-09340sdf9gsd0fg".
  • Made FindObjectsOfType not return Cubemaps when searching for Texture2D.
  • MonoDevelop: Fixed unhandled exception when attaching debugger.
  • MonoDevelop: More robust script encoding detection.
  • MonoDevelop: Don't open script projects twice.
  • MonoDevelop: Ensure selected script gains focus.
  • Networking: Fixed case where NetworkView state synchronization was not relayed properly through a proxy connection.
  • Networking: Fixed cases where connection tester failed to return a result.
  • Networking: Fixed crash when reading NetworkPlayer.guid when networking was not initialized.
  • Networking: Fixed possible crash when reading NetworkMessageInfo.networkView inside OnNetworkInstantiate.
  • Networking: Fixed problems with built-in multiplayer networking on Windows when using VPN/proxy software which manipulates traffic coming from the browser. DNS and interface IP address lookup are now done differently.
  • Occlusion culling: Fixed several out of memory issues, made many occlusion accuracy improvements.
  • Profiler: GPU profiler now shows better info on image effects.
  • Profiler: More reliable player connection discovery.
  • Profiler: Not sending instance Ids back, since these don't match the instance Ids of the editor - caused detail view to display wrong instance names.
  • Script: Fixed crash when reparenting GameObjects durring Scene Destroy.
  • Substance: Fixed crash after modification(resizing and etc.) of texture parameters.
  • We no longer get send multiple mousedown / mouse up while hovering over an object.
  • WebPlayer and Standalone: Return correct Event.delta value on Windows.
  • WebPlayer: Fixed memory leak on windows when unloading.
  • WebPlayer: Reduced visual artifacts produced when WebPlayer size is changed on Windows.
  • Changes:
  • Added KeyCode enum values for Joystick 4.
  • Android/iOS: The Android Target Graphics setting is not linked to the iOS Target Platform setting anymore.
  • Android:
  • Attached names to the native threads for easier debugging.
  • Changed labeling of Force Internet Permission to Internet Access (Auto / Require).
  • Changed labeling of Force SD-Card Permission to Write Access (Internal Only / External (SDCard)).
  • Development builds now have extended logging also from the Java side.
  • Editor requires at least API level 14 to build Android applications. It is still possible to target earlier platforms.
  • Force debug.checkjni property when launching development builds (to prevent incorrect JNI calls from plugins).
  • Keep the LVL code from outputting errors if it's not used anyway.
  • Restructured parts of the Java code found in classes.jar.
  • The Emulator device filter was removed, as the Android Virtual Device (with SDK-r14) now supports ARMv6/ARMv7 binaries.
  • The splash image is now decoded as 32bit texture (rather than 16bit).
  • The Texture Compression Override option in the Build Settings menu has been changed to affect all textures using a compressed texture format.
  • To save memory when streaming AssetBundles, the number of compressed buffers in flight has been reduced.
  • Traded some temporary memory (240KB, in the scene loader) for an on-average massive load speedup with projects having really bad load times.
  • Editor:
  • Added optional saveAsCopy parameter to EditorApplication.SaveScene to allow saving the scene without changing what is the current scene.
  • Asset Path names starting with a space character are now no longer allowed.
  • Migrated direct Blender to Unity import from Blender 2.56 to Blender 2.58. Implemented support for Blender 2.59 as well.
  • OnSceneGUI is now called on all selected objects with custom editors, not only editors visible in the inspector.
  • The Editor will no longer allow creation or import of Assets with file names which are not legal on either Windows or OS X.
  • Undo while dragging never worked correctly and is now disabled. Note: Most dragging operations allow you to press Esc to cancel, which can be used instead.
  • iOS:
  • Added 5.0 SDK selection in PlayerSettings.
  • Added iPhone4S generation for iPhone.generation.
  • Added warning when compressed texture is used as icon or splash screen.
  • Changing target devices does not require to overwrite Xcode project anymore.
  • Screen.dpi implemented.
  • Miscellaneous:
  • Mac OS X Standalone: Moved Cache file location to ~/Library/Caches/bundleID for Mac App Store compliance.
  • Mac OS X: Use OS events for more reliable mouse wheel input. Should now work with all devices which work with the OS, but only work when mouse cursor is over the window.
  • Removed support for OS X Dashboard builds.
  • Removed support for OS X PowerPC builds.
  • Removed support for Unitron and UniSciTE.
  • Stripping: Now 3rd party dlls aren't treated as managed code stripping roots. Improves build size, but might require extra care with libraries that use reflection and generics a lot.
  • Windows Web Player: If no graphics drivers are installed at all, Unity will not try to run the game using the really bad Windows' OpenGL 1.1 renderer; an error message will be displayed to the user instead.
  • WWW: charset property is now honored by the WWW.text attribute.
  • WWW: Made HTTP errors be reported in www.error string.
  • WWW: Made HTTP headers be set appropriately even when errors occur. Added the HTTP status code to the header list under the "STATUS" key.

New in version 3.5.0f1 (February 4th, 2012)

  • Features:
  • Editor: Texture Importer for pvrtc-enabled platforms allows to select compression quality.
  • Flash: Implement Camera.layerCullDistances & Camera.allCameras.
  • Flash: Support Nullable types.
  • Flash: Tight ActionScript integration. See UnityEngine.Flash.ActionScript.
  • Improvements:
  • Asset Server: Projects can now be copied in the admin view.
  • AssetImport: Texture importing now uses a lot less temporary memory.
  • Editor API: Expose GetIconSize and SetIconSize.
  • Flash: Added Physics stripping checkbox for smaller build size.
  • Flash: Faster build times.
  • Flash: More optimized bytecode.
  • Flash: System.Delegate.DynamicInvoke.
  • Flash: System.Delegate arrays and generic containers.
  • Flash: Proper support for multidimensional arrays of primitives and value types.
  • Flash: Initial support for int.Parse(string, NumberStyles).
  • Flash: Support for enum fields named after ActionScript builtin types (Object, String, Array).
  • Flash: sbyte mapped to int and decimal to Number (use with care).
  • Flash: Better support for generic member inheritance and overriding in complex type hierarchies.
  • Flash: Improved .Net Class Library Support. Amongst which:
  • String.EndsWith()
  • Dictionary.Keys.Count
  • Convert.ToInt32(char)
  • Convert.ToInt32(string)
  • Convert.ToChar(int)
  • string.Trim(char[])
  • List(IEnumerable) constructor
  • Dictionary.Keys.CopyTo()
  • Dictionary.Keys.Contains(K)
  • StringBuilder.Append()
  • Dictionary.Count
  • List.RemoveRange(int,int)
  • most of Stack
  • String.Equals(string,string)
  • String.SubString()
  • String.Compare(string,int,string,int,int)
  • ArrayList.Sort(IComparer)
  • Char.IsPunctuation
  • +probably some we overlooked.
  • Flash: physics performance improvements.
  • Flash: better support for explicit interface implementations.
  • Flash: support for unboxing of enums.
  • Flash: better error reporting of unsupported features including offending source file location whenever possible.
  • Flash: System.Object.Equals(Object) support for primitive types.
  • Flash: VertexLit shaders support emissive color & specular lighting.
  • Javascript: @script attribute declarations can now appear before 'import'.
  • Javascript: Files containing interface and/or enum definitions named after them are now supported (e.g. interface IFoo in file IFoo.js) as the compiler will no longer generate a conflicting MonoBehaviour definition.
  • ModelImport: Warnings about quaternions now contains the name of the model and can in most cases be clicked to highlight the model in the project view.
  • Native Client: Now supports different resolutions then the native desktop resolutions in fullscreen mode. The screen mode will not actually changed, but it will render into smaller buffers, and Chrome will upscale when blitting.
  • NavMesh: Bake configuration of inaccuracy threshold for radius/height exposed.
  • NavMesh: API Exposed : NavMeshAgent.CalculatePath() added.
  • NavMesh: API Exposed : OffMeshLink.costOverride - allows changing patfinding cost on OffMeshLinks.
  • NavMesh: API Exposed : NavMeshAgent.steeringTarget, NavMeshAgent.desiredVelocity, NavMeshAgent.path (get/set).
  • NavMesh: Baking supports trees instanced in terrains.
  • Runtime: Improve QualitySettings API.
  • Unwrap: All known cases of mac/win uv generation were fixed. Please reimport your meshes.
  • Web Player: If the embedding page or unity3d file is hosted on https, the web player will use https for all connections (update checks and downloads), so the browser will not show warnings about insecure connections.
  • Fixes:
  • Android: Callbacks to MonoBehaviour.OnApplicationFocus is now supported.
  • Android: Added support for Galaxy Note Stylus Pen (through KeyCode.LeftControl and KeyCode.Delete).
  • Android: VFY warnings when launching an application on devices with an older OS version has been removed.
  • Android: Nvidia's PerfHUD for Tegra reported increasing frame times when the application was paused.
  • Android: A few hardware keys were missing, like (forward) DELETE and left/right CTRL - these have now been added.
  • Android: fixed crash upon the end of microphone recording
  • Android: fixed crash on pre Gingerbread devices while starting up
  • Android Remote: fixed flickering and improved stability on tablets.
  • Asset Importing: Fixed an issue causing animations including scaling to (0,0,0) to be imported as having extremely large bounding boxes, which in turn caused issues with shadows and culling.
  • Asset Server: Local project settings no longer show up as conflicts when checking out new projects.
  • Asset Server: Fixed a problem where changes to project settings were not always fetched from the server.
  • Asset Server: Models that require an external program to import will again work without having to install the program on all clients.
  • AssetBundles: Fixed a crash sometimes caused by simultaneously downloading multiple asset bundles with caching enabled.
  • Audio: Custom filters now respect 3D panning (use PanLevel to make it 2D)
  • Audio: Importer now uses way less memory, and handles out-of-memory errors gracefully.
  • Audio: Crash fix when recompiling while playing a custom filter.
  • Audio: Fix dry/wet group asserts.
  • Audio: Importing 0-length audio clips, don't crash anymore.
  • Audio: GetData() on an AudioClip recorded with Microphone is now working.
  • Cache Server: Updated to node.js 0.6.6
  • Cache Server: Fix LRU implementation
  • Cache Server: Will now invoke LRU to make space when running out of disk space.
  • Editor: Fix intermittent "Moving file failed" error when building player.
  • Editor: Fix error when attempting to edit deleted terrain.
  • Editor: Advanced texture importer now correctly reflects internal texture import modes (For example no linear option for normal map textures).
  • Editor: Setting color preferences now has an instant effect on the editor.
  • Editor: Crashes caused by having modified assets and then pressing play
  • Editor: Make dragging things into the Inspector work correctly with multi-object editing.
  • Editor: Make Materials instantiated at runtime be shown with correct headers in the Inspector.
  • Editor: Fix some clipped labels in GameObject inspector header when bolded.
  • Editor: Use single-threaded rendering on Windows XP due to hangs when changing input language.
  • Editor: Only display the navmesh gizmo when the navigation window is open.
  • Editor: Fix the LOD bounding box visualization.
  • Editor: Fix bug where texture max sizes were set to 0 when multi-editing textures and enabling overwriting settings for a platform.
  • Editor: Fix bug where changing layout would generate an error when a docked Preview window was present.
  • Editor: Fix missing documentation link icons in the Editor.
  • Editor: Choosing "Edit Script" from the context menu of a MonoBehaviour when multiple objects are selected will now only open the script once.
  • Editor: Dragging a script into the Inspector when multiple objects are selected will now attach it to all the objects instead of only one.
  • Editor: "Build Settings" window disappears when focus is lost and does not reappear when focus is gained.
  • Editor: Undo functionality is lost when mouse cursor leaves scene view area.
  • Editor: Yaml format now stores floating point values in a binary exact way.
  • Editor: Cache server now works correctly with @ model files.
  • Editor: Imported models with Skinned Rigs in root nodes automatically generate an extra root game object. This makes importing animations without a model easier and fixes a common issue when importing animations made with Mixamo.
  • Editor: (Windows) Build Settings will not open after Cancel
  • Editor: (Windows) Asset progress bar & build progress steals focus from other applications on windows
  • Editor: Will now give a proper error when trying to import a movie with unsupported codecs.
  • Editor: Check for scene camera rotation of NaN and fix it.
  • Editor: Drastically reduce Scene View grid artifacts that caused it to be imprecise.
  • Editor: Fixed issue where editor would hang if left in background
  • Editor: Child's scale is updated correctly when rotating with Inspector or Rotation Tool (when parent is non-uniformly scaled).
  • Editor: Deleting the root game object in OnPostProcessModel will no longer crash Unity
  • Editor: Importing FBX models with bad texture references like "." and ".." no longer crashes Unity
  • Editor: Upgrading a 3.4.x projects with Modo files will now retain ids for meshes, meaning that references to meshes are not lost. References to subgameobjects will still be lost.
  • Editor: (Windows) Fixed common random crash.
  • Editor: Fixed crash when calling SetActiveRecursively within Awake.
  • Editor: Make NavMeshAgent use gizmo for shape that's consistent with CapsuleCollider and CharacterController.
  • Editor: Make asset labels work again for scenes and other default assets.
  • Editor: Show materials of ParticleSystemRenderer in the Inspector.
  • Editor: On Windows: Build Settings will not open after Cancel.
  • Editor: Undo does not work when dragging (Win issue only)
  • Editor: Import package failed to detect modified contents.
  • Editor: Fixed-function alpha testing is disabled correctly when emulating gles20.
  • Editor: Fix performance of Gizmos.DrawIcon.
  • Editor: Hide camera on LOD Group prefab.
  • Editor: Fix situation where light probe editing can lock the scene.
  • Editor: Fixed movie playback in inspector.
  • Editor: Make arrow navigation work for Object Picker grid / list even when search field has focus, like in 3.4.
  • Flash: Fix issues with cubemap and lightmap texture importer.
  • Flash: Make MouseEnter & friend callbacks work for colliders and gui elements
  • Flash: support bool ^ bool construct
  • Flash: fix crash when using public arrays of arrays
  • Flash: fix crash when using public array of booleans
  • Flash: make calling Desroy() on a Monobehaviour work
  • Flash: Fix audio playing as loud whitenoise in many cases
  • Flash: calling .ToString() on an interface
  • Flash: fix GUIText components with fontsize!=0 spewing the logfile with neverending errormessages
  • Flash: many improvements to support for nontrivial usages of interfaces.
  • Flash: fix "bool && bool && bool" construct
  • Flash: fix crashes on character controller hits
  • Flash: fix physics "out of range" errors.
  • Flash: fix audio; pan, mute, pause, stop
  • Flash: fix audio; report correct time.
  • Flash: fix swf, now has correct width and height in header.
  • Flash: fix Application.targetFrameRate
  • Flash: fix QualitySettings.antiAliasing
  • Flash: fix Application.ExternalCall now works with arguments
  • Flash: fix key inputs space, shift, control individual keycode
  • Flash: add mousewheel support, not available on mac
  • Fixed substance import issues with input textures.
  • Graphics: Fixed error message when setting null texture on a GUITexture.
  • Graphics: Fixed more than one directional light shadow (via "fullfowardshadows") not working in Forward rendering if Image Effects are used.
  • Graphics: Tweaked RGBM lightmap encoding, so that there are no brighter lines appearing in dark areas when bilinear filtering is used. Makes a huge difference in linear lighting mode, since dark values get relatively much brighter.
  • Graphics: Fixed SSAO not being anti-aliased when AA is used.
  • Graphics: Fixed error: "D3D device reset failed [invalid call]".
  • Graphics: Detect broken GPU profiling on certain drivers on Mac.
  • Graphics: Made shader compiler generate proper code when the surface function wanted view direction and didn't write to o.Normal.
  • Graphics: Fixed incorrect rendering order when using transparent shader with ParticleRenderer and MeshRenderer.
  • Graphics: Fix non-uniformly scaled meshes getting wrong vertex colors on Windows.
  • Graphics: Fix a potential crash bug with multithreaded rendering.
  • Graphics: Fix performance regressions with dynamic/static batching in multithreaded renderer vs. single thread.
  • iOS: Fixed an "Input.mousePosition on mouse up" regression.
  • iOS: Fixed player logging disabled ignored on iOS and Android when player logging is disabled for OS X.
  • iOS: Improved .NET 2.0 full profile out of the box compatibility with WebRequest API. Managed code stripping still needs manual care.
  • iOS: Fixed AudioClip managed callback stripping issue.
  • iOS: Fixed issue causing ARMv6 device reboots.
  • iOS/Android: Fixed batching/skinning issues due to meshes being in interleaved format right away
  • gles11 skinning crash when mesh have tangents
  • missing uv2 channel causing graphics artefacts and/or crashes
  • batching crashing when shader wants not exactly same components as mesh provides
  • Lightmapping: Use alpha from the base texture (_MainTex) as the gloss map.
  • Lightmapping: Got rid of self-shadowing artifacts in small scenes placed far away from the origin (0,0,0).
  • Lightmapper: Fixed a crash occurring when light probes were baked, all probes from the light probe groups removed and then probes baked again. (You need to re-bake or delete the light probe asset if you experienced the crashes.)
  • Lightmapper: No longer crashes trying to lightmap meshes without normals.
  • Lightmapper: Fixed the issue with terrains taking a long time to export when in linear space.
  • Mac OS X Standalone: Make sure mouse cursor is visible when showing Quit confirmation alert.
  • Mac OS X Standalone: Will not show window restore dialog and crash in OS X Lion.
  • Mac OS X Standalone: don't quit, if cancel button was pressed during Quit dialog in windowed mode
  • MonoDevelop: Ensure selected script gains focus.
  • MonoDevelop: Don't open script projects twice.
  • MonoDevelop: Fix a code completion database corruption issue.
  • Native Client: HTTP POST now works (for real this time).
  • Native Client: Building to pathnames with a period now works correctly.
  • Native Client: WWW.responseHeaders now works in NaCl.
  • Native Client: WWW will now work for any host which has allowed this using the Access-Control-Allow-Origin: header.
  • Native Client: HTTP POST and custom HTTP headers now work using WWW class.
  • Native Client: Build & Run now works if there is a space in the path name.
  • Native Client: Icons in Web Player player settings will now be correctly used for NaCl builds.
  • Native Client: PlayerPrefs will now work if setting multiple preferences in one frame.
  • Native Client: Backspace will now work in text fields.
  • Native Client: Input axes assigned to the mouse wheel input will now work correctly.
  • NavMesh: Fixed problem where positions in terrains would sometimes be inaccessible. Rebaking NavMesh is necessary for this to take effect.
  • NavMesh: When NavMeshAgent avoidance type is set to None - that agent will ignore collisions with other agents.
  • NavMesh: Fixed issue where stopping agents would not get a new path.
  • NavMesh: Fixed performance problem in avoidance system when agents have high speeds.
  • NavMesh: Fixed crash when changing bake settings at runtime.
  • NavMesh: Fixed crash on out if memory when baking NavMesh.
  • Networking: Fixed problems with built-in multiplayer networking on Windows when using VPN/proxy software which manipulates traffic coming from the browser. DNS and interface IP address lookup are now done differently.
  • Occlusion culling: Fixed several out of memory issues, many occlusion accuracy improvements.
  • OS X Web Player: Fixed development Web Player to work on OS X 10.5.
  • Physics: Make Skinned Cloth work again.
  • Physics: Fixed a crash when creating a Terrain with too many Tree colliders.
  • Physics: CharacterController will now correctly focus in the scene view.
  • Prefabs: Fixed issue where floating point values were not accurately represented in prefabs and infinity was not supported.
  • Remote Profiler: Not sending instance Ids back, since these don't match the instance Ids of the editor - caused detail view to display wrong instance names.
  • Rendering: Fixed the issue with dynamic objects using light probes not getting direct light from auto lights in dual lightmaps mode (both in deferred and in forward rendering paths).
  • Shuriken: Fix issue where deactivated particle systems would remain frozen on screen after reactivation.
  • Shuriken: Scrubbing sensitivity is increased.
  • Shuriken: Sub emits are no longer identical in edit mode.
  • Shuriken: Fix issue where identical particle systems would emit identically (as opposed to randomly).
  • Shuriken: Shuriken Start Delay fixed.
  • Shuriken: Tooltips shown through the Particle System Curve Editor fixed.
  • Shuriken: Made it easier to search for 'Particle System' and 'Shuriken' in the scripting reference.
  • Shuriken: Shape gizmos disappear when saving scene fixed.
  • Shuriken: Wrong curves displayed in "Limit velocity over Lifetime" fixed.
  • Shuriken: Emitter scaling has been removed.
  • Shuriken: Sub-emitters no longer behave differently in Simulate and Play mode.
  • Shuriken: Random Between Two Constants added to MinMaxCurve.
  • Shuriken: Fix that new prefab of particle system have play called.
  • Shuriken: Fix that particleEffectWindow have allocated UI when not showing.
  • Shuriken: Fix scene view gui not rendered when hiearachy changes.
  • Shuriken: Fix various CollisionModule issues.
  • Shuriken: Removed objectReference when removing collision plane transform reference.
  • Shuriken: Fix the issue with the color picker auto-closing when being opened from the gradient editor
  • Shuriken: Make sure gameview and scene view are repainted after clearing particle system.
  • Shuriken: Curves are removed from the curve editor when selecting a new particle system in the inspector
  • Shuriken: Show all modules by default (also disabled modules)
  • Shuriken: Particles are kept and rendered paused when deselected.
  • Shuriken: Rearranged modules
  • Shuriken: Renamed 'Energy' to 'Lifetime'
  • Shuriken: Fix that removed modules would be shown after restart of Unity
  • Shuriken: Rename: 'Lock to Transform' to 'Simulation Space'
  • Shuriken: Disable remove menu item when Show All Modules is enabled
  • Shuriken: Fix copy paste of MinMaxCurve to include curve scalar
  • Shuriken: Renamed API 'Prewarm' to 'Simulate' (Fastforwards the particle system by simulating particles over given period of time, then pauses it.)
  • Shuriken: Show other particle icons when a particle system is playing
  • Shuriken: Allow removal of ParticleSystemRenderer module when Show All Modules is enabled
  • Shuriken: Always play a particle system when its initialized
  • Shuriken: Larger click area for module enable button
  • Shuriken: Resimulate and Wireframe toggles now shown in ParticleSystemInspector
  • Shuriken: Removed context menu for Wireframe (now shown in inspector)
  • Shuriken: New color for Shape gizmos
  • Shuriken: GradientEditor: Input field for key location
  • Shuriken: ParticleSystemRenderer: When changing to Mesh rendermode, set Cube.fbx as default mesh
  • Shuriken: Fix that it is not allowed to create particle system on a Prefab
  • Shuriken: Added Show Location of ParticleSystem to context menu of Particle System.
  • Shuriken: Fixed that Undo didn't work when deleting a module.
  • Shuriken: Particle systems no longer evaluated when paused.
  • Shuriken: Velocity over Lifetime and Force over Lifetime module curves now have separate random values for x, y and z.
  • Shuriken: Fixed issue where in some setups particles would not move smoothly.
  • Shuriken: Particle systems now get correct default values also when created from the Add Component menu.
  • Shuriken: Particle meshes now have tangents.
  • Shuriken: Rotation over lifetime and Rotation by speed no longer override each other (they are additive).
  • Shuriken: Particle emission no longer show visible patterns.
  • Shuriken: Particles now rotate with the particle system if Lock to transform is enabled.
  • Social API: Fixed crash when loading friends list or user lists
  • Substance: Fixed several Substance 3.4 regressions.
  • Text mode serialization now uses more precise floating point representation for lossless encoding.
  • WWW class now won't treat redirect responses (302, etc) as errors.
  • Changes:
  • Cache Server: Will now by default write cache to current working directory, and not to some location in user folders.
  • Cache Server: Added --path command line option to set cache location.
  • Cache Server: Added --size command line option to set maximum cache size in bytes.
  • iOS/Android: Android Target Graphics setting is not bundled with iOS Target Platform setting anymore.
  • License: Generic external version control (.meta files) are now available in the free version.
  • Lightmapper: Inspector for LightProbes.asset no longer gives access to all the data and displays the probe count instead. Debug inspector allows only for editing the coefficients.
  • Native Client: Added Physics stripping checkbox for smaller build size.
  • NavMesh: API Changed : NavMeshAgent.DistanceToEdge() renamed to NavMeshAgent.FindClosestEdge().
  • NavMesh: API Changed : NavMesh.SamplePosition : reversed arguments for maxDistance, acceptMask (to be consistent with physics).
  • NavMesh: API Changed : NavMeshAgent.GetCurrentOffMeshLinkGameObject() and NavMeshAgent.GetCurrentOffMeshLinkData() are replaced with: NavMeshAgent.currentOffMeshLink and OffMeshLinkData.offMeshLink.
  • NavMesh: NavMeshAgent radius, height and baseOffset are scaled by transform scale values (consistent with CharacterController). Adding component to gameObject sets appropriate NavMeshAgent dimensions.
  • NavMesh: Better handling of assigning invalid values to NavMeshAgent properties (speed, acceleration etc.)
  • NavMesh: Default settings changed for baking NavMesh and NavMeshAgent radius=0.5 height=2.0.
  • NavMesh: Bake configuration of tile edge length removed.
  • Shuriken: Added tool tips to all properties and module headers.
  • Shuriken: Added ParticleSystem.IsAlive() function to API which can be used to find out if particle system (or any of its children) are alive.
  • Shuriken: Added local space option to Force over lifetime module.
  • Shuriken: Added Min Kill Velocity to Collision module.
  • Shuriken: Renamed elements in API: ParticleSystem.Particle: energy now called lifetime and startEnergy now called startLifetime.
  • Shuriken: Renamed ParticleSystem.startEnergy to ParticleSystem.startLifetime.
  • Shuriken: Dampen in Collision Module is now inverted (consistency with limit velocity module).
  • Social API: Added a LoadUsers function for fetching user profiles for given user IDs.
  • Social API: Refactored all classes into a UnityEngine.SocialPlatform namespace, except for the main Social class itself. You now need to use/import the SocialPlatform namespace to use Achievement/Score/etc classes (and they all now derive from interfaces). Implementations (like GameCenter) are placed into their own namespace as well but you only need to use/import them if you need functionality, provided by the implementation, which is not in the generic Social API.
  • Social API: Renamed UnityEngine.SocialPlatform to UnityEngine.SocialPlatforms, and GameCenter class to GameCenterPlatform.
  • Social API: Corrected various inconsistencies in API names (like Score.playerID instead of Score.UserID)
  • Social API: Added GameCenterPlatform.* functions for resetting achievements and for showing the default completion banner (iOS 5.0+)
  • Social API: Added factories for leaderboards and achievements

New in version 3.5.0 Beta 6 (December 28th, 2011)

  • Major New Features:
  • Adobe Flash: This Public Preview version of 3.5 support publishing to Adobe SWF format, otherwise known as Flash Export: A separate FAQ for this preview release is available at http://unity3d.com/preview/faq.
  • Built-in LOD management via LOD Groups.
  • Lightmap baking works for LODed models. The lightmapped objects uses a surface transfer algorithm similar to normal map baking.
  • Built-in HDR support and adaptive tonemapping.
  • New Particle System - "Shuriken":
  • Edit, view and playback control in Edit Mode. You can manually scrub time to inspect and fine tune the particle system using the Scene View playback controls.
  • Module based: Each particle system has several modules that can be enabled to control color, size and movement of particles.
  • Compose several particle systems in a hierarchy and playback of them will behave as one particle system.
  • Built-in curve editor for easy curve editting.
  • Pathfinding and avoidance sub-system added:
  • NavMesh: Path-finding API. Bake navigation mesh with markup areas.
  • NavMeshAgent: Character navigation. Avoidance system.
  • Occlusion Culling has been rewritten from scratch, it is much faster to compute and never incorrect:
  • OcclusionPortal component has been added to allow for doors that can be opened and closed at runtime.
  • Terrains works well with occlusion culling now.
  • Default mode for occlusion culling is automatic portal generation, which is very accurate and works very well for dynamic objects.
  • Support for Occludee Static. This is used to mark objects as statically occludablable but not be an occluder. For example transparent objects that don't move should be marked as Occludee Static.
  • Asset Cache server:
  • Assets imports are shared between project folders and users. Switching Platform takes minutes instead of hours on large scale projects. Grabbing changes from other team members is almost instant.
  • Gamma-correct rendering option:
  • Multithreaded rendering.
  • Most of rendering & driver overhead is put onto another CPU core on multicore systems.
  • You don't have to do anything, it just works!
  • Currently only on desktops & Xbox 360; and not in the web player yet.
  • Unity for Google Native Client.
  • Light Probes, which allow for using baked lighting on characters and other dynamic objects.
  • Directional Lightmaps support.
  • It is now possible to select and edit multiple objects simultaneously with the Inspector!
  • The Inspector preview supports showing the multiple selected objects.
  • Multi-editing can be enabled for custom editors with a single line of code if they are based on using SerializedProperty.
  • Text based scene and prefab format can be used for improving team workflows. This can be turned on or off per project in the Editor settings.
  • GPU Profiler. Added the ability to see GPU usage to the profiler.
  • A ton of memory and performance optimizations. Several improvements to multithreading.
  • Graphics Features:
  • SkinnedMeshRenderer bounding volume is now always relative to the most common root bone and works much better with Ragdolls: UpdateWhenOffscreen bounding volume option now uses bone relative bounding volumes instead of vertices and is around 100x faster.
  • WebCamTexture class to support cameras!
  • High-resolution screenshots can be done via Application.CaptureScreenshot superSize parameter.
  • Added new Soft Shadows mode for Directional Lights that uses rotated disk sampling pattern.
  • Lightmapping: Added the Area Light (baked only) light type.
  • Lightmapping: Skinned meshes can now be lightmapped. Use for meshes that don't change the pose much after baking.
  • Advanced rendering controls:
  • Image Effects can optionally be applied before any transparent geometries are drawn. Use ImageEffectOpaque attribute on the OnRenderImage function.
  • Subtractive/Min/Max blending support, use BlendOp Min|Max|Sub|RevSub in ShaderLab.
  • Multiple Render Targets, Graphics.SetRenderTarget can take multiple color targets.
  • Ability to share depth buffers between different color buffer targets, see Graphics.SetRenderTarget, RenderTexture.colorBuffer etc.
  • Various graphics optimizations:
  • Optimizations for OpenGL ES 2.0 to avoid performance spikes with dynamic geometry.
  • Optimized culling and shadow caster culling.
  • More low level rendering possibilities from native code Plugins:
  • Ability to access Direct3D 9 device pointer.
  • Plugin callbacks on the rendering thread, so that low-level plugin rendering can co-exist with multithreaded renderer in Unity 3.5.
  • Surface Shaders: added optional final color modifier function (finalcolor directive). This can be used to implement custom Fog on platforms that can't do usual fog (like Xbox 360 or PS3).
  • Added renderer.SetMaterialBlock for lightweight way of adding per-instance material parameters without duplicating the materials. Also, MaterialPropertyBlock does not have fixed small capacity anymore.
  • Quality settings overhaul:
  • Quality settings can now be enabled / disabled per platform. Quality levels that are disabled on a target platform will be stripped on build.
  • Maximum LOD level and LOD bias can be setup in the Quality settings
  • The smallest LOD level in the quality settings will be used to automatically strip higher LOD levels. This makes it possible to strip any high poly models and all their dependencies on low-end devices.
  • Editor Features:
  • Middle-click on any surface in the Scene View to focus on the clicked point.
  • AssetModificationProcessor class API created with custom VCS systems in mind: adds IsOpenForEdit checks on assets which can prevent assets from being edited.
  • The preview in the Inspector can be detached to a separate window.
  • Implemented support for C4D file import from Cinema4D R13.
  • Implemented better detection of imported material types. Unity uses normal-map and transparency properties (texture or factor) to apply one of the shaders: "Bumped Diffuse", "Transparent/Diffuse" or "Transparent/Bumped Diffuse".
  • Implemented import of texture Tiling and Offset values.
  • Implemented support for baking animation through FBX exporter during C4D file import (supported only from Cinema 4D R13, old version use our native IK baker).
  • Mac: Added support for full-screen mode in the new Mac OS X Lion 10.7.
  • Improved preferences window that users can extend using the PreferenceItem attribute.
  • Gizmos can have world-space sizes. Nice, hi-res gizmos were added.
  • The Transform gizmo has a new planar transform tool for performing two-axis translations, which replaces the Free Transform tool. Hold the 'shift' key to switch back to the Free Transform tool.
  • GUI class now has a DrawTextureWithTexCoords function for specifying texture coordinates.
  • Entire curves can now be dragged vertically.
  • Gizmos are now depth tested, and exist in world space. The gizmo size can be adjusted using the existing gizmos size slider.
  • It is now possible to mark objects static for different situations (lightmapping, navigation, occlusion ect) via the improved static checkbox.
  • Find objects in scene that reference the selected asset.
  • Small appearance tweaks
  • New Prefab system allows for adding / removing components from instances without breaking the prefab connection.
  • Backwards compatiblity of old prefabs is maintained
  • Made prefabs not show as Missing in play mode
  • Audio Features:
  • Audio buffer read and write access (AudioClip::Get/SetData)
  • Low latency custom filters. Filter/Produce audio at mixer rate with OnAudioFilterRead() callback.
  • Extended inspector GUI support for custom filters (out gain and performance meters).
  • Microphone support on all platforms
  • Mixer settings accesible from script (buffer sizes and samplerate)
  • iOS Features:
  • Implemented Build&Run support for Xcode 4.x. (Not compatible with Xcode 3.x, but might be turned off in Editor settings).
  • Accelerometer frequency now is controlled from Player Settings.
  • Application.targetFrameRate works. Removed kFPS constant due to this. 30 FPS is default
  • Added "Show Loading Indicator" option, to show spinner when loading game.
  • GameCenter support added through the social API (does not include matchmaking and voice features atm).
  • iAd support added.
  • Push notification support added.
  • Compass support added.
  • Camera support added.
  • Microphone support added.
  • Image Filters now determine the format for intermediate Render Targets from currently bound FrameBuffer (most usual - default Display Buffer). So if you use 16bit Display Buffer you will get 16bit rt (RGB565). While it makes image filters a bit faster it also is more gles-conformant. If you want to use Image Filters that needs alpha channel or see banding, please set "Use 32-bit Display Buffer" checkbox in Player Settings, or use newly added Handheld.use32bitDisplayBuffer API.
  • Android Features:
  • Added "Show Loading Indicator" option, to show spinner when loading level synchronously.
  • QualitySettings.antiAliasing now works, allowing you to set AA level at runtime or in Editor.
  • Added "Use 32-bit Display Buffer" and "Use 24-bit Depth Buffer" options.
  • Added Screen.dpi to help determine the need for high/low resolution graphics.
  • Added Joystick / Mouse (USB) support - only available with Honeycomb 3.1 and later.
  • Improved load times with a new file reader backend.
  • Profiler information can now be tunneled over ADB.
  • Input latency is improved, with input events handled in native code with Gingerbread 2.3 and later.
  • Support for Gyroscope / Compass input added.
  • Camera support added.
  • Microphone support added.
  • Added Texture Override for ETC/RGBA16, under Build Settings.
  • Added API targets for Honeycomb 3.2 (MR2) and Ice Cream Sandwich (4.0)
  • Other Features:
  • MonoDevelop: Upgraded to MonoDevelop 2.8.2.
  • Generic Social API added, it supports GameCenter only at the moment and Xbox Live support will be enabled later. Limited dummy functionality runs on unsupported platforms (so code is testable in the Editor for example). Third parties can implement the interface to add support for their implementation on any platform.
  • Physics: Added ConfigurableJoint.swapBodies property to make the joint act as if the two connected Rigidbodies were swapped.
  • AssetPostProcessor can now be versioned. See AssetPostProcessor.GetVersion for details.
  • Asset Server can now be used with Cache Server. Note that this requires committing all assets to the server project after upgrading to 3.5 beta 4 and that the server project will not be usable by older Unity versions after that commit. So remember to back up everything, including the server project.
  • Added Application.StreamingAssetPath which points to the location of the data in the Assets/StreamingAssets folder on all build targets.
  • Added Input.isIMESelected to determine if the user has currently enabled IME conversion mode for keyboard input.
  • All Editor settings files that needs to be versioned has been moved into a ProjectSettings folder.
  • If upgrading an existing project the current settings files will be copied to the new folder.
  • If you are using version control you should upgrade your project by opening it in the editor and then your should remove the old settings files from version control and simply add the ProjectSettings folder.
  • Conclusion: All you need to add to version control from 3.5 beta3 is your Assets folder and ProjectSettings folder.
  • Improvements:
  • All Project Settings are now in a folder called "ProjectSettings" next to the assets folder. This folder should be added to version control. This means that all assets in the library should be only controlled by Unity and never be under version control.
  • Android: Added AndroidJavaRunnable to automatically marshal script delegates to Java code.
  • Android: Automatically unlock device when running development builds.
  • Android: Pass touch and key events directly to native code when using NativeActivity.
  • Android: Removed delay when returning to an application, stemming from an unnecessary recreation of the GL context.
  • Android: Store the keystore file relative to the project path.
  • Audio: Changing mixer's sample rate and buffer sizes from script now possible.
  • Audio: Cross domain security check for AudioClip::GetData() in webplayers.
  • Audio: Custom DSPs (OnAudioFilterRead) now respect the settings of the attached AudioSource (mute, attenuation curves etc.)
  • Audio: Microphone frequency capabilities now accesible from script and can be used in Record().
  • Audio: Multichannel (>2) OGG files are now encoded and mapped correctly.
  • Audio: New non-blocking waveform render. Higher resolution and nicer lookin'.
  • Boo: pattern matching for lists.
  • Boo: selective import support.
  • Creating a new JavaScript automatically adds #pragma strict by default.
  • Documentation: Clarified docs on ExecuteInEditMode.
  • Documentation: Clarified how WrapMode works when animation clip is playing in reverse.
  • Editor: "Generate Lightmap UVs" fixes regarding mac/win difference. Not there yet, but should be fixed for most. Please reimport meshes and rebake.
  • Editor: A LOD group that was created on import can now be updated in the scene and send these settings back to the importer.
  • Editor: Added "All" and "None" items for active Layer selection menu.
  • Editor: API: Added optional parameter includeChildren to PropertyField to allow creating entire class or array controls with a single function call.
  • Editor: API: Made DrawDefaultInspector work with both LooksLikeInspector and LooksLikeControls.
  • Editor: API: Made PropertyField respect indent level instead of overwriting it with property depth.
  • Editor: Asset Import performance optimizations for large project folder. For example detecting assets to be refreshed is around 10x faster now. Opening an already imported project is around 50x faster.
  • Editor: Audio clips now use the static preview system. This means that audio clips now have a preview in the object picker/browser.
  • Editor: Break prefab menu item added to Game Object menu (Break button was removed from gameobject inspector)
  • Editor: Curve Editor key selection improvement: Always select the topmost key if keys of multiple curves are overlapping.
  • Editor: Debug.DrawLine and Debug.DrawRay now take an optional bool that can disable depth testing.
  • Editor: Ensure terrain brush settings are not reset when selecting a different object or when entering or exiting Play mode.
  • Editor: EnumPopup element strings are now "nicified".
  • Editor: Even more fixes to "Generate Lightmap UVs" to make it generate same UVs across Mac/Win.
  • Editor: Fixed various project import issues where a crash of Unity could lead to a full project reimport in some cases.
  • Editor: Implement EditorGUI functions BeginChangeCheck, EndChangeCheck, BeginDisabledGroup, EndDisabledGroup as more high-level alternative to setting GUI.changed and GUI.enabled directly.
  • Editor: Import settings are now shown at the top in the Inspector and the imported result below (when relevant).
  • Editor: Improve feedback to the UI about which color space is active.
  • Editor: Lightmapping Window, Occlusion Window, and Navigation Window now have type based scene filters for quick picking of relevant objects.
  • Editor: Made intValue property in SerializedProperty API work for LayerMask type.
  • Editor: Make inspector display of large Asian fonts with kerning information fast, and show progress bar for import.
  • Editor: Miscellaneous LOD group editor improvements.
  • Editor: More precise rectangle selection of meshes
  • Editor: New EditorGUIUtility.isProSkin property.
  • Editor: Objects can now be tagged seperately as occluders and occludees
  • Editor: Optimized performance of changing parenting in the hierarchy window
  • Editor: Polished Import/Export package dialogs a bit.
  • Editor: Prefabs now have a "break prefab" button that can disconnect the prefab from the prefab instance
  • Editor: Scene View FPS motion is a bit slower by default, and has acceleration for when you want to go far.
  • Editor: Show warning about precision errors in Transform inspector if world position exceeds 100.000 in any axis.
  • Editor: The Navigation window now lets you change the Navigation Static flag of selected game objects.
  • Editor: Transform gizmo now has planar sliders.
  • Editor: Undo / Redo now works as expected when enabling and disabling components.
  • Editor: Unity can import meshes with vertex count larger than 65000. Instead of aborting import it will split the mesh into parts each containing less than 65000 vertices.
  • Editor: Upgraded FBX SDK to 2012.2.
  • Editor: When changing numbers using sliders, do context sensitive rounding. The rounding will leave exactly enough decimals to represent the change resulting from moving the slider one pixel. If more decimals are typed in manually, they will not be lost (within the limitations of floating point numbers).
  • Editor: When selecting objects of different types, the Inspector will now help narrowing down the selection to objects of only one type.
  • Editor: You can now set a default font color via the font importer.
  • GameObject can now use OffMeshLinkGeneration static flag to enable automatic JumpLink and DropLinks only on specific objects
  • Graphics: Extended the maximum number of shader keywords from 32 to 64.
  • Graphics: For each shader compilation error show the keywords that were used.
  • Graphics: MaterialPropertyBlock can now have an unlimited number of properties.
  • iOS: added Caching.SetNoBackupFlag and Caching.ResetNoBackupFlag to set "No Backup" flag on cache.
  • iOS: added iPhone.SetNoBackupFlag and iPhone.ResetNoBackupFlag to set "No Backup" flag
  • iOS: Caching now set no-backup flag by default on newly added objects.
  • Lightmapping: Exposed the padding property that controls texel spacing between bake instances.
  • Lightmapping: Improved mipmap generation for lightmaps - the space between bake instances is filled with colors coming from those bake instances when going down and up the mip chain. The lighting in smaller mip levels is more accurate and preserves the overall feel of the lightmap better. Please rebake the lightmaps to get the benefit.
  • Mac OS X Standalone: Added a "close" button to the player window.
  • MonoDevelop (Unityscript/Boo): Added limited jump to definition support.
  • Occlusion culling baking now doesn't run out of memory.
  • Occlusion culling now works correctly with shadows and is much faster. All occlusion culling modes should work as expected now across all platforms.
  • Offmeshlinks now have per offmesh link overridable cost
  • Player: Pre-load asset dependencies when doing Resources.Load/LoadAll to avoid hiccups during runtime.
  • Profiler: Added API to enable binary filedump of profiling data, and API to read it back in the Editor
  • Reduced memory usage when importing large project folders.
  • Scripting: Added Handheld.use32bitDisplayBuffer to change Display buffer bit-depth at runtime.
  • Scripting: Added WWW.textureNonReadable to mark as non-readable after download.
  • SkinnedMeshes can now be marked as occluders and occludees
  • Static batch mesh generation (Part of the build process and editor play mode) is now a lot faster.
  • Support copying files from Assets/StreamingAssets for Win/Mac standalone players.
  • Unityscript/Boo: Better linq (and extension method support) in general: 'import System.Linq;' is enough now.
  • Unityscript/Boo: Optimized multidimensional array operations (up to 100X in some cases).
  • Unityscript: Warn when bitwise operators are used with boolean operands to suggest the shortcircuiting boolean operators.
  • When baking occlusion culling with transparent objects marked as occluders a warning is now given telling you which objects are marked static incorrectly.
  • When imported assets are dirtied because a script modifies the imported asset it will no longer cause the asset to be reimported. Instead it will unload the asset and reloadk from disk as soon as nothing is referencing the asset anymore. This fixes an issue where a lot of assets would get reimported when shutting down Unity after entering playmode depending on what the scripts did.
  • Windows: Connected joysticks are detected at runtime.
  • Fixes:
  • Android: Texture2D.EncodeToPNG() / Application.CaptureScreenshot() produced broken images.
  • Android: Calling Application.Quit from OnApplicationPause() had unexpected consequences.
  • Android: Calling Network.TestConnection() caused the application to crash.
  • Android: Calling Time. from OnApplicationPause() could cause application to hang.
  • Android: Calling game scripts from the Java UI thread could cause a crash on rare occasions.
  • Android: Fixed a GLES 2.0 rendering problem specific to Broadcom chipsets.
  • Android: Fixed crash on Honeycomb/IceCreamSandwich devices triggered by 'auto-rotation' or any kind of screen rotation.
  • Android: Fixed incorrect handling of Debug.Log in non-development builds - Message is now printed, but callstack parsing is disabled to keep performance up.
  • Android: Fixed video playback when using a local (file://) source.
  • Android: Graphical artifacts in decompressed ETC1 textures have been removed.
  • Android: In the editor resolution/aspect ratio settings, the HTC Legend dimensions were swapped.
  • Android: JDK 7 can now be used without getting a INSTALL_PARSE_FAILED_NO_CERTIFICATES error with signed applications.
  • Android: JNI marshaling null-strings from Java would cause the VM to abort.
  • Android: The basic/pro license was not honored correctly in some places.
  • Android: The saved instance state bundle passed to Activity.onCreate was not forwarded from the Proxy activity.
  • Android: Update AndroidManifest.xml permissions when Application.internetReachability is used - adding ACCESS_NETWORK_STATE fixes the problem with incorrect return value.
  • Android: Using a custom splash during an advanced license trial period could lead to runtime crashes when trial expired.
  • Android: Using a Linux 3.x kernel would cause Unity to hang/crash on multi-core CPUs.
  • Android: WWW calls to a server that redirects from HTTPS to HTTP were failing.
  • Asset Server: Fixed a bug that caused a crash when reverting a project setting to an older version in the Asset Server history view.
  • AssetBundles: Fix AssetBundle.mainAsset loading all dependencies of the mainAsset.
  • AssetImport: Fixed crash when selecting asset with name including ".."
  • AssetStore: Fixed crash when exiting Unity or switching projects while the Asset Store window was loading a page.
  • Audio/Video: Pause audio when video is done in the inspector.
  • Audio: 'Decompress On Load'/'Compressed in memory' option not shown for uncompressed audio.
  • Audio: Don't show BPS for MPEG files.
  • Audio: Fix custom rolloff curves
  • Audio: Fixed 32 bit filtering.
  • Audio: libVorbis updated to the latest version.
  • Audio: Lowpass filter inspector fixed
  • Audio: Reset on filters and reverb zones now works.
  • Audio: Size in inspector now correct for all platforms and audio types.
  • Audio: Support for compression of 32bit input files.
  • Debugger: Fixed abort with reentrant evaluation.
  • Debugger: Fixed crash with nullable evaluation.
  • Debugger: Fixed debugger crash when debugging in the editor.
  • Editor: After moving or renaming the current open scene, saving will now save into the new location rather than the old.
  • Editor: Curve Editor now correclty reverts and resets any change when dragging and Esc is pressed.
  • Editor: Dark skin component checkboxes no longer twitch.
  • Editor: Dark skin's object picker tweaks.
  • Editor: ESC to cancel searching is more robust.
  • Editor: Fix animated GUI groups breaking and giving errors after a window has been re-docked.
  • Editor: Fix color picker incorrectly initializing alpha to 255 if original color is (0,0,0,0).
  • Editor: Fix dragging textures to apply in Scene View sometimes showing errors and displaying progress bar that never closes.
  • Editor: Fix Esc not clearing search field on Mac in Object Picker.
  • Editor: Fix GameObject static dropdown not marking "Nothing" as selected when no flags were selected.
  • Editor: Fix handling of unicode characters in scripts. Scripts should have utf-8 encoding.
  • Editor: Fix many Handle controls not respecting Handles.matrix.
  • Editor: Fix mouse cursor sometimes flickering garbage on Windows.
  • Editor: Fix not being able to assign characters like ' , . / ` ] [ = as editor shortcuts on Windows.
  • Editor: Fix null reference exception in project pane when displaying filtered results that return no hits and pressing up arrow key.
  • Editor: Fix null reference exception when dragging sub-asset to the root of Project View.
  • Editor: Fix Object Picker not focusing search field when being opened.
  • Editor: Fix opening editor preferences when no inspector is open.
  • Editor: Fix precision loss when viewing or editing large integers in the GUI.
  • Editor: Fix repaint issue that made the Editor on Windows seem to have poor performance when mouse dragging gui components or scene view handles.
  • Editor: Fix SceneView not resetting Handles.matrix if it was changed in an OnSceneGUI callback.
  • Editor: Fixed a bug where lists of enums were not editable in the inspector
  • Editor: Fixed Animation View leaking materials when saving the while animation edit mode is active.
  • Editor: Fixed assert "vertexCount > 60000" when using colliders with polygon count over 10000.
  • Editor: Fixed crash when resizing arrays in the inspector.
  • Editor: Fixed crash when trying to import mesh, which contains polygons, which have less than 3 vertices.
  • Editor: Fixed drop-down menus on Windows so they no longer overlap with the GUI control.
  • Editor: Fixed material import from COLLADA files.
  • Editor: Fixed memory problem when committing a lot of assets in the Asset Server window.
  • Editor: Fixed null ref when exporting a package
  • Editor: Fixed out of memory crash when importing huge cube maps.
  • Editor: Fixed problem setting custom fields in webtemplates (they'd disappear as soon as focus left the field)
  • Editor: Fixed regression where import mode for normals and tangents on models where ignored, when upgrading from 3.4 to 3.5
  • Editor: Fixed reversing of triangle culling in some imported models (that used to happen in some very special cases).
  • Editor: Fixed some situations where the scene view mode could get stuck.
  • Editor: Fixed texture detection for imported materials when FBX contains mixed slashes in texture file paths.
  • Editor: Fixed Warning when saving a scene to a new folder created from the Save dialog.
  • Editor: Focusing on a particle system will now respect the bounds of the system properly.
  • Editor: GetMiniThumbnail returns proper icons for DefaultAssets.
  • Editor: Icons for unknown asset types are now cached, prevents out-of-memory crash if there are a lot of unknown assets in a project.
  • Editor: Improved interaction with Visual Studio 2010.
  • Editor: Installer on Windows now has a large icon.
  • Editor: Made 3DS file loader more robust - Unity handles invalid files better now.
  • Editor: Make ProceduralTextureInspector and ProceduralMaterialInspector partially support multi-object editing (multi-editing procedural properties is not supported).
  • Editor: Make ProceduralTextureInspector repaint until not regenerating anymore.
  • Editor: Make sure EditorGUI controls respect indent level consistently and fix some rarely used overloads that ignored some of the given parameters.
  • Editor: Multiple project windows don't share search string.
  • Editor: No longer get white 1-px outlines on OSX Lion.
  • Editor: On OSX don't allow saving files with special characters in save file dialogs.
  • Editor: On OSX don't make "error" sounds when navigating object browser using keyboard.
  • Editor: On Windows, don't open new explorer window every time the player is build.
  • Editor: Resolve intermittent hangs.
  • Editor: Scene View controls no longer freezes when using left mouse button on scene view handles while right mouse button is pressed down.
  • Editor: Setting TextureImporter.textureType now sets all the required properties.
  • Editor: Use significantly less memory in most cases when generating a cubemap from a very high-resolution source image to make out-of-memory crashes less likely.
  • Editor: Windows Editor menus support Unicode characters.
  • Editor: You can now slide values with sliders by dragging the label (same as float fields)
  • Execution order for prefabs is now 100% consistent. It works exactly the same as having non-prefab objects. (Removes superfluos OnDisable / OnEnable calls)
  • Fixed a synchronization issue between Renderthread and GPU. This has fixed the stuttering and reduced the input lag.
  • Fixed an issue that caused the editor to freeze if left in the background with the profiler open.
  • Fixed AsyncOperation.progress to properly indicate loading progress.
  • Fixed font kerning when using GUIStyle.fontSize.
  • Fixed path names for Cache and Application.persistentDataPath not to be garbled up. If old path names are present, they will still be used.
  • Graphics: Beast will no longer fail bakes on OSX if Unity installation path contains non-alphanumerical symbols.
  • Graphics: Beast will no longer fail bakes that contain degenerate meshes, like bushes composed completely of billboarded leaves.
  • Graphics: Compute correct tangents for non-uniformly scaled static meshes.
  • Graphics: Enforce linear lighting status on hardware that does not support it.
  • Graphics: Fixed broken values for builtin arrays when only 0th element was used (e.g. unity_LightPosition[0])
  • Graphics: Fixed issue related to deferred rendering when no lights are present and you are using HDR.
  • Graphics: Fixed Particles/Alpha Blend shader turning black when in Fog.
  • Graphics: Fixed pow() sometimes being mis-compiled for Direct3D 9.
  • Graphics: Fixed Preview lighting on uniformly scaled meshes in GameObjects.
  • Graphics: Fixed shadow caster culling for asymmetric view frustums.
  • Graphics: Fixes and improvements to HLSL->GLSL translator and GLSL Optimizer.
  • Graphics: Flares without a texture assigned don't crash the editor anymore.
  • Graphics: Texture2D.Compress prints proper error message when texture is not marked as readable (previously was silently filling texture with garbage when not in editor).
  • iOS: Fixed appending of Xcode project when automatic native plugin inclusion is used.
  • iOS: Fixed Editor freeze when Remote Profiler is connecting to iPhone running iOS 5.0.
  • iOS: Fixed horizontal splash screen image pre-rotation to vertical orientation.
  • iOS: Fixed iAd banner location on retina device.
  • iOS: Fixed Mathf.Approximately and other math routines operating on de-normalized small numbers.
  • iOS: Fixed numerous iOS5 related problems (GL errors, keyboard, etc.).
  • iOS: Fixed Remote Profiler support.
  • iOS: Fixed simulator build when project has native plugins.
  • iOS: Fixed small memory leak.
  • iOS: Fixed some scary warnings in Xcode debugger console.
  • iOS: Fixed splashscreen pre-rotation when autorotation is enabled.
  • iOS: Fixed WebCamTexture.GetPixels
  • iOS: icon-iPad.png renamed to icon-72.png.
  • iOS: SystemInfo.systemMemorySize returns correct memory size, SystemInfo.graphicsMemorySize is now estimated based on total memory size
  • iOS: SystemLanguage handling overhaul - now region is correctly recognized (e.g. British English will result in English instead of Unknown)
  • Javascript: Fixed bug that would case a for loop not to reuse an already declared variable.
  • Javascript: Fixed multidimensional array of struct operations.
  • Javascript: Script attributes can now appear before 'import' statements.
  • Lightmapping: "Use in forward rend." is only respected in Dual Lightmaps mode as the GUI suggests.
  • Lightmapping: Fixed clearing lightmaps -- it resets lightmap index, tiling and offset on all renderers.
  • Lightmapping: Made light be culled below horizon for specular bounces when shadows are disabled. Fixes a case where a face pointing away from light would bounce light in that direction.
  • Mac OS X Editor: Properly recognize user setting to launch Editor in a specific Space/Desktop.
  • Mac OS X Standalone: Fixed mouse down events being reported for clicks on window title bar.
  • Mac OS X Web Player: Fixed a crash in Firefox 6 when loading Unity content in a background tab.
  • Mac OS X Web Player: Fixed a crash in Firefox 7 when resizing Unity content.
  • Mac OS X Web Player: Fixed scroll wheel events in full-screen mode in CoreAnimation plugin.
  • Mac OS X Web Player: IME input is now recognized in the OS X WebPlayer.
  • Mac OS X Web Player: Input.inputString will correctly contain backspace and delete characters.
  • Mac OS X Web Player: Make mouse input handling more robust. Fixes Magic Trackpad support in Safari 5.1.
  • Mac OS X: Fix input from some gamepad hat switches.
  • Mac OS X: Fixed distinguishing between left and right modifier keys in the Input class.
  • Mac OS X: SystemInfo now returns actual device information.
  • Mac Web Player: Fix different rendering issues when using image effects.
  • Make Assembly.Location return actual location of the assembly and not "data-09340sdf9gsd0fg".
  • Make FindObjectsOfType not return Cubemaps when searching for Texture2D.
  • MonoDevelop: Fix unhandled exception when attaching debugger.
  • MonoDevelop: More robust script encoding detection.
  • NavMesh: Expose stopping distance in NavMeshAgent inspector
  • NavMesh: Fix for Terrains ignoring NavMeshLayer setting when baking NavMesh.
  • Navmesh: Handle odd number of negative scale values on geometry transforms: reverses winding before culling.
  • NavMesh: Use shortest distance to polygon in cost calculation instead of midpoint - fixes problem with shortest paths over long polygon edges.
  • Networking: Fixed case where NetworkView state synchronization was not relayed properly through a proxy connection.
  • Networking: Fixed cases where connection tester failed to return a result.
  • Networking: Fixed crash when reading NetworkPlayer.guid when networking was not initialized.
  • Networking: Fixed possible crash when reading NetworkMessageInfo.networkView inside OnNetworkInstantiate.
  • Physics: Collider.bounds will now alway return empty bounds for disabled colliders (before it was inconsistent by collider type).
  • Physics: Fixed behavior of rotated capsule colliders when continuous collision detection is used.
  • Physics: Fixed CCD not working in first level of a game.
  • Physics: Fixed crash when disabling a CharacterController inside a CharacterController callback.
  • Physics: Fixed slow duplicate creation of colliders when using GameObject.SetActiveRecursively().
  • Physics: Physics contact count is now correctly reported in the Profiler, and will not appear to increment indefinitely.
  • Physics: Removed "Solver rigidbodies" field in physics profiler, as it did not do anything.
  • Profiler: GPU profiler now shows better info on image effects
  • Profiler: More reliable player connection discovery
  • Script: Fixed crash when reparenting GameObjects durring Scene Destroy
  • We no longer get send multiple mousedown / mouse up while hovering over an object
  • WebPlayer and Standalone: Return correct Event.delta value on Windows.
  • WebPlayer: Fix memory leak on windows when unloading.
  • WebPlayer: Reduce visual artifacts produced when WebPlayer size is changed on Windows.
  • Windows 64-bit standalone: Fixed setting executable icon.
  • Windows Editor: Fix skinned meshes disappearing temporarily when returning from sleep mode or from locking computer.
  • Windows Web Player: Fix occasionally corrupted graphics when locking computer or switching resolution during loading.
  • Windows: Focus is not lost when Web Player enters or exits fullscreen mode.
  • Windows: Joystick 0 now returns correct cumulative axes values.
  • Changes:
  • Added KeyCode enum values for Joystick 4.
  • Android: Attached names to the native threads for easier debugging.
  • Android: Changed labeling Force SD-Card Permission to Force External Storage Permission.
  • Android: Development builds now have extended logging also from the Java side.
  • Android: Editor requires API level 14 to build Android applications. It is still possible to target earlier platforms.
  • Android: Force debug.checkjni property when launching development builds (to prevent incorrect JNI calls from plugins).
  • Android: Keep the LVL code from outputting errors if it's not used anyway.
  • Android: Restructured parts of the Java code found in classes.jar.
  • Android: The Emulator device filter was removed, as the Android Virtual Device (with SDK-r14) now supports ARMv6/ARMv7 binaries.
  • Android: The splash image is now decoded as 32bit texture (rather than 16bit).
  • Android: The Texture Compression Override option in the Build Settings menu has been changed to affect all textures using a compressed texture format.
  • Android: To save memory when streaming AssetBundles, the number of compressed buffers in flight has been reduced.
  • Android: Traded some temporary memory (240KB, in the scene loader) for an on-average massive load speedup with projects having really bad load times.
  • Disabled Version Control integration.
  • Editor API: Added optional saveAsCopy parameter to EditorApplication.SaveScene to allow saving the scene without changing what is the current scene.
  • Editor: Asset Path names starting with a space character are now no longer allowed.
  • Editor: Migrated direct Blender to Unity import from Blender 2.56 to Blender 2.58. Implemented support for Blender 2.59 as well.
  • Editor: OnSceneGUI is now called on all selected objects with custom editors. Not only editors visible in the inspector.
  • Editor: Removed option for making Editor attachable by MonoDevelop debugger. (It is now always attachable)
  • Editor: The Editor will no longer allow creation or import of Assets with file names which are not legal on either windows or OS X.
  • Editor: Undo while dragging never worked correctly and is now disabled. Note: Most dragging operations allow you to press Esc to cancel, which can be used instead.
  • iOS: Added 5.0 SDK selection in PlayerSettings.
  • iOS: Added iPhone4S generation for iPhone.generation.
  • iOS: Added warning when compressed texture is used as icon or splash screen.
  • iOS: Changing target devices does not require to overwrite Xcode project anymore.
  • iOS: Screen.dpi implemented.
  • Mac OS X Standalone: Moved Cache file location to ~/Library/Caches/bundleID for Mac App Store compliance.
  • Mac OS X: Use OS events for more reliable mouse wheel input. Should now work with all devices which work with the OS, but only work when mouse cursor is over the window.
  • Removed support for OS X Dashboard builds.
  • Removed support for OS X PowerPC builds.
  • Removed support for Unitron and UniSciTE.
  • Stripping: Now 3rd party dlls aren't treated as managed code stripping roots. Improves build size, but might require extra care with libraries that use reflection and generics a lot.
  • Windows Web Player: if no graphics drivers are installed at all, Unity will not try to run the game using the really bad Windows' OpenGL 1.1 renderer; an error message will be displayed to the user instead.
  • WWW: charset property is now honored by the WWW.text attribute.
  • WWW: Made HTTP errors be reported in www.error string.
  • WWW: Made HTTP headers be set appropriately even when errors occur. Added the HTTP status code to the header list under the "STATUS" key.

New in version 3.4.2 (November 3rd, 2011)

  • Editor:
  • Fixed crash when editing audio source.
  • Android:
  • Fixed corrupted splash image on Icecream-Sandwich.
  • Allow audio playback only when application is focused (prevents audio on the unlock screen).
  • Made sure the on-device-profiler only uses active network interfaces.
  • Fixed an issue where mscorlib.dll could not be found.
  • iOS:
  • Fixed random crashes when building with Xcode 4.2 (iOS SDK 5.0).
  • Fixed crash with auto-rotation on iOS 5.
  • Disabled workaround for ipad2 driver bug with msaa+colormask+blend when running on iOS 5 (was fixed by Apple).
  • Made Cache Path for AssetBundles be compatible with new Apple Guidelines: /Library/Caches instead of /Documents.
  • Monodevelop:
  • Fixed compilation issues of Javascript.

New in version 3.4.0 (July 27th, 2011)

  • Features:
  • Allegorithmic Substance Integration:
  • Native support for Allegorithmic procedural Substance materials.
  • Tweak and change exposed substance parameters right inside of Unity.
  • Change substance parameters at runtime on PC and Mac.
  • Gain major file size savings due to the compactness of procedural textures on PC and Mac.
  • Bake substances into regular textures and materials on mobile platforms.
  • Gizmo and Icon Management:
  • Scene View icons for game objects and script assets can now easily be assigned by using the new Icon Selector opened by clicking on the icon in the Inspector.
  • Rendering of gizmos and icons can now be controlled using the new 'Gizmos' drop-down window found in the toolbar of the Scene View and the Game View.
  • Toggling of gizmos is linked to the collapsed or expanded state of the corresponding components, making it simple to only see the gizmos you need.
  • Support for setting a world size to render all icons with makes it simple to only see nearby icons.
  • Scripting Execution Order
  • Unity now gives you explicit control over the execution order in your scripts. Awake, OnEnable and Update calls are sorted by execution order. Execution order can be defined on a ‘per script’ basis in an easy-to-understand dialog.
  • Downloadable content with caching for complete scenes and asset bundles
  • Caching now works on all platforms. PC/Mac Standalone players and iOS/Android players have access to a 4 GiB dedicated cache for each application. The webplayer has a 50mb shared cache. A larger application-specific WebPlayer cache can be acquired from Unity Technologies. Caching of course greatly improves loading time not only due to the removed download, but also because the cached files are stored already decompressed on disk. Using the caching feature also greatly reduces memory usage since Unity doens't need to keep any additional data in memory. It is strongly recommended that you always use the caching API for large assets.
  • A new function BuildPipeline.BuildStreamedSceneAssetBundle makes it easy to create entire scenes and their dependencies into an asset bundle and download them on demand.
  • Downloading and streaming with the WWW class uses way less memory now. Especially significant when loading from disc using the file:// protocol. You can now load much bigger AssetBundles from disc without running out of memory.
  • Editor:
  • Debug.DrawLine and Debug.DrawRay now has an optional parameter to control the duration of time a debug line should be rendered.
  • New mouse event for MonoBehaviour: OnMouseUpAsButton. It is only called when the mouse is released over the same GUIElement or Collider as it was pressed.
  • New interface for ObjectField that controls if scene objects should be assignable to the object field or not. Old interface marked as obsolete since it allowed invalid references e.g assets with with references to scene objects.
  • Primitive Colliders can now be modified in Scene View by holding down SHIFT.
  • The preview in the Inspector is now resizable and no longer part of the scroll-view.
  • Shadows:
  • Directional Lights got new shadow projection mode, Stable Fit (default for new projects; change in Quality Settings). Old behaviour is Close Fit. Stable Fit results in slightly lower resolution, but shadow boundaries do not shimmer/wobble when rotating the camera.
  • Much improved shadow caster culling (less draw calls). Better sorting of shadow casters for GPU efficiency.
  • Added Very High shadow resolution option.
  • Skinning:
  • SSE2 optimized skinning for Windows & Intel Macs. Improved multithreaded skinning efficiency on Macs.
  • Shaders:
  • #pragma exclude_renderers/only_renderers can now use "shaderonly" (GLES2.0, 360, PS3 etc.) keyword.
  • tex2Dgrad and tex2Dlod are supported when cross-compiling shaders into GLSL.
  • Ability to access per-vertex light data in all platforms including OpenGL ES 2.0. Use float4 unity_LightPosition[4], unity_LightColor[4], unity_LightAtten[4].
  • Added mobile optimized VertexLit and Unlit shaders.
  • Image Effects & Water:
  • There’s a big upgrade to image effects & water. Both have been optimized for performance and, at the same time, visual quality has been improved. They’re also easier to tweak for artists.
  • Graphics:
  • Deferred Lighting is able to use Occlusion Culling to cull invisible Point & Spot lights.
  • Explicit control over VBlank Sync Count allows for more stable framerates. Quality Settings - Framesync flags: 'VBlank Sync Count' can now be set to 'Don't Sync' 'Every VBlank' or 'Every Second VBlank'
  • Faster Point & Spot light rendering in Deferred Lighting (draws a more compact light shape).
  • Optimized light culling in Forward rendering.
  • Optimized per-vertex lighting in GLES 2.0 when fixed function shaders are used.
  • Added Shader.WarmupAllShaders() to help reduce shader loading related hiccups.
  • Added support for precomputed bounding volumes for Skinned Mesh Renderer and the animation component. This improves performance and lets you better cull animations & skinned meshes with minimal CPU overhead.
  • iOS:
  • Added Terrain support for iOS.
  • Added Gyroscope support.
  • EAGLView wrapped into UIViewController / iOS native style of autorotation. Also added non-animated autorotation path. Corresponding option added to PlayerSettings.
  • Added explicit null check option to the AOT code output, which should produce NullReference exceptions without causing SIGABRT in Xcode. Enabled when development player is selected and script debugging enabled.
  • Improved automatic plugin inclusion for iOS. Now main.mm / AppController.mm could be substituted by the one supplied in Plugins/iOS.
  • Mobile Quality Settings default to "Simple".
  • Improved iOS project postprocessing performance. Runtime libs could be symlinked by checking appropriate option in Build Settings panel.
  • Parallel AOT cross compilation for faster game build times.
  • iOS SDK selection defaults to "latest".
  • Android:
  • Terrains are now available on Android.
  • The new Texture Compression override enables developers to target devices with support for specific GL texture-compression formats. With the new Multiple APK Support in the Android Market it helps to cut the distribution size of the application.
  • Android now supports AssetBundles built with BuildAdditionalStreamedScenes, to help minimize distribution size and enable streaming of new content from the web.
  • The mesh animation skinning algorithm now uses multi-threaded processing to harness some of the power of the multi-core CPUs available in new Android devices.
  • Because a number of critical issues were fixed in this version, we encourage everyone to republish any applications built with previous releases.
  • Unity Xbox 360, PS3 and Wii release in parallel:
  • All console versions are now released at same time as 3.4. Projects can easily be moved between all platforms.
  • Rochard, our first PS3 game, has succesfully completed the Sony Submission process.
  • Our first Xbox 360 game has succesfully passed pre-cert. And will soon go through Submission 1.
  • First Wii game powered by Unity 3.4 is about to go through lotcheck.
  • Editor
  • Improvements:
  • You can now drag any GameObject into the project view to create a prefab with minimal hassle.
  • Faster Play/Stop times on scenes with many prefabs.
  • The Object Picker can now show individual previews for sub-assets, such as the individual meshes in a model asset.
  • MonoDevelop is now the default script editor.
  • Optimized PVRTC decompressor; scenes/textures will load much faster when in iOS mode.
  • Launch VS using the C#-only solution by default.
  • Primitive Collider handles are now only shown when pressing Shift.
  • Show recommended shader help text in Material Inspector.
  • Implemented field for editing Bounds in the inspector.
  • Implemented editing of Bounds for Animation and SkinnedMeshRenderer components in the Inspector and Scene view.
  • Improved VisualStudio/MonoDevelop solution synchronization performance.
  • Added depth buffer bits field to RenderTexture inspector.
  • GenericMenu has been documented and should be used for custom context menus.
  • Tools class have been exposed so you can better make custom editors.
  • Fixes:
  • Moving and deleting keyframes from the timeline now works with undo.
  • Trail Renderers now always have the handle placed at the origin so they don't jump around as the game object is dragged in the scene view.
  • Surface snapping now correctly ignores colliders that are set to triggers.
  • Vertex snapping of objects dragged into sceneview now works.
  • Vertex snapping of sub-objects fixed.
  • Painting terrain heights and dragging outside the sceneview no longer leaves the terrain in a weird state.
  • Light inspector now correctly hides soft shadow options when they don't apply to the light.
  • Camera gizmo and preview is now based on Game View aspect ratio instead of Scene View aspect ratio.
  • On Windows right mouse clicking the Game View tab now shows the context menu.
  • Closing tabs with middle mouse button is now closes the correct tab.
  • Cursor is no longer allowed to be locked when pausing before pressing play i.e. the cursor is forced visible (same behavior as when pressing pause during play).
  • Maximize on Play no longer cancels Screen.lockCursor.
  • When loading a project the directory structure is now validated.
  • Improved progress indication during building to other platforms.
  • Uninstalling editor will now clean up the install folder correctly.
  • Toggling pro skin no longer resets the script editor.
  • Lightcookie textures are no longer marked as dirty during rendering (case 389444).
  • The material preview pane now updates when the shader used by the material is recompiled.
  • Animation View: Fix issue with different properties sometimes inappropriately sharing the same curve state.
  • Fixed crash when importing an empty shader file.
  • Pass the solution file and line numbers to the default MonoDevelop installation.
  • Fixed problem executing the PostprocessBuildPlayer script on Macs when executable bit was not set.
  • Fixed crash when dragging a Prefab into Scene View.
  • Fixed Input.mousePosition reporting wrong coordinates after a pause and lost focus of Unity Editor.
  • Asset Server now detects changes to script icons.
  • Removed .asset extension from AnnotationManager.asset in the Library folder.
  • Fix cropping of TextAsset.bytes when data contains leading null values
  • Fixed a crash bug when deleting keyframes in the Animation view.
  • Improved synchronisation of Visual Studio projects.
  • Fixed Material Inspector sometimes displaying a wrong name for a shader.
  • Yield on WaitForEndOfFrame works in batch mode.
  • Fixed NullRef in AudioSource/LPF Curve inspector.
  • Mac Editor: fixed memory error message in console when using the color picker.
  • Mac Editor: fixed crash on Mac OS X 10.7 Lion when using the color picker.
  • Fixed indentation issues in Vector3, Vector4 and Rect fields.
  • Project/Hierarchy search field no longer eats first character if it had all text selected in some cases.
  • Fixed debug logs not getting cleared with Clear On Play enabled when logs were created in edit mode.
  • Fixed some fixed function shaders not displaying correctly in OpenGL ES 1.1 emulation (on Windows).
  • Disabled colliders now use a dimmed color for their gizmos.
  • It is now possible to close a maximized EditorWindow from script.
  • Do not allow to select target iOS version lower than 3.1.3 if iPad or iPad + iPhone device target is selected in player settings.
  • Texture2D.PackTextures force padding on right and tops of each texture element.
  • Do not upgrade a 2.6 project twice in cases when scripts would have to be patched during the upgrade.
  • When generating unique asset paths, don't add a space before the number if the asset is a script.
  • When a corrupted scene with invalid prefabs is detected they will now be cleaned up when saving the scene.
  • Fixed various issues with Image Effects when switching platforms or graphics emulation settings.
  • Fixed regression when renaming assets causing them to be reimported when quiting. Assets are now reimported immediately after renaming (case 409155).
  • Fixed a rare bug where complex chains of shaders with fallbacks are treated as unsupported when switching platforms in the editor.
  • Added Tooltip to the GameObject class.
  • Fix crash when switching target to Wii or Xbox in the Build Settings menu.
  • Fix crash when debugging and evaluating an expression that triggers a null reference exception.
  • Fix intermittent exceptions when launching Visual Studio.
  • Scene view icons are no longer affected by editor quality settings (blurred at low quality).
  • Graphics:
  • Improvements:
  • Anti-aliasing choices now are None, 2x, 4x, 8x (new). Removed 6x and 16x since no GPUs support them.
  • Fixed Camera.RenderToCubemap rendering skybox wrong (unless the camera incidentally had 90 FOV and 1:1 aspect set).
  • Fixed error messages when spotlighs with very small range were used.
  • Better prevention of "out of video memory" situations with crazy high resolutions + MSAA levels. For example, fixes some cases when using 8xMSAA on 2560x1440 screen.
  • Prevent scripts from setting invalid Particle values (Min/Max Size, Min/Max Energy, Min/Max Emission on Emitter; UV Animation on Renderer).
  • Fixed Particle Renderer UV Animation not being updated when changing it from a script.
  • Fixed Particle Renderer sometimes using wrong UV Animation frame when spawning a particle.
  • Per-layer culling distances are properly handled for shadow casters of non-directional lights.
  • Added information for more GPUs to SystemInfo.graphicsPixelFillrate.
  • Fixed Application.CaptureScreenshot() grabbing parts of Game View UI on Windows.
  • Mesh Compression setting was wrongly displayed in the Mesh Inspector.
  • Realtime shadows over single lightmaps no longer incorrectly darken lightmaps brighter than 2.
  • When creating RenderTexture from script it is no longer needed to set isPowerOfTwo; it will be set automatically based on RenderTexture size.
  • Implemented AnimationState.RemoveMixingTransform function.
  • Shadows:
  • Tweaked shadow related default quality settings.
  • Shadow Projection is now chosen in Quality Settings (no longer in the Light component).
  • Shaders:
  • Fixed D3D9 Debug Runtime validation failures on some shaders.
  • Fixed some bugs in Cg to GLSL cross-compiler.
  • Multiple objects using a shader with GrabPass can share the same texture, see GrabPass docs.
  • Added ComputeGrabScreenPos helper function to UnityCG.cginc, for use in shaders with GrabPass.
  • Added Mobile optimized Diffuse, Bumped, VertexLit (only directional lights), Unlit Lightmap shaders.
  • Lightmaps:
  • Clearing lightmaps properly resets lightmap tiling/offset on objects, making them batchable again.
  • Fixed for shaders that do not have _Color property (like some Mobile shaders).
  • Fixes
  • Fixed VRAM amount detection on some Windows Vista/7 systems.
  • Fixed some built-in matrices (_Object2World etc.) only working in vertex shaders.
  • Fixed camera.RenderToCubemap not working when using deferred lighting (now falls back to forward).
  • Texture scale and translate (name_ST) properties now work properly even when material's texture is not actually sampled in the shader.
  • Fixed Flares sometimes using wrong UVs in OpenGL ES 2.0.
  • Dynamic batching on normal mapped objects was incorrectly disabled on Direct3D9 (it's still disabled on OpenGL due to driver bugs).
  • Worked around driver performance issue in latest MacBook Pros (with Radeon HD 6xxx) caused by batching.
  • Fixed dynamic batching ending batch too early.
  • Fixed dynamic batching breaking if GUI.DrawTexture was used.
  • Fixed Spot light shadows from large triangles that are partly behind the light.
  • Fixed crash when creating textures with zero length on one side.
  • Lightmaps:
  • Beast on Mac shouldn't misbehave anymore if objects' transforms contain subnormal floats.
  • Fixed a lot of bugs with mac/win differences in generated texture uv’s for lightmaps. Please reimport your meshes.
  • Fixed bug where baking lightmaps would randomly force reimports of 3D models and dirty prefabs.
  • Animation:
  • Fixed error message when layers and mixing transforms are used.
  • When you use animation splitting in model@animation file all animations will be attached to the model, not just the main animation.
  • Fixed dereferencing of null pointer when list of AnimationClips contains null reference.
  • Standard assets:
  • Added, optimized and improved image effects (e.g. Antialiasing, Fog, TiltShift, Depth of Field).
  • Added Water4 scripts and example prefabs.
  • Water: fixed upside down reflections in scene view and game view (windows) and water mesh normals generation.
  • Image Effects: fixed DLAA corner cases (and added a sharp setting) re-enabled support for additive blending (sun shafts, bloom).
  • Fixed scripts SmoothFollow and ThirdPersonController.
  • Depth of field now using more suitable blend modes.
  • Water got a simpler wave model.
  • Fixes for handhelds:
  • GLES 2.0: specular is disabled when SeparateSpecular is set to Off.
  • GLES 1.1: fixed support for anisotropic filtering.
  • Worked around iPad 2 driver crash on some shaders (mostly ones that involved loops).
  • Fixed overbright specular highlights on iOS with some shaders.
  • Worked around iPad 2 driver crash on some shaders (mostly ones that use Fog).
  • Movies:
  • Time.captureFramerate is respected by movie playback when movie does not have audio.
  • Audio:
  • Fixes:
  • AudioSource attached to a movie texture is no longer reporting false isPlaying.
  • Fixed audio sources referencing wrong clips when reusing cached sounds.
  • Effects now working audio sources, where ignoreListenerVolume is set.
  • WWW.audio now works on iPhone.
  • Fix rare crash when AudioSource.clip was reset in the same frame as the source was played.
  • DSP buffer settings set in 3.3 is now read correctly in 3.4.
  • Bitrate in .meta files are now serialized correctly.
  • Fixed FMOD errors when using AudioSource.PlayOneShot.
  • Unity iOS
  • Improvements:
  • Mesh skinning uses multi-threaded processing.
  • VFP skinning for cases where tangents are needed.
  • Added AOT options field to the player settings. Let's users to pass some additional AOT options, useful for "running out of trampoline" problem.
  • Terrain stripping enabled (if you don't use terrains, some Mono code can be stripped).
  • Implemented Application.systemLanguage.
  • Correctly detect iPad GSM and other devices.
  • Improved autorotation by fixing numerous issues with video playback and keyboard.
  • Trampoline code was refactored for easier reading/changing. Please replace your Xcode projects.
  • Bundle identifiers of pattern XXX.XXX are now allowed.
  • Fixes:
  • Fixed iOS SDK 4.3 App Store submission problems by working around linker bug: added -all_load linker flag and small code hint to the main.mm.
  • Moved Xcode autorun phase after user postprocess script execution. Should improve 3rd party plugin integration experience.
  • Fixed iOS SDK 4.3 warnings about unaligned symbols.
  • Synchronization PlayerPrefs upon LoadLevel prevents very rare circumstances of loosing PlayerPrefs data when application is terminated unexpectedly.
  • Improved AOT build size when debugging is enabled.
  • Prevented GUI.WindowDragState from stripping.
  • Fixed the case when AOT was emitting debugging code when debugging checkbox is checked, but development build is unchecked.
  • Updated cpu-waits-gpu internal profiler counter for iOS 4.3.
  • Fixed VFP 1 bone skinning.
  • Fixed issue with screenshots not working when MSAA is enabled.
  • iPhoneSettings.generation now recognises iPad2.
  • Fixed WWW class memory leak when WWW object is disposed before completing download
  • Added SDK 4.3 selection in player settings.
  • Fixed material shader on iOS looks different from the Editor.
  • Unity projects will be closed in Xcode before updating them, which should fix some Xcode glitches.
  • Fixed AssetBundleCreateRequest stripping problem.
  • Fixed WWW out of memory problem when estimated download size is unknown.
  • Fixed GUIText stripping issue.
  • Fixed corner cases when libraries weren't symlinked properly. For portability reasons Unity runtime library symlink is off by default.
  • Fixed .cpp/.c native automatic plugin inclusion. Experimental support for .xib and .png files added.
  • Fixed WWW.EscapeURL() to escape URLs according to RFC.
  • Fixed issue on iPad2 with MSAA and alpha-blended geometry resulting in wireframe like artefacts. Please see SL-Reference/SL-AdvancedTopics/SL-PlatformDifferences for more thorough description.
  • Fixed iOS project postprocessing for Unity iOS Basic license and autorotation.
  • Fixed internal profiler using old-frame data, fixing negative values by the way.
  • Fixed simulator support for Xcode 4 + SDK 4.3.
  • Fixed WWWForm support.
  • Fixed simulator support for simulators Project Settings->Script Execution Order.
  • Texture2D.SetPixels32/GetPixels32 for much faster pixel operations.
  • Added Caching.MarkAsUsed function. This is used to ensure that some files are not thrown out of the least-recently-used cache if you know that they will be used in the future.
  • Input:
  • Win7 touchscreen input now fully supported.
  • Input.eatKeyPressOnTextFieldFocus added to be able to control input behavior during textfield focus. This is default true from 3.4 and forth. Set this to false to achieve pre 3.4 behavior.
  • Key input (i.e. Input.GetKeyDown) is now suppressed when a textfield is active. This is enabled only content built with 3.4 and later. To query key input during an active textfield, use Event.current in OnGUI.
  • Fixed support for mouse deltas from Apple's Magic Trackpad.
  • MonoDevelop:
  • Scripting projects are now built the same way that Unity builds them.
  • Now compiles Boo and UnityScript.
  • Profiling:
  • Intel GPA 4.0 Platform Analyzer profiler is supported for Windows Standalone Players.
  • Javascript improvements:
  • Allow characters in #pragma lines.
  • Array.slice(startIndex) must return all elements starting from startIndex.
  • Array.slice accepts negative indexes counting from the end of the array: [1, 2, 3, 4].slice(-2) // => [3, 4]
  • Proper support for do-while loops
  • Proper support for generic dictionaries of functions:
  • var dict = new Dictionary.();
  • dict["foo"] = function() print("foo");
  • dict["foo"](); // prints foo
  • Importers:
  • Implemented 3 minute timeout for 3DStudio Max FBX conversion.
  • Only show import settings on root asset. Showing them on every sub-asset could lead to the false impression that every sub-asset can have individual import settings.
  • Other improvements:
  • Removed tray icon for Windows Standalones when in batchmode allowing apps to run as a service.
  • Removed option 'Always Show Watermark' from the Player Settings.
  • Other Fixes:
  • Web player:
  • Fix several cases that caused crash in rare occasions and improve error handling in general.
  • Fix issue that prevented Web Player from working in closed networks.
  • Fix issue that prevented auto update from working for non-administartor users on Mac OS X.
  • Prevent cursor from vanishing in fullscreen mode when cursor trail is enabled.
  • Prevent cursor from vanishing when another game is running on a different browser tab.
  • Stabilized web player framerates.
  • Web player now behaves correctly when resizing window in Firefox4.
  • Removed 16 kilobyte limit for Application.ExternalCall() and ExternalEval().
  • Chrome, Safari and FF4 on Mac OS X now registers keypresses on input string.
  • Input.GetAxis() returns correct value when focus is restored.
  • Fixed an occasional crash when switching to fullscreen on Mac OS X.
  • Fixed audio pausing in the background in Dashboard on Mac OS X.
  • Networking:
  • Fixed error when reading 32bit Network View IDs, huge amounts of views can properly be instantiated.
  • MonoDevelop:
  • Fixed bug where seemingly random parts of the Unity API would fail to show up in autocomplete lists.
  • Fixed update expandability of items in the Locals pad when debugging over a slow network.
  • Asset pipeline:
  • Made clearer error message when importing .dds file with missing mipmap levels in texture importer.
  • 3DStudio Max importer no longer crashes when trying to parse a broken .3ds file.
  • Changing "Pack Margin" and other settings in the advanced Model import setting is now recognized as a change.
  • Input:
  • Shift keys now recognized in fullsceen on Mac OS X web players.
  • Mouse position now reported correctly for Windows 7 touchscreens (only works in full screen for now – see known issues).
  • Physics:
  • ConfigurableJoint.configuredInWorldSpace will no longer result in a wrong coordinate space. Projects using this setting need to be readjusted!
  • Better Skinned Cloth behaviour when the mesh does not have normals, or is rendered with a shader that does not use normals.
  • Other fixes:
  • Fixed a bunch of minor mistakes in the documentation.
  • Cleaned up the use of non-public APIs that caused Mac OS X standalone builds to be rejected for the Mac App Store.
  • Fixed crash when doing raycasts on 64 bit standalone players.
  • AssetBundle.Load() now preloads all dependent assets like AssetBundle.LoadAsync() does.
  • Fixed regression introduced in Unity 3.3 where preload data was not written correctly leading to some hiccups during gameplay when first accessing a referenced asset.
  • Fixed crash when loading Asset Bundles to big to fit in memory.
  • Fix bug preventing standalone player & web player from using more than 2GB of ram on Windows.
  • Fixed crash when deleting the last slot of a builtin array.
  • Fix bug where enums were sometimes not displayed correctly for embedded classes in arrays.
  • Fixed creation of empty cache folders for each new project.
  • Workaround for crash in Apple's Font unloading code in Mac OS X 10.7.

New in version 3.3.0 (March 4th, 2011)

  • Android Changes from Pre-Release Version:
  • Native Activity does not support screen orientation changes during runtime.
  • Remote refuses to connect to the Editor once the device was disconnected.
  • Improvement performance of audio handling (mixing) on Tegra based devices.
  • On-screen keyboard has been completely re-written to support NativeActivity, and handle .hideInput=true;.
  • Editor detects minimum OS / API version before trying to launch the application.
  • AndroidJavaObject et al as proper documentation.
  • Added documentation of the AndroidInput class.
  • Added correct mapping of CIRCLE button on Xperia Play; must use latest firmware on the device.
  • Deprecated WWW.oggVorbis property.
  • Remote: Fixed crash in editor caused by editor side of Android Remote.
  • Fixed broken detection code for Android SDK API-10 (and API-11).
  • Fixed problems with threading and finalizers in AndroidJNI et al.
  • Performance improvements of animation skinning on Tegra based devices.
  • Support for NativeActivity / SonyEricsson Xperia Play.
  • Added support for Screen.SetResolution.
  • Fully dynamic linkage to Mono; Mono is now available from plugins etc.
  • AndroidManifest.xml attribute minSdkVersion exposed under Player Settings / Other Settings.
  • Fixed exception when using AndroidJavaObject.Get().
  • Fixed occasional rendering issues on some Qualcomm based devices (e.g. HTC Vision).
  • Fixed various network issues (local IP, ping, HavePublicAddress etc).
  • Fixed various touch input related issues (Input.multiTouchEnabled, virtual touches, stale touch IDs).
  • Added the Windows registry keys for the JDK lookup on x64 machines.
  • Other Changes:
  • iPhone and Android Remote is enabled for Unity free license.
  • Fixed case 392244: Incorrect handling of tall mode of Game View in Android Remote.
  • Fixed case 388824: Android Remote flickering.
  • Fixed case 388828: Android Remote crashes due to buffer overflow.
  • Fixed case 392869: With Build&Run only remove previous installation when update is not possible (otherwise keep PlayerPrefs etc).
  • Fixed case 392194: Fixed AndroidJNI lookup of inner (nested) classes.
  • Fixed case 392099: Touch data reset when resuming application ; fixes stale touches after pause.
  • Fixed case 392922: Fixed problems when using AndroidJNI and Assembly Stripping.
  • Fixed case 392847: Flickering rendering problem (mostly seen on GUI elements) or things not being rendered at all.
  • Fixed case 392831: Input.GetMouseButtonDown(0) and TouchPhase.Began being out of sync.
  • Fixed case 391064: Changed the message presented to Samsung users when the firmware is outdated.
  • Fixed case 391739: Text input is now available in NativeActivity mode.
  • iOS: Fixed VAO cleanup (case 392221: memory leak when using GUI.Label).
  • iOS: Fixed MSAA+discard support: discard read buffer, not draw; discard stencil too.
  • Graphics: Improved performance of fixed-function emulation under GLES2.0.
  • Audio: Correct audio CPU usage displayed in the Profiler.
  • Audio: Fixed WWW.audioClip (wait for the entire clip to download).
  • Fixed case 377132: Fixed rare audio bug where one shots are looping.
  • Fixed case 391171: Better handling of orthographic scene view camera.
  • Fixed case 383402: Fixed continued bouncing OS X Dock icon when using modal progress bars.
  • Fixed case 391471: Fixed editor error messages on Windows with some RenderTexture configurations.
  • Network: Fixed error when reading 32 bit network view IDs size.
  • Remote: Proper icons for the Android Remote.
  • Fixed case 388502: AnimationEvents trigger twice when the event pauses animation then starts it again from coroutine.
  • Fixed case 391106: Font security warnings showing up.
  • Fixed case 390822: Add implementation for IsDirectoryCreated on iOS.
  • Fixed case 388828: Various crash fixes for Android Remote.
  • Fixed case 373197: iPhone Remote prints excessively to the editor console.
  • Fixed case 388824: Unity Remote white-flickers if you reconnect it to the editor.
  • Fixed case 389248: Unity Remote refuses to connect to the Editor once the device was disconnected.
  • iOS: Xcode 4 is now recognized as proper build tool.
  • iOS: Added soft debugger support.

New in version 3.2.0 (February 15th, 2011)

  • Major Features:
  • Image Effects: New Depth of Field with bokeh, improved bloom and several other image effect tweaks and fixes.
  • New Water: All new Water prefab in standard assets that includes waves, automatically generated foam on shorelines and more.
  • Graphics: Major performance improvements in OpenGL ES 2.0 (iOS/Android).
  • Shaders: Added optimized/simplified versions of some shaders under "Mobile" category (VertexLit, Bumped Specular, Skybox). They work on other platforms as well, but mobiles will see biggest gains.
  • Shaders: Mobile-Optimized Bumped Specular shader is 5.2x faster than Bumped Specular in 3.1 (on iOS)
  • Shaders: Added several Unlit shaders that just display a texture with no lighting. They are the fastest textured shaders.
  • Debugger: Attaching the script debugger to (and detaching from) Unity and debugging-enabled players is now possible.
  • Profiler: you can profile standalone player builds from the Editor. This includes iOS and Android builds!
  • Caching: the caching feature is now usable by all content, with or without a special license. Unlicensed content will share a single 50 MB Cache folder.
  • Editor:
  • Improvements:
  • Profiler Improvements:
  • Profiler is now able to connect to players to do remote profiling.
  • Added profiler support for iOS runtime. Editor and iOS device should be connected to the WiFi/LAN network.
  • Added profiler stats for physics.
  • Assets -> Import Package changed into a submenu for easy access to standard packages.
  • Android Remote is now available on all build targets; iPhone remote is now available on all build targets on Mac OS X.
  • PlayerSettings script class extended to let Editor scripts control various iOS and Android build settings like stripping, target devices, etc.
  • Slide to scrub over AudioClip previews.
  • Asset Importing:
  • Direct import of Modo files (*.lxo). Officialy supported Modo versions are 501 and higher.
  • Direct import from Cinema 4D R12.
  • Direct import from Blender 2.55.1 and later.
  • Upgraded FBX SDK to 2011.3.1.
  • Support for import of mesh instances from FBX files. Import of instances is not enabled for direct import of 3dsMax/Maya files due to limitations on FBX exporters (see Known Issues).
  • It is now possible to switch the scene view into bottom camera using a three-finger-swipe gesture up from the up camera on Mac OS X.
  • When an asset import fails, it will now show up in the project folder, allowing you to reimport it manually if you like.
  • Made window zooming using the magnify gesture on Mac OS X less sensitive so it is not accidentally triggered.
  • Handles now have Slider2D function for dragging a 3D handle in a plane, see Handles.Slider2D().
  • Tree Creator:
  • Improved consistency of the editor's "look" with other Unity editors.
  • "Synced" the Move/Rotate Branch/Leaf tools with the Editor Move/Rotate tools.
  • Cleaned up tooltip text.
  • Model wireframe is hidden when editting branches/leaves.
  • Object Picker:
  • Builtin resources have been added e.g the primitive meshes, default-material, default-particle texture etc.
  • Previews of textures now preserve the aspect ratio of the original texture.
  • Added check to prevent users from overwriting their project folder when building a webplayer.
  • Added API EditorWindow.FocusWindowIfItsOpen.
  • There is now an option to show a save confirmation dialog for writing changes to serialized asset and scenes.
  • Added build managed dependencies verification step. It will warn when unsupported .NET assemblies get included into build.
  • Undo system now has a memory cap to remove undo snapshots that use a lot of memory. This stops unity from crashing when editing big terrains.
  • When Unity quits during a script compilation, Unity will now on next restart recompile all scripts. Scripts are now generated automatically from all scripts in the asset database, making it impossible to get scripts into a non-working state if you for example delete Library/MonoManager.asset.
  • Heightmap terrain painting is now a lot faster.
  • Fixed text overdraw on inspector drop downs.
  • ESC cancels search in Scene, Hierarchy & Project Views.
  • Made Object Pickers have correct icon in light skin.
  • Mac: Dragging out a window to a secondary display now never places it too far up on the screen.
  • Changing GUI.skin is 10x faster in the editor and no longer clobbers the GC.
  • Dragging assets around inside a filtered Project view no longer moves the asset to root.
  • Dragging objects around inside a filtered Hierarchy view no longer unparents the game object.
  • Layout dropdown shows name of last selected layout. It's also pre-filled for save layout name.
  • Visible layers layermask is persistent between editor sessions.
  • Minor Build Settings window tweaks/polish.
  • Window docking has been rewritten, it should now have a way better feel.
  • EditorWindows now get OnFocus/LostFocus messages when tabs are switched.
  • Fixes:
  • Screen.width and Screen.height are now correct when entering playmode using maximizeOnPlay.
  • Fixed bug where undo / redo would incorrectly combine multiple undo operations into one step
  • Fixed bug where upgrading a project with normal maps would sometimes not mark the texture as a normal map properly in the import settings.
  • Fixed bug where, display of 'Texture not yet compressed' was not working.
  • Fixed issue where dragging on profiler hierarchy would change the active frame.
  • Fixed camera viewport handles incorrect with custom viewport rect.
  • Fixed crash when using null texture in Handles.DrawBezier.
  • Fixed camera's orthographic state is overriden if camera's inspector is visible.
  • Fixed mouse picking in editor issue.
  • Fixed crash when instantiating a prefab with Constant Force added in FixedUpdate.
  • Fixed no visual indicator when dragging textures onto materials.
  • Fixed model preview bitmaps need fixing for models that have an off-center pivot.
  • Fixed change to flare setting lost when followed by drag and drop.
  • Fixed the Object Picker's 'scene' tab list is empty on initial display for certain object types.
  • Fixed warnings in the console for stats window when using networking.
  • Fixed dragging material in sceneview does not always update correctly (Only a Windows issue).
  • Fixed crash on play when using the Animation system to disable a Mesh Renderer.
  • Fixed foldouts eating events when clipped.
  • Fixed object fields not pinging when disabled.
  • Fixed crash when calling Material.SetPass on a null material.
  • Fixed crash when calling NetworkUtility.Ping repeatedly and entering / exiting playmode quickly.
  • Fixed 'screencoord[1]' error messages in some situations.
  • Fixed tab dragging which could either throw an error "Trying to read pixel out of bounds" or show contents of another window.
  • Fixed wrong material previews if Player Settings has VertexLit rendering path.
  • Fixed a bug in Mac OS X Editor where assets with unicode characters in their file name would get converted to lower case names.
  • Previews in the Object Picker are now correct for dirty assets.
  • Fix crash when validating MeshRenderer context menu when there are no materials.
  • Fixed broken image references in script reference.
  • Fix errors when focusing on terrain with the hierarchy view.
  • CustomEditor bug made script-file become unusable in editor.
  • MenuItem with negative priorities are now working correctly.
  • Fixed texture importer was doing mipmap fade for normal maps wrong.
  • Fix sceneview sometimes losing input when a sceneview overlay window was showing (e.g. Camera Preview).
  • Fix Build and Run not working in Mac OS X 10.5.
  • Windows editor doesn't require MS Runtime libs (9.0) to be installed.
  • Fixed rendering issues on Windows with Intel GMA 950/3100 GPUs in Animation, Profiler and Terrain windows.
  • Editor Windows stay on-screen in a much more robust fashion.
  • Fixed confusing Shader Model 3.0 graphics emulation (it was sometimes disabled on capable GPUs).
  • Fixed issue with Static Batching not working after Additive Level Load.
  • QuickTime movie importing now works with the latest version (7.6.9).
  • Fixed occasional crashes on Windows when closing Asset Store window.
  • Fixed Asset Store window minimum size being too large for small screen resolutions.
  • Switching graphics emulation properly reloads all textures now (lightmaps could get wrong encoding before in some cases).
  • Fixed that ProjectSettings->Editor was only available in pro, while it contained nonpro security emulation settings.
  • Fixed inspector enum popups being wrong for fields that have same names but different enum types on same component.
  • Fixed crash when using CustomEditor Attribute on a class not derived from Editor.
  • MonoBehaviour.Update is now correctly called in batch mode in the editor.
  • Fixed bug where prefab instances could lose the prefab overrides on mono behaviours when new properties were added in some corner case scenarios.
  • Fixed clicking behaviour while renaming in Hierarchy & Project View (sometimes Unity would not apply the new name).
  • Fixed context menus not working in various Project Settings inspectors.
  • Fixed imposter camera showing in the hierarchy for a single frame after creation.
  • Fixed Tree Creator mesh not updating properly when editing value's directly in a text field.
  • Fixed creating projects through command line using relative paths on windows.
  • When selecting font with unsupported format in inspector, display nice error box instead of crashing.
  • Control/Command + click in SceneView now selects game objects as well as deselects them.
  • Fixed: Don't open hierarchy window for no good reason when creating e.g. Cube game object.
  • Remove Components -> Miscellaneous -> Tree menu item, as it does not do anything useful.
  • Fixed display of unicode characters in the layouts popup menu.
  • Mac Editor: Popup windows no longer gets sent to back when you close another popup window.
  • Fixed layout label issues with Vector Fields.
  • Dragging out windows no longer can leave a 1px white hairline on bottom and right edges.
  • Dragging while zoomed in on mac no longer renders the window unresizable.
  • Fix gear context icon for material and texture inspectors in dark skin.
  • Build settings properly reflect changes to moving(renaming) scenes.
  • Graphics:
  • Improvements:
  • Major performance improvements in OpenGL ES 2.0 (iOS / Android):
  • Much improved performance of shaders that are compiled from Cg/HLSL (e.g. Diffuse for directional light is about 2x faster on iPhone 3Gs). Now fixed/half/float types in Cg map to lowp/mediump/highp precision in GLSL. Use lowest precision type in your shaders!
  • Improved GLSL shader optimizer.
  • Changed normal map compression approach for mobile platforms. It's much faster now!
  • Fog mode can be changed in Render Settings (also from scripts): Linear, Exp, Exp2 (default).
  • Rendering performance optimizations (lower CPU overhead, less memory consumption).
  • Shadows:
  • Forward rendering path supports Point & Spot light shadows again, as well as multiple shadowing lights! Note that by default shaders do not have this enabled, use fullforwardshadows surface shader directive to enable the behavior.
  • Directional Light soft shadows blur width and fadeout speed can be adjusted in Inspector or via script.
  • Exposed Light.shadowBias to scripting.
  • Built-in shaders that perform Deferred Lighting, directional light shadow gathering in Deferred Lighting, and directional light shadow blurring can be overriden. Just drop your own shaders with the same names into the project.
  • Deferred light buffer can be accessed from from Image Effects or other shaders (_LightBuffer).
  • Surface Shader improvements:
  • support world-space normal as input (worldNormal).
  • fullforwardshadows directive to enable all shadows from any lights in forward rendering loop.
  • dualforward directive to enable dual lightmaps in Forward rendering.
  • decal:blend mode for shaders used on decal-like surfaces.
  • nolightmap directive to exclude lightmap support (makes shaders smaller).
  • noambient directive to not apply ambient nor SH lighting.
  • halfasview directive to compute normalized half-direction per-vertex, and pass that to the lighting function. Results in faster Specular-type shaders, however view direction won't be entirely correct.
  • approxview directive to compute normalized view direction per-vertex instead of per-pixel. Results in faster Specular-type shaders, however view direction won't be entirely correct when camera gets close to surface.
  • noforwardadd directive to skip generating forward additive pass. Will make a shader support one full directional light; all other lights will be per-vertex/SH.
  • Shaders: #pragma glsl_no_auto_normalization directive to not auto-normalize normals & tangents in OpenGL ES 2.0 shaders.
  • Shaders: Added TransformViewToProjection to do this properly on mobile devices with regard to orientation (on non-mobile it will be usual multiplication by diagonal terms of projection matrix).
  • Shaders: Added per vertex lit tree shaders previously used in the Bootcamp demo. To be used with Tree Creator trees and located in "Nature/Tree Creator Leaves Fast".
  • Desktop GLSL shaders now allow OpenGL ES precision types to be used.
  • Added GL.GetGPUProjectionMatrix that returns actual projection matrix that will be used in shaders.
  • Added support for 16bit RenderTextures.
  • Scaled meshes are now only recreated if the scale has actually changed. This improves performance hiccups on same games.
  • Texture2D.GetPixel and friends work on RGBA32 textures (common case for uncompressed textures on mobile platforms) in addition to ARGB32 ones.
  • Texture2D.Apply and Texture2D.PackTextures now have additional parameter makeNoLongerReadable (default to false) that will mark Texture as not Readable, and free up system memory after uploading to GPU.
  • Fixes:
  • Shaders: Bunch of fixes to Cg->GLSL shader translator:
  • Translates 'half' and 'fixed' matrix types properly (previously 'half' was translated to high precision, and 'fixed' was not supported).
  • Support lit() built-in function.
  • Fixes to swizzles on floats.
  • Support static qualifier.
  • Better handling of 2D matrix indexing, e.g. matrix[i][j].
  • Shaders: fixed mis-compilation of matrix constructors & matrix indexing when translating shaders to GLSL.
  • Shaders: fixed mis-compilation of modf() and fmod() when translating shaders to GLSL.
  • Shaders: Postprocess Direct3D pixel shaders that come close to 64 instruction limit to work around a crash on Intel GMA 950.
  • Shaders: Fix some bogus error messages when loading Direct3D shaders.
  • Surface Shaders: in case of syntax errors, proper line numbers are reported now... how cool is that? ;)
  • Surface Shaders: support #pragma multi_compile directives properly.
  • Lightmapper fixes:
  • Fixed UV layer creation for Beast. Fixes all the "Duplicate uv layer name" errors.
  • Fixed tiling and offset being ignored for _MainTex on objects using a non-white color.
  • Fixed an issue in Beast causing black areas surrounded by white outlines to sometimes appear in lightmaps.
  • Fixed lightmapping of objects with mirrored (odd-negative) scale.
  • Fixed the crash when lightmapping terrains where the Terrain script references a missing TerrainData asset.
  • Fixed an issue with Beast occasionally cancelling the bake process (especially on Mac OS X, but also causing poor performance on Win) when using a lot of memory.
  • Fixed the issue with 4096 size terrain lightmaps not baking on Mac OS X.
  • Fixed DXT5 alpha channel decompression to better match what GPUs are actually doing.
  • Fixed Texture2D.GetPixel on Alpha8 format returning 0.00392 in RGB channels instead of 1.0.
  • Fixed a bug in Cloth rendering that was mostly happening on Windows with Radeon GPUs.
  • Fixed custom projection matrices sometimes not working properly.
  • Fixed inconsistent triangle count display in Game View Stats when dynamic batching is used.
  • Fixed creation of compressed textures at runtime.
  • Fixed validation of vertex/pixel shaders that use more textures than the GPU can handle.
  • Fix texture scale/offset not being applied when writing shaders in GLSL for desktop platforms.
  • Fixed editor fonts getting corrupted once RenderTextures are used on Mac OS X 10.5.x with Intel GMA 950 GPU.
  • Fixed Texture2D.ReadPixels on Direct3D when reading into a portion of a texture.
  • Fixed Soft Occlusion Tree shaders sometimes rendering overbright on Windows with GeForce FX/6/7 GPUs.
  • Fixed lightmapped VertexLit shader applying fog in a wrong way on old GPUs with only 1 texture unit.
  • Texture2D.ReadPixels properly reads from Game View when non-full aspect ratio is used.
  • RenderTexture.GetTemporary now always returns a texture with bilinear filtering set (previously could return with something else when returning a texture from existing texture pool).
  • Fixed directional light shadows in case of weird projection matrices (e.g. Refractive Water).
  • Make WindZones be properly affected by Time Scale.
  • WindZones properly affect Tree Creator trees put into terrains now.
  • Fixed wrong Point/Spot light attenuation on Tree Creator leaves.
  • Graphics.Blit does not require using Cull Off in the shader now.
  • Shadows can be properly cast from particles now, if you use opaque or cutout shaders on them.
  • Fixed changing Flare color from script not always having effect.
  • Opaque objects are front-to-back sorted again for performance reasons. Looks like this got lost with all batching work in Unity 3.0.
  • Fixed dynamic batching issues with uniformly scaled objects and vertex lighting on Direct3D.
  • Fixed rendering of scenes containing objects with odd-negative scale in deferred when any of the lights was casting shadows.
  • Fixed Deferred Lighting not respecting camera's Don't Clear mode.
  • Fixed bogus error message when a shader with an empty name has no fallback.
  • Fixed half-texel offset error when generating tree creator texture atlas.
  • OpenGL ES 2.0: Fixed Fog with semitransparent fixed function shaders.
  • Unity iOS:
  • Improvements:
  • Alpha-tested objects are drawn after fully opaque ones for performance reasons.
  • Implemented MSAA (Multisample anti-aliasing) support. You choose it in Quality Settings just like for other platforms.
  • Audio: Gapless looping of MP3s! Unity's MP3 encoding is completely rewritten and silent frames and/or audible "pops" around the loop point is no more. Use the "Gapless loop" option in the Audio Importer to encode the MP3 for looping. Beware this stretches/resamples the sound which theoretically can affect quality.
  • Mobile devices now have their own quality settings (Project Settings->Quality->Default Mobile Quality).
  • Improved performance by using OES_vertex_array_object and EXT_discard_framebuffer extensions.
  • Added automated native plugin integration into Xcode project. All .m/.mm/.c/.cpp/.a files located in Assets/Plugins/iOS will be merged into Xcode project with every Unity project build.
  • Performance warning now shows up when deploying a project using anti-aliasing and/or more than 1 pixel light.
  • Use unnamed process-wide kernel semaphores instead of slower system-wide semaphores.
  • Added armv7 only target platform.
  • Added "latest" SDK option, should work only for 4.2 and later SDK.
  • Fixes:
  • AOT compiler stability improved when generics are used with value types like Vector3.
  • Audio: Restore AudioSession without losing any state (audio will continue just where it was interrupted).
  • Audio: Fix audio stopping when releasing a source referencing an audio clip that is in use. This resolves audio stopping when loading a new scene.
  • Fixed SystemInfo.operatingSystem.
  • Fixed Toon Outline shaders not working on iOS with landscape orientation (update Toon Shading package).
  • Fixed audio not coming back after an app switch on iOS.
  • Fixed simulator support.
  • Fixed -all_load linker option support.
  • Fixed GUI slider + stripping problem.
  • Fixed problem when editor was stuck in Xcode project append mode.
  • Fixed animation curve stripping problem.
  • Fixed UnityScript and Boo Array support.
  • Fixed MonoProperty.GetValue for .NET 2.0 Subset profile. For full .NET 2.0 profile this feature is not supported.
  • Fixed freeing up audio assets after loading audio into FMOD.
  • Now editor will report location service as stopped instead of running.
  • Audio: Fixed www.audioClip streaming.
  • Improved micro mscorlib compatibility with stripping.
  • Unity Android:
  • Improvements:
  • Upgraded to Android OS 2.3 (Gingerbread); Editor needs the latest SDK.
  • Android Remote - Remote debugging tool for Android devices.
  • The script debugger is now enabled for Android players.
  • Added proper development build player, with support for profiling / debugging.
  • Proper device filter for devices equipped with an ARMv6 (VFP enabled) CPU.
  • Support for reversed landscape / portrait up-side-down screen orientation (Gingerbread and later only).
  • Support for extra large screens, ie tablet devices (Gingerbread and later only).
  • Implemented Location Service (GPS/Wifi).
  • Decreased the install size to the Internal Storage flash memory (currently approx. 180KB, ie ~2% of 3.1).
  • Audio: Gapless looping of MP3s! Unity's MP3 encoding is completely rewritten and silent frames and/or audible "pops" around the loop point is no more. Use the "Gapless loop" option in the Audio Importer to encode the MP3 for looping. Beware this stretches/resamples the sound which theoretically can affect quality.
  • First draft of typeless JNI integration from scripts (C#/JS) through AndroidJavaObject / AndroidJavaClass and AndroidJNI / AndroidJNIHelper.
  • Added UnitySendMessage on Java side to provide callback functionality to C# / JavaScript.
  • WWW now uses system URL class; https://, and also jar:, is now supported.
  • Added Application.persistentDataPath and Application.temporaryCachePath.
  • Added PlayerSettings / Other Settings / Force SD-Card Permission.
  • Removed all Unity specific resources from /res/ folder; this will ease the integration of Java resources in Plugins.
  • LVL permissions are detected by usage, rather than whether PlayerSettings / LVL Public Key is filled in.
  • Input.inputString now also works with hardware keyboard on the devices which have one.
  • Added editor preference for Android SDK location.
  • Now have their own quality settings (Project Settings->Quality->Default Mobile Quality).
  • Performance warning now shows up when deploying a project using anti-aliasing and/or more than 1 pixel light.
  • Fixes:
  • Fixed the tablet accelerometer bug where portrait/landscape axis were swapped.
  • Fixed NullPointerException race-condition in FMOD when pausing the application.
  • Behaviour of 'Compress Assets on Import' turned off is now that no textures or assets will be reimported with their platform specific override settings right away. Thus allowing for fast switching between build targets. When a build is made, all assets are ensured to have the right format. (was done in earlier builds actually).
  • JDK lookup now fallbacks to use the PATH if registry key is not found / valid (Windows).
  • Fixed: No more duplicate entries in AndroidManifest.xml.
  • Fixed the clip rectangle of the soft input text box not being updated properly.
  • Added missing Mono machine.config specification file (needed for SQL access).
  • Audio/Accelerometer disabled in QCAR application due to missing onResume() call.
  • Audio: Fixed www.audioClip streaming.
  • Fixed crash when the LVL key is invalid.
  • Fixed touch began events to always have zero Touch.deltaPos.
  • When tapping faster than once per frame, individual taps are no longer lost, they're reported as taps with a separate finger ID and properly incremented tap count.
  • Touch.tapCount is no longer hardcoded as 1 and properly returns number of rapid taps in nearly same position.
  • Timestamps no longer lose data by squeezing 64-bit values through 32-bit parameters.
  • Audio:
  • Improvements:
  • FMOD 4.32.02 used across all platform/build targets.
  • Fallback on FMODs software mp3 decoder when Apple's decoder (hw/soft) fails completely.
  • Better documentation for min-/max-distance properties.
  • .Play() with a delay now works on iPhone.
  • Streaming with WWW.audioClip now works with OggVorbis (PC/Mac/Web), MP3 (iOS/Android), WAVs (all platforms) and module files (all platforms).
  • Streaming with WWW.audioClip is much faster.
  • Stream audio from disc. Added "Stream from disc" option in the Audio Importer. Choose this to stream audio directly from disc instead of loading the entire clip into memory. This can decrease your application memory usage greatly.
  • Optimize the playback of compressed audio (on Android and iOS).
  • Fixes:
  • AudioImporter inspector cleaned up and simplified.
  • Fix sounds starting when switching back to a paused editor on Windows.
  • Fix memory trash when encoding 8 bit wav files to MP3.
  • Never re-encode already encoded/compressed audio.
  • You can now set labels on Audio Clips.
  • Reverb zone's position can now be changed runtime.
  • Optimized play back of uncompressed audio (wav/aiff) files with "Compressed in memory" flag checked.
  • Fixed min/max curve editor drawing when min/max-distance is set from script.
  • Fix audio inspector showing garbage for audio assets that failed to import.
  • Force To Mono checkbox disabled for already encoded files. It had no effect anyway.
  • Meta files on older audio assets not changed when upgrading.
  • Physics:
  • Improvements:
  • Tweaked Continuous Collision Detection to behave better, with objects coming to rest properly.
  • Allow access to cloth simulation vertices by exposing Cloth.vertices and Cloth.normals.
  • Added Rigidbody.constraints to allow constraining Rigidbody rotation and movement to specific axes.
  • Fixes:
  • Changing the trigger flag of a collider at runtime will now also be respected by Raycasts.
  • OnCollisionExit messages now work when the colliders are moved apart from scripting.
  • Fixed SkinnedCloth crashing Unity on player resolution change.
  • Fixed a crash in PhysX which could occasionally occur when modifying or destroying a collider during a CCD collision.
  • Parenting a collider to a rigidbody at runtime will now correctly add it to the rigidbody.
  • Fixed a crash when destroying or deactivating a collider in OnControllerColliderHit.
  • Fixed editing Character Controller propteries in play mode.
  • Make SphereCollider vs. TerrainCollider collisions smoother.
  • Fixed a crash in PhysX when trying to use some oddly-shaped meshes as convex MeshColliders.
  • Fixed a crash when trying to set properties on an invalid SpringJoint.
  • Fixed wrong prototype for OnCollision* messages causing classID errors.
  • Fixed setting MeshCollider properties from the inspector at runtime and a related editor crash.
  • Collider.bounds will now return an exact bounding box for rotated capsule and sphere colliders.
  • Other Improvements:
  • JavaScript Improvements:
  • Multidimensional arrays: int[,]
  • do-while statements.
  • final/static/internal class modifiers.
  • Support for nested classes, enums and interfaces.
  • Assembly level attributes: @assembly SomeAttribute()
  • Parameter attributes: function foo(@SomeAttribute bar)
  • Support for turning off specific pragmas on a per module basis: #pragma strict off
  • MonoDevelop: Improved code completion for JavaScript and Boo, especially on Windows.
  • Scripting Improvements:
  • Added OnDestroy function that is called before any MonoBehaviour will be destroyed.
  • Added AssetDatabase.ExportPackage and AssetDatabase.ImportPackage.
  • Using AddComponent(Type t) now works for components that come from dynamically loaded assemblies at runtime.
  • Added MovieTexture.duration.
  • Added Mathf.IsPowerOfTwo and NextPowerOfTwo.
  • Object.ToString will now return the object's type and name.
  • Updated Boo to 0.9.4.9 version.
  • Increased reliability of destruction functions. OnDestroy and OnDisable will be called on the game object before any modifications to the game object hierarchy have occurred. Destroying of objects is now faster.
  • Networking: It's now possible to remove Network.Instantiate calls from the RPC buffer by calling Network.RemoveRPCs on the first NetworkView in the instantiated object.
  • Caching: the caching feature is now usable by all content, with or without a special license. Unlicensed content will share a single 50 MB Cache folder.
  • Standalone builds: Added an option to disable writing of log files, because Apple may otherwise reject Mac App Store applications in some cases.
  • Standalone builds: Added watermark when running Development builds, to avoid shipping with profiling/debugging turned on.
  • Asset Server: explain to user why some of the selected assets in merge window cannot be merged.
  • Other Fixes:
  • Fixed a potential crash when stopping a streaming movie texture while it is downloading.
  • Generated materials during import now have correct capitalization.
  • Exposed texture settings in TextureImporter class.
  • Fixed deadlock in some corner cases in the Instantiate function, while loading asynchronously.
  • Left handed mouse buttons are now correctly recognized on Windows.
  • Standalone Player: Fixed instability/crash when running the Windows player in batchmode.
  • Mac OS X Standalone: Fixed default folder access mode setup to be allowed onto the Mac App Store.
  • OnApplicationPause is always invoked.
  • Fixed "thread_stack_pcs" and "~/.wapi" Mac App Store submission problems.
  • Destroying a transform component is now forbidden and an error message is displaying telling the user to destroy the game object instead.
  • Fixed crash when passing a generic type as argument to Resources.FindObjectsOfTypeAll.
  • Fixed crash when passing a generic type as argument to GetComponent.
  • Fixed: javascript shortcircuited boolean operations that involved implicit boolean casts of operands were not short circuiting.
  • Fixed: javascript support for calling methods taking a variable number of arguments with an explicit array argument.
  • Application.LoadLevel will not destroy scene assets if they are still in use by a game object marked as DontDestroyOnLoad.
  • Fixed Copy, Paste and other keyboard commands in Mac OS X Standalone.
  • Fixed Input.mousePosition while typing in Mac OS X Standalone.
  • Fixed installation of Unity Web Plugin from Dashboard widgets.
  • Caching: Added Caching.IsVersionCached as replacement for the deprecated GetVersionFromCache.
  • Fixed setting the font of a TextMesh from a script (the mesh would not update previously).
  • Fixed a crash when creating Behaviour-derived built-in components during a FixedUpdate() call.
  • Web Player Fixes:
  • Java Applet Installer: Use custom logo and progress bar/frame like in regular web plugin.
  • Fixed issue with loading Meshes built with older version of Unity.
  • Mouse movement is properly recognized on Google Chrome.
  • Internet Explorer now recognizes Tab key.
  • Background, border and text colors are properly displayed when installing Web Player.
  • Google Chrome doesn't crash when web page is refreshed multiple times in succession.
  • Internet Explorer doesn't crash during Web Player installation when legacy Java version is installed.
  • Fix crash when webplayer encounters .NET code it thinks is illegal. VerificationException is now thrown instead.
  • WWW.LoadUnityWeb will now work with streamed .unity3d files.
  • Allow passing strings with line breaks ('\n') to Application.ExternalCall.
  • Mac: Fixed Copy&amd;Paste (and other Cmd-key equivalents).
  • Mac: Fixed a problem where the player could fail to update the screen in Chrome.
  • Mac: Fix an occasional plugin failure when trying to load Unity 2.x content.
  • Mac: Make cursor hiding in Google Chrome and Firefox 4 work reliably.
  • Mac: Fix focus issue in Firefox 4.
  • Mac: Fix crash when unloading plugin in Firefox 4.
  • Mac: Fix normal PowerPC webplayer behaving like development webplayer.
  • Animation Fixes:
  • Animations were not sampling last keyframe in Clamp and DefaultWrapMode modes.
  • Animations were not stopping properly when animation speed is negative.
  • Unity uses much less memory when importing split animations now.
  • Fixed leak when animation system sampled material at out of bounds material index.
  • ModelImporter inspector doesn't allow to enter 0 frame split animations and ModelImporter gives error if it finds such animations.
  • When imported model has has multiple roots and animation doesn't Unity will add an extra root to animation in order to unify hierarchies.
  • Fixed import of textures/materials from old MotionBuilder files.
  • Fixed Materials are not imported from all layers (fixes Fbx2010.2 imports from Cinema4D).
  • Fixed 3ds import crash when special characters are used in texture paths or material name.
  • Implemented detection and warning when Scale Compensation is used in FBX file.
  • Implemented detection and warning for FBX files which have keyframes at invalid times (before -100 hours).
  • Fixed FrameRate import from FBX 2011 plugins - previously it used to always have 30FPS when imported from FBX 2011 plugins (i.e. Maya 2011, 3dsMax 2011 and so on).
  • AssetServer: Fixed case where merging a conflicted file would result in a file with its last content chopped off.
  • Security: Remove excessive logging from socket and www security.
  • Security: Security check now accepts URL extensions using upper case chars.
  • VisualStudio/MonoDevelop integration: ignore warning about private methods not being used, since Unity users need to use that construct a lot.
  • MonoDevelop: Workaround network failures when detecting local editors on Mac OS X.
  • MonoDevelop: Incorporate improvements from MonoDevelop 2.4.2.
  • Mono: Merged fix for generics constraint validation.
  • Mono: Fixed yield when waiting for multiple coroutines.
  • Mono: Fixed crash when Starting empty coroutine.
  • MonoDevelop: Merged fixes from stable 2.4 branch.
  • Networking: message type 73 is now properly processed as a NAT punchthrough failed connection attempt.
  • Networking: Fixed proxy server issues when using Network.useProxy.
  • Networking: Fixed problem with using NAT punchthrough in the Editor, it didn't work after the first time and unknown message ID errors popped up.
  • Networking: Fixed problem with NAT punchthrough on Windows machines related to network GUID overflows.
  • Networking: Fixed problem with NAT detection where Port Restricted was sometimes reported instead of Address Restricted or Full Cone.
  • Fixed using layers and multiple animation per layer could result in incorrect blend.
  • Fixed ImportNormals mode None (on FBXImporter) didn't work it used to do the same as Calculate mode and give and an incorrect warning.
  • Removed/Cleaned up small leaks in WWW class.
  • Changes:
  • Editor: iOS SDKs prior 4.x were removed from SDK list. New default is iOS SDK 4.2.
  • Implemented 3 minute timeout for import of Maya files.
  • Implemented detection, fix-up and a warning message for NANs in animation curves of FBX files.
  • Default Sync to VBL to 'true' in Good, Beautiful, and Fantastic Quality Settings.
  • Proper errors when there is another project's library folder in the project.
  • Application.dataPath will work like in the web player, returning the URL of the folder containing the .unity3d file (previously it would just crash).
  • WindZones do not "ramp up" over time anymore.
  • Known Issues:
  • When autoconnect profiler is enabled the Editor can become unresponsive after selecting Build and run for Android.
  • Direct Modo file import issues:
  • Files can not be imported from modo 401, due to a problem in Modo batch mode.
  • UV coordinates for some meshes are not imported correctly, due to a problem in Modo Collada plugin.
  • Normals for some meshes are always exported as hard edges, due to a problem in Modo Collada plugin.
  • Unwrap: some implementation details were changed, so you may need to rebake your lightmaps, due to UV changes.
  • 3dsMax reference meshes are not imported correctly (FBX plugins do no export any modifications added on top of the instance), because of the bug on Autodesk side. No changes on Unity side are needed, so it will be fixed as soon as Autodesk fixes FBX plugin for 3dsMax.
  • Materials on instance meshes are not imported correctly - they always share the same material. This happens due to structure of FBX files, so this can't be fixed until Autodesk makes FBX structures more suitable for instanced meshes with different materials.
  • Audio: Seamlessly looping clips breaks when compressed for iPhone/Android.
  • When duplicating a dirty asset its preview in the Object Picker is incorrect until dirty again.

New in version 3.1.0 (November 26th, 2010)

  • New Features:
  • Managed .NET DLLs can now be placed in the project folder and can contain script code, including MonoBehaviours, EditorWindows and ScriptableObjects. This allows you to move any code into a DLL, making code sharing between projects easier, and making it easier for middleware developers to create libraries without sharing the source code. This was introduced in Unity 3.0 but was not mentioned in the release notes.
  • Scripting: Added GL.InvalidateState() to flush the internal renderstate cache in Unity. This is mostly useful when writing native code plugins that access the 3D device.
  • Audio: Added AudioSettings.outputSampleRate. Returns the mixer's output rate; use this to calculate the precise hertz range returned from GetSpectrumData().
  • Fixes:
  • Editor: Fixed out of memory errors when editing very large terrains due to the Undo system.
  • Editor: Fixed "too many open files" error when reimporting a large project with many shaders on Mac OS X.
  • Editor: Some textures would not say "Texture not yet compressed" when importing with the "Compress Textures" preference turned off.
  • Editor: Fixed a bug where upgrading a Unity 2.x project with normal maps would leave some normal maps not marked as Normalmap type properly.
  • Terrain Engine: Unity 2.x Soft Vegetation tree shaders had lighting upside down :)
  • Shaders: fixed Surface Shader compilation errors with large custom output structures.
  • Shaders: wrong syntax in UnityCG.glslinc file (for GLSL shaders).
  • Graphics: fixed Projector crash in some circumstances.
  • Graphics: fixed tangent vectors not bound correctly with GLSL shaders on some GPUs.
  • Graphics: fixed dynamic batching corrupting vertex colors on Direct3D.
  • Graphics: fixed GL.TRIANGLES rendering with large triangle counts on Direct3D.
  • Graphics: fixed some hiccups when changing non-uniform scale of meshes.
  • Graphics: Fixed dynamic batching index overflow.
  • Audio: GetOutputData/GetSpectrumData API changed so it accepts an pre-allocated array instead of allocating on every call. Old API is deprecated and marked obsolete.
  • Unity iOS Fixes:
  • Fixed render texture support on iPad with OS 3.2.
  • Fixed video autorotation. Pinch zoom gesture now disabled during video playback.
  • Fixed stripping of GUI scrollable area.
  • Fixed OpenGL ES 1.1 cache invalidation, which was sometimes causing visual artifacts.
  • Fixed render texture memory leak.
  • Unity Android Improvements & Fixes:
  • Plugins folder is moved; it now uses Assets/Plugins/Android to scan for plugins.
  • Plugins now support standard Android project layout; /assets, /bin, /libs and /res will be merged with the final package.
  • Added 'update necessary' notifcation dialog for Samsung devices running pre-2.2 OS firmware.
  • License Verification Library (LVL) no longer causes a crash.
  • Added iPhoneUtils.isApplicationGenuineAvailable() to be able to determine if application integrity can be confirmed or not.
  • Ignore .meta files (with external version control) when packaging the .apk.
  • Assign DefaultImporter to platform specific plugin assets.
  • Custom manifests are now merged with the properties from the editor (like Bundle Identifier, Version and permission flags).
  • Ship UnityPlayerActivity as source code template for writing plugins with custom activity classes.
  • Added support for translucent (RGBA 8888) rendering surface.
  • com/unity3d/player/UnityPlayerActivity.currentActivity field is now found at com/unity3d/player/UnityPlayer.currentActivity.
  • iPhoneKeyboard is now displayed on top of the application; it supports the basic soft keyboard layouts (URL, Email, Phone, etc).
  • PlayMovie is now displayed on top of the application (instead of in a separate activity); fixes the screenCanDarken issue while playing movies.
  • The editor now checks for device specifications before trying to deploy in Build&Run.
  • The editor will try to locate the JDK based on information stored in the registry on Windows.
  • Fixed C# assemblies being loaded from the wrong thread; was causing crashes if external classes were loaded late at runtime.
  • Fixed render textures on OpenGL ES 2.0.

New in version 3.0.0 (October 1st, 2010)

  • Android Support:
  • Support for Android OS is added in this version.
  • Please note that this an early build and does not represent the final Unity Android quality.
  • Standard Assets:
  • Standard packages split into more specialized and smaller packages.
  • New Image Effects: Sun Shafts (aka God Rays); Bloom & Lens Flares; Vignetting & Chromatic Aberration; Curve based Color Correction; Depth of Field; Contrast Enhance (aka Unsharp Mask); Geometry Outline; Fisheye; Create Shading.
  • Improved particle effects.
  • New Skyboxes with alpha channels to be compatible with Image Effects.
  • New Editor Scripts for useful shortcuts that are not built-in.
  • Improved First Person Controller that uses Character Motor script.
  • New CharacterMotor script for use with CharacterControllers.
  • Proper movement on slopes and steps without loosing grounding.
  • Support for standing on moving platforms with multiple movement transfer modes when jumping off.
  • Variable height jumping and other jump improvements.
  • Improved speed and acceleration control.
  • Customizable sliding and perpendicular jumping can prevent climbing up too steep surfaces.
  • Detached from input so it can be used for first person, third person, AI, etc.
  • New Editor Features:
  • Black is the new 50% gray. Unity Pro got a new look - you can toggle it in the preferences.
  • Procedural Tree Creator. Documentation.
  • Integrated Lightmapping via Illuminate Labs' Beast. Documentation.
  • Automatic generation of lightmap UVs (mesh import setting).
  • Terrains use the same solution and gain a whole new look when used with skylight.
  • You no longer use special "Lightmapped" shaders; all shaders that interact with lighting can handle lightmaps. Dynamic shadows from characters mix with lightmaps properly.
  • Object Selector. We no long show a simple dropdown menu; instead a swanky new window opens up, with previews and everything.
  • Scene View improvements (documentation):
  • Search field with interactive highlighting of objects.
  • Rectangle selection.
  • Vertex Snapping for precise object placement.
  • Live previews of material, prefab and texture drags into the scene view.
  • Improved camera handles, and a camera preview window.
  • Improved light handles.
  • More consistent scene navigation controls.
  • New texture Import Settings dialog with simpler interface & per-platform import settings.
  • New Build Settings window to better support multiple platforms.
  • New and more organized platform-aware Player Settings Inspector.
  • Curve Popup Window:
  • Any public script variable of type AnimationCurve is now exposed in the Inspector as a curve field.
  • Clicking a curve field opens a popup window with a curve editor, similar to the curve editor in the Animation Window.
  • Customizable curve fields can also be used in custom editor windows.
  • Editor checks when new versions are available< and notifies the user.
  • Texture compression is now multi-threaded for faster texture imports on multi-core computers.
  • Asset Server Window:
  • History window shows multiline commit descriptions directly in the list instead of tooltips.
  • Selected history window items are revealed better.
  • Framing (F key) works for history window file list.
  • Remember user/password per host name.
  • Disable merge button in conflict resolution window for non-merge-able items.
  • Improved error reporting for shaders. Shader Inspector also displays the list of errors & warnings for selected shader.
  • Implemented snap to grid in Curve Popup Window and Animation View when holding down Control (Command on OS X). Control/Command no longer adds to selection, but Shift can still be used for that.
  • Editor Console displays total number of errors & warnings in lower right corner.
  • Improved inspector for movie audio.
  • Windows: Double-clicking *.unitypackage will open and import it.
  • Editor API has been expanded: documentation.
  • Added option to search for object types instead of names in the project search field.
  • Can now drag objects onto an array field in the inspector to add them to the array.
  • Can now drag project folders onto the Project Wizard on Mac OS X to select them.
  • Nicer display of thumbnails when dragging tabbed editor windows.
  • Long operations show progress badge on the Unity Dock icon in Mac OS X and on the taskbar button in Windows 7.
  • Added support for touchpad gestures in OS X editor, for maximizing windows (pinch gesture), and switching camera in scene view (swipe gesture).
  • Overdraw visualization mode does not do alpha testing now. Alpha tested pixels still cost on the GPU, so better to visualize the real cost.
  • Animation window can display animation clips from prefab, just click the prefab's root game object.
  • Protect Transform position, rotation, scale against invalid values.
  • Build Pipeline: Typetrees are removed from serialized files (assets) when possible, this make resource files smaller and loading time faster.
  • Double-clicking a Game Object in Hierarchy View will frame select it in Scene View.
  • When going out of Play mode and the Game View is docked together with other tabs, go to last active tab instead of always focusing or creating a Scene View tab.
  • Now the Hierarchy View has a toolbar too.
  • API Compatibility setting in player settings lets you choose your mono profile. Use 2.0 if you're having trouble with 3rd party assemblies (2.0 not available for web player).
  • High resolution icon support for players (Windows: 256x256 and 128x128; iOS: 114x114).
  • Search results in project and scene search are now sorted alphabetically.
  • Inspector Lock got a real button instead of being hidden in a menu.
  • Rotate Tool now includes 'Look At Point' option when Shift + Control/Command keys are held.
  • Audition audio in SceneView. Scene view search now filters audio sources as well.
  • Added Web Player build templates.
  • It is now possible to update Asset Server project to specific revision through command line.
  • New Graphics Features:
  • Static Occlusion Culling using Umbra sPVS.
  • Geometry Batching: static and dynamic batching from Unity iPhone 1.7 comes to all platforms.
  • Rendering paths: (choose in Player Settings or per-Camera; documentation)
  • Deferred Lighting. A deferred rendering scheme, where realtime lights are not horribly expensive anymore. Lighting cost is only dependent on the number of pixels it touches, so you can have lots of small lights for cheap.
  • Vertex Lit. This makes all shaders & lights use fixed function per-vertex lighting. In exchange, this is fast; primarily targeted at mobile platforms and low-end web.
  • Forward rendering path had lots of changes compared to Unity 2.x, see below.
  • Surface Shaders - a much easier way to write shaders that interact with lighting. We don't have the docs for it yet; you'll have to trust us that it's awesome!
  • Speed! We have optimized the rendering code; it's often 20-50% faster than 2.6 in the same scene setups.
  • OpenGL ES 2.0 for iOS and Android. You can use shaders for objects, post-processing effects etc.
  • Regular Cg/HLSL shaders and Unity 3 Surface Shaders will be cross-compiled into GLSL behind the scenes. Resulting GLSL will be optimized as well, because mobile platforms are not very good at optimizing the shaders.
  • Of course, since mobile platforms are not very powerful, you should use OpenGL ES 1.1 if possible.
  • Particle Rotation: Particle.rotation, Particle.angularVelocity and respective properties in ParticleEmitter.
  • Soft Particles! When you use Deferred Lighting and have Soft Particles on in Quality Settings, particles will fade out close to intersections with the scene. All built-in Particle shaders (except VertexLit) support this.
  • Shadowing improvements: use native shadow maps on Direct3D (faster, less memory, native filtering); much reduced self-shadowing artifacts; Soft shadows support for Point lights; much less "shadow halos" around objects for directional light soft shadows; optimized shadows for Forward rendering path (shares depth buffer with main rendering); optimized shaders for directional light shadows.
  • Terrain: Added slider (under Terrain Settings) to control detail object density.
  • Vertex shaders for Shader Model 3.0 on Direct3D9 and GLSL on OpenGL can read from textures.
  • Skybox is rendered after opaque geometry. Improves performance if your application is fillrate bound.
  • Separate Alpha Blending: use Blend ColorSrc ColorDest, AlphaSrc AlphaDest in ShaderLab.
  • In-editor visualization on which objects would use which rendering paths (green/yellow/red for deferred/forward/vertexlit).
  • #pragma glsl for compiling Cg/HLSL shaders into GLSL instead of ARB assembly programs on OpenGL.
  • Compiling shaders to #pragma target 3.0 allows 512 texture indirections on OpenGL (up from 4).
  • Development standalone players on Windows have Direct3D PIX events; useful if you use PIX, Intel GPA or other graphics performance tools.
  • Fog just works on Direct3D with Shader Model 3.0 shaders, on OpenGL with GLSL and on OpenGL ES 2.0. Additionally, there's no need to write #pragma fragmentoption ARB_fog_exp2 in your shaders anymore; just remove that line.
  • CameraDepthTexture modes can be combined if you want to get both depth & depth+normals textures.
  • It is possible to forcibly disable Anisotropic filtering on a texture, even when Quality Settings have anisotropic on all textures. Just set anisotropic slider on the texture to zero.
  • Uniformly scaled objects will no longer be pre-scaled before rendering - instead uniform scale is now natively supported by the renderer.
  • Cg/HLSL VPOS (pixel position) pixel shader input semantic is supported now.
  • Terrain: Expose detail resolution per patch; previously was hardcoded to 8.
  • Terrain: Improved performance of painting textures & detail objects.
  • Asset Pipeline Improvements:
  • Upgraded to FBX SDK 2011.2.
  • Import support for stepped and linear keys for position curves; improved compression and curve fitting for position curves.
  • Settings for allowed animation compression error in mesh importer.
  • Implemented support for importing 1 unit in 3dsmax as 1 unit in Unity (the default is 1 cm in 3dsmax as 1 unit in Unity).
  • Implemented import of tangent space from FBX, .max, .mb and .ma files.
  • Switched Cinema4D import process to work in background mode.
  • Support for Cinema4D R11 on Mac OS X.
  • Support for FBX2010 format when exporting from Cinema4D.
  • Audio Improvements:
  • Filter components: Reverb, Echo, Distortion, Chorus, High- and Low-pass. Can be applied to each audio source or globally to the listener.
  • Reverb Zones: Apply reverb to main audio output, when the listener is within zone(s) defined by a position and min/max radii.
  • Live output and spectrum data access from each audio source or globally from the listener.
  • Tracker/Mod file support.
  • Sample-accurate synching. Sources played in the same frame are always started at the exact same point in time. Sources can be delayed and played in the future on an exact sample accurate boundary with .Play(int64 delay).
  • Surround sound (7.1, 5.1, 4.0, ProLogic DTS) support.
  • Attenuation curves for volume, spread, panning and lowpass filter factors.
  • Doppler factor per audio source.
  • AudioSource prioritization.
  • iOS latency settings. Choose between Default, Best Performance, Good Latency and Best Latency.
  • Asset memory is freed after loading audio data.
  • Physics Improvements:
  • Upgraded PhysX to 2.8.3.
  • Cloth and clothing simulation: use the new InteractiveCloth, SkinnedCloth and ClothRenderer components.
  • Layer based ignore collisions: use the Physics inspector or Physics.IgnoreCollision().
  • Continuous collision detection, to make sure that fast moving colliders will not pass through other colliders. See Collider.collisionDetectionMode.
  • Added Physics.SphereCast() and Physics.CapsuleCast() to implement volume raycasts.
  • Added Rigidbody.SweepTest() to check if a Rigidbody would collide with anything if moved into a certain direction.
  • New Scripting Features (documentation):
  • Mono Develop for script editing and debugging! Documentation.
  • Upgrade Mono and C# compiler to Mono 2.6.3. This brings C# 3.5, variable type inference, lambda expressions, LINQ and more.
  • New UnityScript compiler: generics, interfaces, structs, type cast operator, anonymous functions/closures, lambda expressions, function types, type inferred array comprehensions and more.
  • New Boo compiler.
  • Mono class libraries derived from Silverlight profile for the web player.
  • Socket security sandbox implementation. Just like Flash (think crossdomain.xml).
  • WWW class security sandbox implementation. Just like Flash (think crossdomain.xml).
  • Per-platform script defines. Use UNITY_EDITOR, UNITY_WEBPLAYER, UNITY_IPHONE etc. Documentation.
  • Improved UnityScript compilation speed.
  • New scripting API functions (documentation). Some highlights:
  • WWW.responseHeaders will contain the response headers received from the HTTP server.
  • Application.isWebPlayer.
  • SystemInfo.graphicsPixelFillrate to query GPU pixel fillrate. Returns fillrate for about a thousand GPUs out there.
  • GL.ClearWithSkybox.
  • Math functions: MoveTowards to Mathf, Vector2, Vector3, and Vector4; Quaternion.RotateTowards.
  • Changed Mathf.Approximately to not only be useful for comparing very small numbers.
  • Stacktraces have been prettified, useless information is better stripped from stack traces.
  • Other Improvements:
  • Web Player: Java and ClickOnce based installer on Windows for true one-click installation process.
  • IME input support (for languages like Japanese, which require multiple keypresses to enter a character) on Windows, and in the editor and standalone on the Mac.
  • Support for OS font rendering (new "dynamic" font rendering mode), to save space in distribution and texture sizes. Textures are generated dynamically to contain the characters which are needed.
  • Documentation: scripting examples in UnityScript; C# and Boo. Docs for all platforms merged and platform specific parts toggle-able.
  • Web Player: UnityObject.js script makes Web Player embedding easier.
  • iOS: Added cpu-waits-gpu metric in internal profiler; useful for tracking down GPU bound applications.
  • iOS: Native resolution support for iPhone 4.
  • iOS: Improved game build sizes.
  • iOS: Unity Remote 2: It is possible to turn off image syncing between editor and device. Useful for input-critical games.
  • OS X Web Player: Now supports NPDrawingModelInvalidatingCoreAnimation, as will be required by future versions of Chrome.
  • Networking: RakNet upgraded to version 3.732
  • Networking: Connection tester, Network.TestConnection(), now reports your NAT implementation type more accurately.
  • Networking: Exposed Network.logLevel so you can change the amount of log output at runtime.
  • Networking: Added network GUID, used for NAT punchthrough.
  • Bug Reporter: Supports multiple file attachments; trims attached log files if they are too large.
  • Some Changes We Did
  • We thought you might want to know about them... Read more in the docs.
  • Graphics Changes:
  • Forward rendering path had lots of changes:
  • Most common case (one directional per-pixel light) is drawn in one pass now! (used to be two passes in 2.x)
  • Point & Spot light shadows are not supported. Only one Directional light can cast shadows. Use Deferred Lighting path if you need more shadows.
  • Most "Vertex" lights replaced with Spherical Harmonics lighting.
  • Forward rendering path is purely shader based now, so it works on OpenGL ES 2.0, Xbox 360, PS3 (i.e. platforms that don't support fixed function rendering).
  • Shader & ShaderLab changes:
  • If you want to write shaders that fully interact with lighting; it's best to use Surface Shaders.
  • Unity 2.x per-pixel lit shaders will need to be manually converted to surface shaders or manually fixed.
  • Shaders are compiled to more targets by default (e.g. OpenGL ES 2.0); you might hit some places where OpenGL ES 2.0 does not like some Cg/HLSL constructs. Either fix the offending places, or exclude shader from OpenGL ES 2.0 via #pragma exclude_renderers gles.
  • Lots of sanitization to built-in variable names (mostly to accommodate new OpenGL ES 2.0, Xbox 360, PS3 platforms).
  • Unity 3.0 will automatically upgrade most of 2.x shaders for syntax changes. This actually modifies your shader files (look for "Upgrade NOTE" in your files).
  • Normal map compression; just mark texture as Normal Map and will be DXT5nm compressed at decent quality. All shaders need to use UnpackNormal(n) instead of n*2-1.
  • Remove concept of "RECT" textures. All non-power-of-two RenderTextures are addressed with 0..1 UVs now (just like in D3D9 in Unity 2.x).
  • Parallax shaders get height from a separate texture now.
  • Self-Illuminated shaders get illumination from a separate texture now.
  • Terrain lighting modes (Vertex/Lightmap/Pixel) are gone. Terrain is lit just like everything else now.
  • When rendering with Shader Replacement, no lighting is ever applied. Skybox, GUI, Halos, Projectors are not rendered.
  • Background shader queue is treated like Geometry now (arbitrary sorting, assumed to be opaque).
  • OnBecameVisible/OnBecameInvisible have slight behaviour changes. For example, now they are not called each frame on a shadow caster that is not visible itself.
  • Self-Illuminated materials calculate emissive color as (material color * texture * illumination); previously was (texture * illumination).
  • Simplified Shadow Bias setting on Lights.
  • Depth render textures on D3D9 use native depth buffer. Value distribution changed from linear to z-buffer like (just like in OpenGL).
  • Spot lights attenuate exactly like Point lights now.
  • Point lights with Cookies actually attenuate now.
  • OnRenderObject script callback behaviour changed. Now those callbacks are called after everything is rendered; not at points in the middle of rendering.
  • Changed the way the Camera-DepthTexture and Camera-DepthNormalTexture shaders are loaded so that they can be overridden when needed.
  • Custom Tree shaders specify their billboard shader via Dependency keyword now (instead of Tag). The billboard shader will be automatically included in the build.
  • Screen space coordinates should use float4 on all platforms (used to be V2F_SCREEN_TYPE). When sampling a texture with tex2Dproj, use UNITY_PROJ_COORD macro around it.
  • Added WorldSpaceViewDir() and WorldSpaceLightDir() functions to UnityCG.cginc.
  • Obscure Graphics Changes That No One Will Probably Notice TM: documentation.
  • Renamed the 2.x tree shaders and the 3.x Tree Creator shaders; both are put under "Nature" section.
  • OnPreCull, OnPreRender, OnPostRender and OnWillRenderObject messages are not sent to disabled behaviors.
  • Old Unity 2.x Lightmapped shaders moved under "Legacy Shaders" submenu.
  • Terrain: Removed the concept of grayscale lighting from terrains.
  • Editor Changes:
  • Unity Editor on Mac OS X requires Intel-based Mac and OS X 10.5 "Leopard" or later.
  • Removed Soft Vegetation option from Quality Settings UI. It does nothing in built-in shaders now.
  • Separated preferences for 3.x and 2.x editors.
  • Removed ancient Dinosaur graphics emulation.
  • Moved "All compile errors must be fixed" notification to scene view notifications (moved it out of console).
  • Made the curve editor send a CurveChangeCompleted event when the curve change has been completed.
  • Create New Project dialog now expects user to select an existing, empty folder on the Mac
  • Mesh Import option "Split Tangents" is on by default.
  • Texture Importer:
  • Bump maps are now referred to as "normal maps" in the editor.
  • Normal maps are labelled as "NM" in their format.
  • PVRTC compression level moved to advanced settings.
  • Generating a Cubemap will make the cubemap be the root asset.
  • Textures that only use one value across the whole alpha channel and that value is not 1 are marked as needing-alpha-channel.
  • The command and control key modifiers in the view tool have been switched on OS X. Now command moves and control zooms. Control still moves on Windows.
  • Physics Changes:
  • Rigidbody mass is no now longer limited to 10000.
  • RaycastCollider is now deprecated.
  • Center of gravity and inertia will now always be automatically recalculated when setting or animating collider properties or positions, unless they had been explicitly set from code before.
  • Slope limit on character controller now works properly above 45 degrees. When loading old scenes the value will be clamped to 45 degrees to mimic the old behaviour.
  • JointDrive.maximumForce will now also be taken into consideration when JointDrive.mode is JointDriveMode.Position. You may need to change your joint setups so that they still work.
  • Unity iOS Changes:
  • iPhoneStreamingAssets is renamed to StreamingAssets and is now located under the Assets folder (visible from within the Editor).
  • Target iOS Version field added to player settings. Now deployment target can be specified separately from active SDK version.
  • "Enable Unity Networking" flag removed from iOS player settings. Now stripping of networking is handled automatically.
  • Most iPhoneInput members moved to Input class.
  • Native plugin support added to both Basic and Advanced Unity iOS licenses.
  • Added support for iPad / iPhone Simulator
  • Hardware audio decoder is now shared between audio clips.
  • Other Changes:
  • Random number generator (Random class) was changed. It is marginally slower, but produces better "randomness", especially in lower bits. Additionally, integer version is not limited to 15 bits range.
  • Internal Random number generators (for Particles etc.) are reset after each level load. Now your particles in any level do not depend on what levels were loaded before.
  • The default runtime font is now Arial 13, as rendered as a dynamic font on Mac OS X and Windows.
  • Scripting: Renamed WWW.data to WWW.text
  • Scripting: ScriptableObject derived classes must be instantiated using one of ScriptableObject.CreateInstance overloads.
  • Scripting: UnityScript strict mode no longer allows arbitrary downcasts from Object (unless #pragma downcast is used).
  • Input: Keyboard on MacOS X will now reflect the behavior on Windows (two separate KeyDown events for key code and character, KeyUp event only for key code).
  • Scripting: Removed support for .NET 1.1 profile.
  • Scripting: Made previously undocumented GUIClip class internal to UnityEditor.
  • Networking: Connection tester now requires 4 public IP addresses to work.
  • Editor Fixes:
  • General: Improved Undo behaviour.
  • General: Game View Stats window has more accurate frametime & FPS display.
  • General: Don't enter Play mode if there are compiler errors.
  • General: Debug.LogWarning will not pause the game if console has Error Pause selected.
  • General: You can now search for script derived types in the project window (when Type is selected).
  • General: Fix newly created materials in project view sometimes having empty names.
  • General: Reset menu option is now undoable.
  • General: Fixed importing standard packages into projects with non-Latin characters in path on Windows.
  • General: Fix occasional exceptions with Undo when asset inspector loses selected assets.
  • General: Fix editor window sometimes shrinking into the corner when changing layout presets on Mac OS X.
  • General: Fixed a bug where selecting a scriptable object with a missing script reference would result in null reference exceptions
  • Crash: Fixed crash when deleting the last item in an array of strings.
  • Crash: Fix crash on Windows when undocking Game View.
  • Crash: Fix crash caused by EyeDropper picking color on different monitor.
  • Crash: Editor is more resilient to missing object references (eg. a Unity iPhone 1.7 upgraded project was crashing the editor on play).
  • Inspector: "Open Compiled Shader" in Shader Inspector works more predictably and uses text editor chosen in preferences.
  • Inspector: Fixed display of boolean arrays.
  • Inspector: Fixed Material/Mesh/Object previews being affected by scene Fog.
  • Inspector: Fix "Any" Texture properties in Materials using the wrong GUI style.
  • Inspector: Fixed bug where opening a terrain inspector would dirty the terrain causing it to get saved although nothing had changed.
  • Asset server: Fix editor hanging on OS X when trying to merge conflicting text assets.
  • Asset Server: Fix unable to update when parent of file modified on server is locally deleted.
  • Asset Server: Cleaner Diff output when comparing binary files in Asset Server.
  • Asset Server: Fixed asset server caching failing in some cases (e.g. when using EditorUtility.CopySerialized).
  • Importing: Tangents will be properly handled when mesh compression is enabled.
  • Importing: Fixed direct import from Maya 2011.
  • Importing: Using TextAsset to store binary data now actually works, as long as your file has the .bytes extension.
  • Importing: Cylindrical cubemap projection generation now works.
  • Importing: On rare occasions Unity Editor on Windows was throwing 'Writing file error' while reimporting all assets and anti-virus running in the background.
  • Importing: Fix texture object fields in cubemap inspector losing the thumbnail when reimporting.
  • Importing: Shader files with uppercase file extensions are properly imported now.
  • Importing: Reduced memory usage during texture import.
  • Importing: Better memory handling when importing assets, switching scenes, building player.
  • Importing: FBX importer gives detailed warnings if it detects problems in the skin of a model.
  • Importing: Fixed import of user properties from 3D asset files.
  • Importing: Fixed import of multiple animation takes.
  • Scene View: The grid is now also shown in Iso mode.
  • Scene View: Terrain is selectable in Scene View just like any other object!
  • Animation View: Margins are now fixed instead of a percentage.
  • Animation View: Improved handling of window resize.
  • Animation View: Make create key operations work better for steep curves and disallow it for read-only curves.
  • Animation View: Prevent creating keys outside of permitted horizontal range.
  • UI: Maximized state of main editor is remembered across sessions on Windows.
  • UI: Don't show Project Wizard or Welcome Screen if Reimport All was invoked.
  • UI: Fix some of context menus not being properly validated (grayed out) on OSX.
  • UI: EditorWindow.Notification now properly shows white text.
  • UI: Clamp profiler frame selection dragging correctly.
  • UI: Fixed animation icons being clipped in the inspector.
  • UI: Fixed dragging tab on Windows putting window title bar above the screen top.
  • UI: Show error message if -nographics is used without -batchmode.
  • UI: In Package Import Dialog selecting checkboxes will now correctly affect child elements.
  • UI: Fixed Asset Server tooltips in Overview window getting too large and disappearing too soon.
  • UI: Fixed old regression where pressing F to frame selection frames selected object in last active scene view, if active window doesn't use frame selection event.
  • UI: When editor is processing something on Windows, made utility windows not be on top of all application windows in the system.
  • UI: Fix error messages when trying to move file to the same folder via Project view on Windows Vista or 7.
  • UI: Fixed icons for sub-assets in search view.
  • UI: Show proper cursor when trying to drag files out of Unity Editor on Windows.
  • UI: License Info word wraps properly in About Window.
  • UI: Fixed the eye dropper color picking tool disabling itself when the mouse is moved too fast.
  • UI: Fixed editor not finding GUI styles on computers with some of non-English locales.
  • Rendering Fixes:
  • Driver workaround: Fixed occasional crash on some Intel graphics cards when shader uses mismatching texture types.
  • Driver workaround: Disabled anti-aliasing on Macs (pre-Snow Leopard) with GeForce 7300 graphics cards; occasional driver crashes.
  • Driver workaround: Disabled mip-mapped Render Textures on Macs with Intel GMA 950 cards; occasional driver crashes.
  • Driver workaround: Fixed garbage on Macs with GeForce 7300 GPUs. Had to disable Deferred Lighting on those cards though.
  • Particles: Particle color and UV animation will now be based on the lifetime of each individual particle instead of the max energy set in the emitter.
  • Shadows: Spot light shadows fade out correctly on D3D9.
  • Shadows: Fixed point light self-shadowing artifacts which were mostly happening on Mac.
  • Shaders: Using more than 8 textures in a pixel shader works now!
  • Shaders: Nested block comments (/* foo /*bar*/ */) are supported now.
  • Shaders: Fixed error messages sometimes being printed when both GLSL and non-GLSL shaders are present in the scene.
  • Shaders: When there are Direct3D shader assembly errors, print the shader name in the error message.
  • Shaders: Fixed instruction count reporting for D3D9 assembly shaders.
  • Crash: Fixed crash if accidentally setting invalid shadow cascade count in Quality Settings.
  • Crash: Fixed crash when shader has unterminated block comments.
  • Crash: Fixed crash when shader tries to fallback to itself.
  • Terrain: Fixed various issues with terrain billboards (non-uniform scale, culling, mismatch between root of the billboard and the mesh etc.).
  • Terrain: Fixed too aggressive culling of billboarded terrain details.
  • Terrain: Fixed terrain blocking MouseDown events from scene view gizmos.
  • Terrain: Made it possible to use trees with only one material.
  • Terrain: Now actually use the tree cutoff value that is set on the material.
  • General: Fixed half-texel offset issues with Graphics.Blit on D3D9.
  • General: Removed rect clamping for camera's normalized viewport rectangle.
  • General: Fixed texture binding on iOS/Android; textures won't become corrupted when loading levels now.
  • General: Custom Fonts will now be properly displayed by Unity GUI.
  • General: Fixed AABB calculation for just-unloaded Meshes and skinned meshes with no bones.
  • Unity iOS Fixes:
  • Fixed iPad Simulator 3.2 support
  • Fixed stripping issue which caused crashes when coroutines are used.
  • Fixed WWW.text and "Fast but no exception" problem.
  • Fixed a crash when using AnimationCurve property in a script.
  • Fixed input processing on iPhone 4 with native resolution.
  • Fixed video player orientation on iOS 4.
  • Physics Fixes:
  • Meshes created with Mesh.CombineMeshes will correctly collide when used with MeshColliders.
  • Make WheelHit report correct sidewaysDir.
  • Make raycasts work when Time.timescale is zero.
  • Kinematic or sleeping rigidbodies will now properly update their internal PhysX state when a parent rigidbody gameObject is moved.
  • Collision events are sent more properly now.
  • Scripting Fixes:
  • WWW.text respects content-encoding specified in HTTP response headers.
  • Debug.Log is now thread safe.
  • Fixed internal UnityScript compiler error caused by nested arrays.
  • Fix crash when opening a project where a script throws an exception in a static constructor.
  • Fixed crash caused by untyped or wrongly typed parameter of message handler.
  • Fixed crash when DestroyImmediate is called in user code and Unity doesn't expect the object to be destroyed.
  • Material.CopyPropertiesFromMaterial() now works as expected.
  • GameObject.SampleAnimation respects the WrapMode of the clip.
  • UnityGUI: Fix GUIUtility.RotateAroundPivot and ScaleAroundPivot using screen space pixels instead of clip space pixels.
  • UnityGUI: Fix ScrollViews not properly ignoring DragPerform/DragUpdated events.
  • UnityGUI: GUILayout.Toolbar now correctly calculates toolbar size.
  • Fixed a typo bouncyness in Physics Material, now it's spelled correctly bounciness.
  • Fixed a crash when setting negative values for particle minEnergy, maxEnergy through a script.
  • Issue an error when the script class name and file name do not match (after script has been attached). Similarly issue an error if a class was changed to be abstract or was turned into an interface.
  • Networking Fixes:
  • Timestamps are now correct in received NetworkView RPC messages.
  • Network.useNat has been deprecated. It is now set automatically when you Connect (since you can now only connect with NAT punchthrough using a GUID) and is set in the InitializeServer function call explicitly.
  • You can now connect using a HostData struct received from the master server (correct method automatically used) and give a connection password when connecting with GUIDs.
  • Fix server crash when player with network views disconnects.
  • Fix for problem when using Network.Instantiate after loading a new scene.
  • Fixed problem with master server not returning local IP addresses when it should (when host/client are on the same router/external IP).
  • Network.TestConnection() now always returns error status correctly. To restart a test after getting an error it needs to be forced with the appropriate parameter.
  • Fixed network scope bug which resulted in state sometimes not being synchronized correctly.
  • Other Fixes:
  • Fixed saving screenshots to non-ASCII path names.
  • Web Player: Fixed some memory leaks.
  • Fixed various corner cases in AnimationEvents logic.
  • Audio + iOS: Make UnitySetAudioSessionActive(true/false) actually work.
  • Audio: Fix crash when trying to access AudioListener and it doesn't exist.
  • Player: fix some of movies playback crashing web and standalone players.
  • BugReporter: Escape special characters in bug description.
  • Web Player: Fixed one frame of garbage showing when going out of fullscreen mode in CoreAnimation plugin on Mac OS X.
  • Audio: AudioSources with PlayOnAwake checked, now plays in the first frame (and can be accessed correctly from Start() and Update()).
  • Audio: .time & .timeSamples can now be set before playing AudioSource(s)
  • Bug Reporter: Do not terminate the if the bug submission fails (Mac).
  • Fixed WWW.uploadProgress crashing the web player (this property still is not fully implemented though).
  • UnityGUI: Fix Vertical Margin error for GUILayout groups with multiple elements.
  • Web Player: Several fixes to make it work better with Google Chrome on Mac OS X.
  • Known Issues
  • MonoDevelop: Single-stepping outside the control flow of a script while debugging results in decreased performance until normal execution continues.
  • A flaw in the way 64 bit Windows OS handle structured exceptions for 32 bit applications can cause crashes in Unity players. The issue may surface, for example, if a player running on a 64 bit Windows causes a NullReferenceException to be thrown, even if the exception is handled. This bug affects all 32 bit applications running on 64 bit Windows, including Microsoft .NET applications.
A hotfix solving the issue is available on support.microsoft.com, but of course this does not help your end user. Your best bet is to keep your players exception-free (which is always a good idea), at least until the fix is distributed to end users via Windows update.
  • Touch.deltaPosition and Touch.deltaTime can be inaccurate on Android.
  • Tree Editor Leaves can not be manually rotated.
  • Debugger: Does not halt on some exceptions thrown from internal Unity engine code.
  • Build Settings Window may not initially react to mouse clicks. Workaround: move/resize the window.
  • Generate Lightmap UVs: the results may be different on mac and windows. If you encounter this problem, please report a bug.
  • Generate Lightmap UVs: performance degradation is expected on highly tessellated mesh. This will be fixed in subsequent releases.
  • Graphics: Anti-Aliasing does not work with Deferred Lighting.

New in version 2.6.1 (December 2nd, 2009)

  • Unity 2.6.1 contains a new webplayer plugin that is compatible with Mac OSX 10.6 Safari when running in 64-bit mode.
  • Additionally a number of improvements and bug fixes were implemented to smooth out some of the issues experienced by Unity (free) license holders.
  • Additionally, Unity 2.6.1 projects are now compatible with Unity iPhone 1.5.1 projects.
  • Improvements:
  • The Mac webplayer has been rewritten to be compatible with 64-bit Safari on Mac OS X 10.6.
  • Reduced time spent connecting to large Asset Server projects.
  • Editor Fixes:
  • Fixed an editor crash when painting trees in the free version of Unity.
  • Fixed an FBX import crash bug which could happen with some assets.
  • Fixed rendering of terrain details in the editor after a player has been built.
  • The Draw checkbox for trees and details in the terrain inspector now remembers it's setting.
  • Fixed ImportAssetOptions.ImportRecursive (it didn't do anything before).
  • Fixed a bug where the terrain lightmapper would render shadows incorrectly.
  • Fixed an error message about asset timestamp counts that sometimes showed up after saving the project.
  • Fixed warning when deleting a TerrainData asset which is used in the scene.
  • Fixed a bug in which Input.GetMouseButton() would fail in the Editor on Windows, when the game view is detached from the main window.
  • Fixed a bug where selecting text with the mouse would deselect the asset when renaming assets in the Project View.
  • Fixed an Editor crash when pressing the gear menu on the default references of a script on Windows.
  • Editor Search string now resets when objects not matching the search filter are selected.
  • Unity will now highlight prefabs in Project view when selecting the prefab from the GameObject Inspector.
  • Fixed an editor crash when trying to compare against a non existent asset in the Asset Server history view.
  • Fixed an editor crash when passing an invalid prefab reference to EditorUtility.ReplacePrefab().
  • Runtime Fixes:
  • Fixed a runtime crash when changing screen size or FSAA settings when RenderTexture assets are used.
  • Fixed more than 2 Image Filters being upside down on Windows when Anti-Aliasing was used.
  • Fix GUI toggles drawing with the wrong state when on.
  • Fixed a regression which broke WWW.LoadImageIntoTexture() in some cases.
  • Fixed AudioSoruce.ignoreListenerVolume to work again.
  • Fixed a bug which could cause gamepad input to get lost on Windows when multiple gamepads are connected.

New in version 2.6.0 (October 29th, 2009)

  • New Graphics Features:
  • Anti-aliasing now just works with Image Effects (requires updating Pro Standard Assets).
  • Added floating point render texture support (4 channel 16 bit floating point).
  • Built-in method to generate Depth or Depth&Normals textures: camera.depthTextureMode.
  • Camera.layerCullDistances lets you specify culling distances per layer.
  • Anti-aliasing setting can be changed at runtime using QualitySettings.currentLevel. Editor also picks up anti-aliasing changes immediately.
  • Added an Is Readable setting to texture importer, so textures don't have to use up main memory if the pixels are not accessed from code.
  • Ability to limit supported aspect ratios in Player Settings. E.g. your game can say "I only support 4:3 and 16:10", and only matching resolutions will be shown in the resolution dialog.
  • Animation culling, so animations outside of the visible screen area don't have to be updated.
  • Image Effects work better with multiple layered cameras.
  • Graphics Optimizations:
  • Terrain & Vegetation rendering is much faster and does less memory allocations.
  • Compression capability for meshes and animations to improve build sizes.
  • Shadow rendering is faster (much less CPU overhead).
  • Pixel-lit lights are faster (less CPU overhead).
  • Applying matrix parameters to shaders is faster.
  • Movie playback is faster.
  • Improved shader loading times.
  • Editor Improvements:
  • Brush preview is shown in Terrain editing tools
  • Icon for standalone players can be automatically set by Unity (set it in Player Settings).
  • Generic List objects can be serialized and shown in Inspector.
  • Scene view Gizmos are not displayed for hidden layers.
  • There are now Development and Release web players available. The Development one includes Profiler support and is installed with the Editor as well as being available for download seperately. Auto-update and user installations use the Release webplayer.
  • You can now build Development and Release Standalone players. In the Build Options you can now select a Development build which will generate a player with Profiler support and debug symbols.
  • Terrain Editing got a bunch of hotkeys added:
  • Shift-Q through Shift-Y selects the tool.
  • Comma and Dot cycles through brushes.
  • Shift-comma & Shift-dot cycles through the selected detail.
  • All of these can be remapped in the Preferences.
  • Animation Editor:
  • New window to edit animation clips. Besides transforms, animation curves can also be created for component properties and material properties.
  • Animated objects instantly reflect curve edits and auto-recording automatically adds curves and keys as objects are moved or their properties changed.
  • Curve tangents can be auto smooth, free smooth, or each tangent can be free, linear, or constant.
  • Support for adding and editing animation events with automatic listing of available methods in attached script components.
  • Animation States in the Animation component can now be viewed in Inspector Debug mode to inspect current values.
  • Animation component shows animation state array in Debug inspector mode
  • Improved performance & responsiveness of the editor
  • Editor Console now automatically scrolls to end of log when scrollbar is at the end
  • Slightly better color preferences dialog
  • Generic Property inspector can now be invoked from OnInspectorGUI or is invoked by default if no OnInspectorGUI is defined.
  • Inspector title says "Debug" when debug mode is enabled.
  • Shader Inspector indicates when the shader has errors or is not supported by the GPU.
  • Ray Snapping improved: If pivot mode is set to center, the object gets placed so the bounding volume is resting on the snapped position. Great for companion cube placement!
  • Selected objects can be snapped to grid from Snap Settings dialog
  • Debug.Log is now thread safe when used outside of the main thread in the Editor.
  • Asset Pipeline Improvements:
  • External Version Control Systems support. This is alternative way of saving metadata in Unity Pro and can be enabled per project. When enabled, the Assets folder can now be checked into version a control systems, such as Subversion, Perforce or Bazaar, without losing import settings or references between assets.
  • 16 bit/channel Photoshop (.psd) files can be imported now.
  • Support for direct importing of Cinema 4D files on Windows.
  • FBX importing supports Step animation curves.
  • AIFC audio file import support.
  • Updated FBX libraries to 2010.2.1, fixes some importing issues.
  • Support for building Asset Bundles using deterministic ID generation. This lets you create shared asset bundles that can be swapped out with different versions without requiring a full rebuild of all assets. Also lets you create two asset bundles containing assets imported differently; for example one bundle with low resolution textures and one with high resolution textures. See BuildAssetBundleOptions.DeterministicAssetBundle.
  • New Scripting Features:
  • Added a threadPriority property to the WWW class, to control decompression performance when downloading in the background.
  • Texture2D.GetPixels now supported on compressed textures.
  • Mesh.CombineMeshes() method for more efficient mesh combining.
  • ParticleEmitter.Simulate() method to forward-skip a particle system to some point in time.
  • ParticleEmitter.enabled property to pause a particle system.
  • Renderer.isVisible property to check if a renderer is currently on screen or not.
  • EditorUtility.CompressTexture() method to compress editor-generated textures.
  • Input.GetJoystickNames() method to get name strings of connected joystick devices.
  • QualitySettings.anisotropicFiltering and QualitySettings.masterTextureLimit global texture quality settings.
  • Generic versions of GetComponent, AddComponent etc. added for C#.
  • Unity version #define exposed for conditional compilation of C# scripts.
  • Vector3.Lerp, Color.Lerp and Vector4.Lerp are faster
  • Added HSVRGB color conversion functions to EditorGUIUtility
  • Gathered more common Editor GUI styles into EditorStyles
  • Added EditorGUI.PropertyField and SerializedProperty
  • Added SystemInfo.graphicsShaderLevel
  • Exposed a bunch SystemInfo variables (OS, CPU, RAM etc.) to scripting.
  • Documentation:
  • Improved Scripting Reference.
  • New Audio Backend:
  • Better overall performance and mixing quality. Lower CPU and memory usage.
  • 100% cross-platform and software mixing (no surprises with platform specific implementations and sound hardware/drivers).
  • Fixed sound crackling and pops< when CPU is stressed (ie. during garbage collection) or/and changing volume and pitch rapidly.
  • Unity can now position and playback all files in 3D (not only mono files).
  • Audio devices are now changed instantly when a new device is plugged in, removed or changed in the system settings.
  • AudioClip.samples: returns the length of the clip in PCM samples.
  • AudioClip.frequency: returns the sampling frequency of the clip.
  • AudioClip.channels: returns the channel count of the clip.
  • AudioSource.timeSamples: get or set the position of the source in PCM samples.
  • AudioSource.time: more precise for compressed, streamed and movie audio.
  • Loop button in Inspector Audio previews.
  • Audio paused properly when player or editor loses focus (and Run In Background is off).
  • Online Features:
  • Compression capability for meshes and animations to improve build sizes.
  • Threaded background loading - load new scenes and AssetBundles smoothly while playing.
  • Added a threadPriority property to the WWW class, to control decompression performance when downloading in the background.
  • Decompression of unity WWW streams uses less memory.
  • Asset Server Improvements:
  • New History window. Merged Project Revert, Recover Deleted, Browse old versions and Old history windows into one
  • Asset Server windows refresh automatically when something in the project changes
  • Improved Asset Server performance
  • Deleting items in Asset Server no longer show in updates with their full history
  • Ability to delete users and projects from within editor
  • Added a dialog to warn user about committing unsaved open scene
  • Asset Server Inspector. Shows asset's state directly in Inspector. Allows to discard changes and show history for asset in Inspector.
  • Most long-running Asset Server operations can be canceled.
  • Added support for faster commits and updates of large changesets when used with AssetServer v2.0 (to be released along with Unity 2.6)
  • Calculating to total download size when updating from the server is now done in the background so it does not delay starting the actual download. This speeds up downloading large projects from the Asset Server significantly, especially if the project consists of a lot of small assets.
  • Additional Improvements:
  • Visual Studio and MonoDevelop integration for C# script editing.
  • Optimized memory allocation patterns for better overall performance.
  • Added Profiler logging to a file, for use in Standalone Player and Web Player.
  • Added a dialog asking user to reload currently open scene when its file changes on disk.
  • Added an option to disable generation of tangents or normals in the model importer - this allows some space savings in model data.
  • Standalone game Icons can now be supplied in different sizes.
  • Added helper functions Graphics.Blit and Graphics.BlitMultiTap, to simplify Image Effects code. Refactored Image Effect scripts in Pro Standard Assets to use them.
  • Ability to set raycasts to not hit triggers (under Physics settings)
  • Support for setting the wrap mode on the clip in the inspector instead of setting it in the animation component or from code in the animation state API. If the wrap mode in the animation component is set to default, it will not be shown anymore, but you can still edit it in debug mode.
  • Improved Texture2D.PackTextures packing when source textures do not fit into maximum atlas size.
  • Changes:
  • Unity no longer ships with a 30-day demo period but has to be activated immediately to work. The activation page now has the ability to automatically generate and activate 30-day trial licenses for each machine.
  • EditorUtility.SmartResetToPrefabState and EditorUtility.SmartResetGameObjectToPrefabState have been renamed to EditorUtility.ResetToPrefabState and EditorUtility.ResetGameObjectToPrefabState respectively.
  • Removed one superflous parameter from the overload of Undo.RegisterUndo() that takes multiple objects.
  • Removed warning: Couldn't load the script because its file name doesn't match the class name.
  • When rotating objects in the scene view, rotation euler angles can increase or decrease indefinitely without being clamped in a specific range. Note that this is only supported in the editor when not in play mode.
  • Constant interpolation in animation curves now always assume the value of the left hand side key.
  • Don't send EventType.mouseMove events in game mode.
  • Removed option to not compress textures when building a player. Removed BuildOptions.CompressTextures as well.
  • Handle cap drawing functions have been renamed in the Handles class to better reflect what they do
  • Deprecated GUIStyle.clipOffset Use BeginGroup instead
  • Fixes:
  • Graphics Fixes:
  • Fixed Skybox drawing when camera's near clipping plane is very large (e.g. half of far plane).
  • Graphics.DrawMeshNow was not drawing a mesh if there was no current camera at the time.
  • Fixed rendering order issues when shadows and different opaque Render Queues are used (hi TigerWoods Online!).
  • Projectors now support Queue tag in their shader to control their render order. If Queue tag is not specified, then Projectors are rendered after all opaque geometry.
  • Soft Vegetation setting is taken into account when rendering Terrain tree billboards.
  • Non-billboarded Grass in the Terrain waves in the wind again!
  • Shader.Find can properly find shaders that were not supported by the editor that built the game. Fixes missing shaders when building games from batch mode editor (-batchmode -nographics on Windows).
  • Shaders that fail compilation have proper names in shader popup (instead of "Default").
  • Fixed Directional Occlusion of Terrain trees being biased towards one side (a strong light from one side would result in brighter trees than the same light from another side). Reimport your tree models!
  • ParticleEmitter.Emit now updates particle system bounds correctly
  • Mac OS X Specific Fixes:
  • Fixed problem with installing Unity Editor on OS X 10.6 Snow Leopard.
  • Opening a script on a different Space than Unity Editor no longer hangs compilation.
  • When using an external editor, whose bundle does not provide a CFBundleDisplayName, use a less cryptic fallback name in the Editor Preferences dialog.
  • Fixed file permission verification on OS X. Unity now only requires files in the Assets directory to be readable by the current user, directories must by readable, writable and executable and files outside the Assets directory should be readable and writable by the current user. When fixing permissions, Unity will not prompt for administrator access unless required.
  • Fixed issues with projects located on FAT32 filesystems on Mac OS X.
  • Report correct mouse button IDs in events of Mac OS X web player.
  • Screen Selector on OS X Standalone players is centered properly
  • Mac OS X web player should now properly catch crashes without crashing the browser.
  • MouseMove GUI events are sent to windows under the mouse in OS X Editor (previously were sent to focused window)
  • Installing the Example project no longer trashes the /Users/Shared/Unity folder but only, if present, the project folder itself.
  • Fixed problems in launching component help when Unity was installed in a path containing whitespace (OS X).
  • Asset Server Fixes:
  • Asset Server on OS X no longer allows committing files with names that are invalid on Windows.
  • Made Asset Server connection cache less aggressive. This makes it easier to delete projects on the server without getting errors that there are other clients connected to the project.
  • Fixed problems with communicating with the Asset Server that could result after a server restart.
  • Fixed problems with deleting users from the Asset Server.
  • Asset server download progress is properly shown for larger than 2GB downloads
  • Fixed Asset Server sometimes needing to update twice
  • Editor Fixes:
  • Fix crash where serializable class Foo has a field of type Foo[].
  • Fixed broken Vector2Field.
  • The currently selected brush and brush settings in the terrain inspector no longer get reset when saving the current scene.
  • New Game Objects are now centered correctly after switching layouts.
  • Changes done to managers (Physics, Tags etc.) made in play mode no longer persists.
  • Fixed Projectors present in the scene sometimes affecting Inspector material previews.
  • Fixed color picker in VertexLit materials sometimes not working.
  • Fixed crashbug when serializing Animation Curve inside of Serializable class array.
  • Editor Undo performance is better when undoing actions with lots of objects.
  • Improved handling of fatal errors when Editor is launched in batch mode.
  • Fixed Game View Statistics vertex count for meshes with multiple materials.
  • Fixed F to focus when using Terrain tree placement tool.
  • EditorUtility.CreateGameObjectWithHideFlags now always adds a Transform, just like GameObject constructor.
  • GUI.Window now works in editor windows. See EditorWindow.BeginWindows for docs.
  • Color picker window now saves its position
  • Project/Hierarchy windows handle Home/End/PageUp/PageDown keys properly
  • Other Fixes:
  • Fixed several bugs in animation curve sampling functions, especially when using stepped curves and PingPong wrap mode.
  • Improved GetComponent warning messages.
  • Better error message for looking up GUIStyles by string outside OnGUI. And it no longer crashes.
  • Better consistency checking of project data when launching Unity. Unity will now ask to rebuild the project if the project library data are corrupt beyond repair.
  • Failing to close all GUILayout groups degrades more gracefully.
  • GUILayout.ScrollView inside GUILayout.BeginHorizontal works correctly.
  • Shift+Click now selects text in text fields.
  • The Network Manager now respects Application.CancelQuit and doesn't reset itself on quit event (affected standalone player only).
  • Fixed Configurable Joint not always being deterministic.
  • Clicking on toggles now takes away focus from text fields and alike.
  • Event.KeyboardEvent now correctly handles Space key
  • Terrain disallows heightmaps larger than 4096x4096.
  • Fixed some FBX importing issues
  • Fixed Color.Equals

New in version 2.5.1 (July 9th, 2009)

  • Improvements:
  • Scene view Gizmos are pickable again, just like they were in Unity 2.1. Gizmo picking is improved when multiple gizmos overlap the same screen area.
  • Improved Scene View performance when very large hierarchies are selected.
  • Cubemap preview in Editor Inspector now actually works.
  • WWW class supports SSL (https) in Windows Editor and Standalone games.
  • Decreased memory usage of Asset Bundles by 8MB per bundle (decompression dictionary was kept around for no good reason).
  • Changes:
  • Screen.SetResolution and Screen.fullScreen do not switch resolution immediately; instead resolution change happens when the current frame is finished.
  • Editor Fixes:
  • Fixed occasional random crashes when working in the Editor (recompiling scripts, popup menus, custom ContextMenu attributes etc.).
  • Fixed input keys&buttons getting "stuck" in Windows Editor (switching between applications, un-pausing the game).
  • Fixed some cases where switching user, entering screen saver or standby mode would make Windows Editor GUI not update anymore.
  • Building an OS X Standalone player on Windows properly strips symbols now.
  • Fixed Font importing on Windows when folder or file name has non-ASCII characters.
  • Fixed current scene being marked as modified when showing Material Inspector.
  • When building a player using BuildPipeline, level path names are converted into forward slashes as path separators. Fixes levels being named like "AssetsFoo.unity" (instead of "Foo.unity") on Windows.
  • Showing invalid Tag no longer produces errors in the Editor.
  • Fixed '/' and '%' in Asset Server commit messages being interpreted as menu shortcuts.
  • Fixed file comparison problems in Asset Server.
  • Fixed exceptions in Editor when changing Game Object Active or Layers in non-recursive mode.
  • Fixed error in Editor when deleting Movie Texture that is currently displayed in Inspector.
  • Fixed crash when doing Reimport All from Project View's context menu in Windows Editor.
  • Fixed crash when importing some malformed .3ds files.
  • Fixed hidden / CVS files appearing in Project View when manually reimporting asset folders.
  • Fixed Unity Editor crash when Data Execution Prevention is used on Windows.
  • Fixed audio files sometimes missing samples at the end (OS X only).
  • Fixed loading editor preferences when user has changed system locale.
  • Fixed terrain heightmap editing crash when the same terrain is instantiated multiple times in the scene.
  • Fixed Frame Selected on skinned meshes and transform hierarchies.
  • Non-skinned Custom deformer weights are properly ignored when importing FBX files.
  • Inspector properly updates when changing Script component to reference another script.
  • Set Terrain Resolution button no longer says "Import".
  • Fixed errors on Windows when dragging files into Project View from some applications.
  • Fixed Help icons in Inspector appearing at startup for non-existing help pages.
  • Web Player Fixes:
  • Fixed auto-update problem on Windows Vista + UAC + Internet Explorer. See tech note below..
  • Fixed web player crash on Windows Vista when locale is set to Spanish.
  • Fixed issue with mixing Unity and Flash content (by hiding one or another) on Internet Explorer (regression in Unity 2.5.0).
  • Fixed Tabbing through UnityGUI fields not working on Internet Explorer.
  • Fixed crash on Mac OS X when exiting fullscreen mode.
  • Fixed auto-update problem on PowerPC Macs.
  • Fixed Input.mousePosition being incorrect when using Application.targetFrameRate on OS X Web Player.
  • Fixed occasional crash when reloading web player on OS X.
  • Null Reference Exceptions don't crash on OS X + Firefox 3 anymore.
  • Fixed Firefox 3.0.10 issues on OS X Web Player.
  • Other Fixes:
  • Various scripting reference documentation fixes.
  • GUI.depth now works again.
  • TextAsset can contain arbitrary binary data again.
  • Fixed Mono memory leaks on Windows (allocating large managed arrays, leaked script assemblies).
  • Fixed Input configuration dialog in standalone games on Windows (keyboard configuration was broken in 2.5.0).
  • Fixed regression in existing Unity 2.0-2.1 content that was using Event.current outside of OnGUI.
  • Fixed UnityGUI regression with custom1..custom20 GUI styles.
  • Fixed Screen.lockCursor making Screen.showCursor not work on Windows.
  • Fixed terrain billboards being culled too early and trees culled incorrectly in some cases.
  • Fixed crash when unloading asset bundles.
  • Fixed Movie streaming via WWW class.
  • Fixed occasional crashes when switching the screen resolution in the middle of frame on Windows.
  • Fixed crash when setting .time on an audio clip that is not playing yet.
  • Fixed crash when running standalone Windows games from a read only file system.

New in version 2.5.0 (March 18th, 2009)

  • Graphics & Shaders:
  • Multithreaded mesh skinning. Multicore processors, here we come!
  • Runtime DXT compression. See WWW.LoadImageIntoTexture and Texture2D.Compress.
  • Shader Level of Detail support. See Shader.maximumLOD, Shader.globalMaximumLOD.
  • RenderQueue can be set per-material from script, see Material.renderQueue.
  • Optimized rendering internals.
  • Shader compilation is about 3x faster now!
  • Added #pragma exclude_renderers and #pragma only_renderers directives to shader compiler, to be able to write D3D-only and OpenGL-only shader paths.
  • Optimized UnityGUI rendering, now it generates less vertices when it can.
  • NVPerfHUD is supported in Windows standalone games.
  • Web Player:
  • Google Chrome browser support (had input problems and crashes on early versions of Chrome).
  • Internet Explorer 8 support (had input problems when running on Vista).
  • Windows Web Players have much more stable frame rate.
  • Editor:
  • Asset Server client interface completely rewritten. Change-set based interface, log history, and so on!
  • Scene view can visualize overdraw & optimal texture resolutions (added to RGB/Alpha mode popup).
  • FBX importing libraries updated to latest version. Fixes lots of issues with FBX, Collada, OBJ, DXF file importing.
  • FBX user properties are exposed to asset post-processing scripts, see AssetPostprocessor.OnPostprocessGameObjectWithUserProperties.
  • Added Global transformation tools mode.
  • Game view Stats window displays frame time and frames per second.
  • Arrays of enums are properly shown in Inspector.
  • Added "Show Project Wizard when launching" option to Preferences.
  • Custom Script/Image editing applications are remembered in Preferences.
  • Added Terrain wind tint color to terrain settings. Previously it was a hardcoded value.
  • Added gizmo for Spring Joint and improved gizmos of other joints.
  • Make default setting for "Recalculate Normals" be off in mesh importer.
  • Added progress bars for import/export package operations.
  • Other Improvements:
  • Application.targetFrameRate. If you want to cap the maximum frame rate to save the planet - now you can!
  • AnimationClipCurveData has target variable now.
  • Improved UnityGUI text fields. Now they scroll with cursor if content is too large to fit; selection and cursor display were improved.
  • Unity on Windows is "large address aware" - so on 64 bit Windows it can use up to 4GB of memory.
  • Licensing changes: Unity Indie can build standalone games for any platform (they will show splash screen). Unity Indie builds web players with a watermark that goes away after a short period of time.
  • Editor Fixes:
  • Fixed Character Kerning inspector for custom fonts.
  • Fix error message when importing Font from a FAT32 filesystem on OS X
  • Fixed Rotate tool handle location changing with complex hierarchies when it's in Center mode.
  • Fixed Joints that are connected to themselves.
  • Fixed Mac vs. PC byte orders in terrain .raw files being swapped.
  • Mass Place Trees is properly undoable.
  • Switch texture format to one that has alpha channel when Generate Alpha from Grayscale is enabled.
  • priority parameter for MenuItem attribute actually works now.
  • Fixed crash when importing some TrueType fonts.
  • Error Pause in the console works for script exceptions.
  • In Cubemap inspector you can create cubemap from skybox images without having to mirror them.
  • Gizmos.color and Gizmos.matrix are reset before calling any gizmo functions.
  • Fixed importing progress bar for movies without audio.
  • Fixed terrain lightmap shaders not working in editor on some old cards (e.g. GeForce 2).
  • Mesh importer was putting random values into normals and tangents of unused vertices.
  • Web Player Fixes:
  • OS X web player correctly clips the game area if it does not fit on screen.
  • Work around a bug in Vista + Internet Explorer 8 (RC1) where going fullscreen hangs up the browser. Now fullscreen is disabled there :(
  • Work around Firefox 3.0.x scripting interface bug on OS X that made some games not work.
  • Fixed non-focused web players able to read keyboard input.
  • Fixed OS X web player flicker while scrolling in Firefox.
  • Graphics Fixes:
  • Fixed Camera.RenderWithShader in some cases messing up image effects if called from inside of OnPreRender.
  • Fixed Water becoming blocky on some Intel cards when game is running for many hours. Update Standard Assets and Pro Standard Assets to get the fix!
  • GUI.DrawTexture fixes: can handle non power of two render textures; fixed 50% opacity when there's no other UnityGUI used; correctly takes GUI.BeginGroup clipping rectangles into account.
  • Rendering Stats window gathers any rendering done during Update and other functions. Rendering through GL class is captured now as well.
  • Reported VRAM size should be more robust now on OS X (previously was reporting 256MB for some 512MB cards).
  • Fixed Texture2D.ReadPixels being upside down when reading from render textures on Windows.
  • Fixed TexGen ObjectLinear not producing correct texture Z coordinate.
  • Fixed Movie Textures leaking some memory.
  • Fixed occasional movie playback crash when movie is more tall than wide and is not power of two in size.
  • Fixed Camera.SetReplacementShader not taking the tag value into account.
  • Fixed particle rendering in orthographic scene view.
  • Fixed large GUI areas clipping off last pixel row/column on Radeon HD graphics cards.
  • Fixed crash in Graphics.DrawMeshNow if there is no current camera.
  • Fixed setting mesh.triangles corrupting data when mesh has multiple submeshes and you set a smaller triangle array.
  • Documentation Fixes:
  • Much better documentation for Editor scripting API.
  • Attributes are on a separate page in scripting reference.
  • Fixed scripting reference search not finding some words (e.g. Mathf.Sign)
  • Fixed broken links in printable documentation (printable.html)
  • Unicode love:
  • Various Unicode character input fixes for Unity GUI.
  • Standalone Windows games can launch from Unicode paths or when Project Name contains Unicode characters.
  • Fixed Paste with some Unicode strings not working.
  • Fixed Font.HasCharacter() for some characters.
  • Seeking in compressed audio (with .time) now works and with a much better precision.
  • Animation fixes:
  • Fixed Animation.Sample() not working if animation was not playing before.
  • Fixed Animation.CrossFade and Stop not clearing out queued animations.
  • Fixed Animation.IsPlaying for queued animations.
  • Fixed Application.loadedLevel being initially -1 in players.
  • Fixed Mesh.tangents producing null reference exception if mesh had no normals nor tangents.
  • Fixed EventType.ScrollWheel delta values being about 100x too large on Windows compared to OS X (now they match OS X).
  • Fixed copying text into clipboard producing extra ASCII zero character at the end on OS X.
  • Fix unrecognized keys (like volume up/down on some keyboards) triggeting unrelated input axes on Windows.
  • Fixed Mathf.Ceil and Mathf.CeilToInt returning next integer number if the argument was integer already. D'oh!
  • Fixed audio playback from streamed Ogg files.
  • Fixed crash when streamed video download is cancelled.
  • Fixed terrain tree colliders for terrains that aren't placed at zero.
  • Fixed MovieTexture playback issue.

New in version 2.1.0 (July 25th, 2008)

  • 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.
  • 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
  • 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.
  • 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.
  • 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.
  • 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.

New in version 2.0.2 (January 31st, 2008)

  • A new integrated Ping class for pinging remote servers or machines.
  • Added boolean and byte array parameter support for RPC functions.
  • Improved host list processing (Network.RequestHostList()) so it doesn't cause delays. Client connections to the master server are also more efficient.
  • A function which provides local NetworkPlayer information. Provides local IP address, internal and external with NAT addresses (after connecting to a remote machine).
  • Added compare operators on NetworkPlayer and NetworkViewID structures.
  • Copy & Paste now work in UnityGUI through CMD-C/CMD-V (Mac OS X) and CTLR-C/CTRL-V (Windows) keys.
  • Added GUIUtility.RotateAroundPivot(), GUIUtility.ScaleAroundPivot(). Guess what they'll do to your GUI :)
  • Improved GUILayout.ScrollView's logic for detecting when scrollbars are neccessary.
  • Made the default GUI skin a bit brighter so it looks better on Windows boxes, and other minor tweaks.
  • TextFields now select their content when the user tabs to them.
  • EventType enum members were made UpperCase (so EventType.repaint becomes EventType.Repaint). Old scripts will continue to work, but warnings are generated when they compile.
  • Improved skinning performance on OpenGL by about 20%. It's about as fast as D3D now :)
  • Texture2D.PackTextures creates a DXT compressed texture atlas if all input textures are compressed.
  • As a result, video memory usage in terrain engine is decreased when you're using compressed textures.
  • Two UV sets are now correctly imported from 3DS Max when using Standard material types, making lightmaps easier to get across.
  • Removed hardware depth buffer bias for shadows in OpenGL. This can make shadow bias slightly worse, but matches Direct3D behaviour (less unpleasant surprises).
  • Improved error message when assigning DXT compressed lightmap to the terrain.
  • Application.runInBackground now suppored in the web player.
  • Improved file size info reporting when building games. Unity now prints the size taken up by each asset and sorts all assets that are used in the build by size.
  • Windows standalone build startup dialog has input configuration just like Mac OS X standalone!
  • Added WWW.uploadProgres to track progress of large file uploads using the WWW class.
  • Unitron text editor accepts files dropped on it via Dock, can be used as an "Open As" in the Finder & got a new application icon.
  • When using the Unity Asset Server, the current project name and server is now shown in the main window title bar.
  • Added EditorUtility.SetDirty() function to notify changes in scripts performed from editor scripts.
  • Support for Reproduction Logging on standalone Mac OS X games. Hold down CMD-ALT-CTRL while loading the standalone player and Unity will ask you to write or read from a log file. This records all input and lets you play it back in order to easily reproduce a crash or other issue.

New in version 2.0 (October 11th, 2007)

  • Web Player
  • The Unity Web Player installation process has been greatly simplified. No browser restarts are required on any browser, no windows are popped up to download the installer, and content starts as soon as the installer is finished.
  • Unityweb files can now be streamed. Assets are automatically reordered in the stream by the first level using them. This is an amazing no-hassle way of streaming web players. Unity essentially does everything for you. In your scripts you simply have to query if the level you are about to load has already been downloaded completely. By ensuring your first few levels are not using a lot of assets, you can start your game with only a minimal amount of data.
  • Web Players data file compresses around 30% better now. Unity now uses the state of the art LZMA compression algorithm. Data files are decompressed on the fly, resulting in shorter load times. We also use solid compression multiple game levels share the same compression dictionary, this further increases compression ratio.
  • You can now switch to fullscreen in web player from a script. The same rules as for mouse locking apply: user must have clicked on the content before you can go fullscreen.
  • Safari 3 for Windows support as added.
  • Web players on Windows properly pause when browser is in background.
  • Web player progress loading images can now be .pngs with an alpha channel.
  • Added disableContextMenu, disableFullscreen and disableExternalCall embed tags.
  • On Windows, the Unity Web Player can now perform auto-update on non-admin user accounts.
  • Unity and Unity Web Player installers on Mac OS X will now cleanup receipt files in order to work around Apple's installer limitation of not allowing installations of older versions.
  • Made a new CLSID for the Internet Explorer plugin, and new plugin name for Netscape-like browsers.
  • Changed default web player installation path on Windows to [program files]UnityWebPlayer.
  • Added a WWW.URL property.
  • Workflow
  • Automatic Ogg Vorbis converter. Optionally force Stereo or Mono for positional sounds, choose compression and preload settings. MP3 files are automatically converted to Ogg Vorbis by default.
  • Imported Ogg files (audio and video) can be exported via a menu command in the Assets Menu for web streaming.
  • Graphics Card Emulation. You can now simulate older graphics cards from a menu item (Edit > Graphics Emulation). This is extremely convenient to quickly preview how your game looks on that graphics card without different hardware.
  • Texture Atlas generation function added as Texture2D.PackTextures(). Combine multiple textures into a single texture. This is useful for optimizing graphics performance when combining objects which might not otherwise use the same texture.
  • Imported Models can now be post-processed during import. Once the basic importing of a model is complete, MeshImporter.OnPostprocessAsset() will be called. From here you can modify all meshes, GameObjects, Components, etc. to your liking. This allows you to completely customize the asset pipeline. Trees in the Terrain Engine take advantage of this. See the MeshImporter class for details.
  • Textures can be postprocessed in the same way. For example you could invert the colors of an image. Or ensure that normals of a normalmap are always normalized even in the mip levels.
  • 16 more layers have been made available. This is useful for people who have run out of layers to use.
  • Unity Editor
  • The Unity Editor has received a complete facelift! New skin, new buttons, new icons, new gizmos.
  • Reimport your existing 1.6.2 project to see the new asset icons.
  • Optimized drawing of editor views; editor is much faster with complex projects.
  • Progress bar in the editor for building players and Terrain lightmapping.
  • New Directional light gizmo.
  • Integer values can now be right click dragged in the Inspector.
  • Rectangles are now defined as x, y, width, height matching the way they are used in scripting.
  • Pipeline components are not used anymore. You can remove them from your existing objects if they bother you :)
  • Rects, Vector2 and Vector4 can now be serialized in the inspector for scripts.
  • Serialization of arrays in scripts has been greatly optimized.
  • Rendering
  • Rendering system rewritten! A new render pass sorting algorithm is used. Passes are sorted to minimize state changes. The algorithm takes lights and shadows into account. We've seen up to 50% speed increase on real world scenes!
  • Lights have an intensity property. The intensity can be up to 8. This can be used to create very strong lights even if they have a small light range.
  • Skinned Mesh Rendering has been optimized. It is 2-4x faster than in Unity 1.6.2!
  • Lighting from Point lights is much less "blocky" on fragment program capable cards.
  • Vertex lights now match pixel lighting more closely.
  • Specular highlights in builtin shaders are less attenuated now.
  • Orthographic cameras sort transparent objects by distance along their Z axis, which makes 2D games easier!
  • Switching materials from inside OnPreRender/OnPostRender works as expected now. This is useful if you want specific cameras to render with specific materials.
  • Cameras can now be removed or added during any time. Even while drawing/culling another camera.
  • Improved appearance of Particle Additive, Additive-Multiply and Alpha Blended shaders.
  • If some of your particle objects became too bright, make the tint color 2x darker!
  • The change was needed to make particle appearance match in D3D and OpenGL.
  • Changed the order in which cameras are culled & rendered. Before it was like this: CullAllCameras(); RenderAllCameras();. Now the order is per-camera: for( all cameras ) { CullCamera(); RenderCamera(); }. The change should not affect you, but it's now easier to use OnPreRender and friends.
  • Default near clip plane for cameras increased to 0.3. Yay for better depth precision!
  • Added Texture2D.GetPixelBilinear() function.
  • Added Graphics.DrawTexture().
  • All render textures on Mac OS X use OpenGL "frame buffer objects" if available. This makes render textures generally faster.
  • Added Camera.RenderToCubemap for dynamic cubemap reflections.
  • Added Material.HasProperty() function.
  • Render Textures can now use mip maps (mip levels are automatically generated).
  • Textures can now be reinitialized using Texture2D.Resize().
  • Texture2D.ReadPixels() has been added. This has many cool applications.
  • Reading pixels from Texture2D has been optimized.
  • The normal smoothing angle is now also used as a smoothing angle for tangents. This allows for adjusting tangents so that tangent issues with generated normal maps are fixed. For example, this makes normal mapped characters have a lot less seams.
  • Physics
  • Convex Mesh Colliders can automatically be generated from any Mesh, by checking the convex flag. Convex Mesh Colliders can collide with any other Collider.
  • Added Configurable Joint. A highly configurable joint with direct control over all 6 axes, including soft limits. This joint can do just about everything.
  • Added Heightmap Collider.
  • Ageia PhysX has been updated to version 2.6.2.
  • 10x performance optimization when loading collision meshes.
  • Optimized performance of raycasting on PowerPC Macs.
  • Support for cone friction a more accurate friction implementation. This can be enabled via scripting.
  • Performance for kinematic rigidibodies that are being moved around a lot has been greatly improved.
  • Default values for Hinge Joint are now more intuitive.
  • Ignore collision now also works between two character controllers. Added CharacterController.disableCollision.
  • Slope limit and step offset exposed to scripting in CharacterController.
  • RaycastHit now contains a barycentric coordinate member that can be used to interpolate vertex attributes in the triangle, ie. smoothed normals.
  • The animation system can now apply friction and velocity correctly to kinematic rigidbodies. This allows you to animate platforms and stack boxes or other rigidbodies on top. To enable it you have to make the rigidbody kinematic and turn on Animation.animatePhysics.
  • MovePosition()/MoveRotation() has been added to the rigidbody class, it is useful for animating kinematic rigid bodies so that they apply friction correctly to touching objects.
  • Scripting
  • Support for .NET 2.0 including generics!
  • Full support for eval in JavaScript!
  • Added OnJointBreak() callback when a joint is broken by joint break force.
  • Static variables are now automatically reset when hitting Play.
  • ExecuteInEditMode attribute will make scripts will run in edit mode. This is useful if you want to interact with the editor, for example to see your changes live without entering playmode.
  • WWW class can now perform POST requests in addition to GET requests.
  • WWW class can load PNG images in addition to JPG images.
  • WWW class can read local files using WWW("file://mypathname"). This is disabled in the Unity Web Player.
  • Added WWWForm for easy uploading of forms.
  • Arrays of classes marked are now be shown in the inspector and are serialized. You simply have to give the class the Serializable attribute.
  • Added Texture2D.EncodeToPNG().
  • Added on WaitForFrameComplete() coroutine. This will execute after all rendering is done. Useful for grabbing screenshot and posting to a web server for example.
  • TextAsset class has been exposed to scripting. This lets you easily use text files without having to go through .NET file routines.
  • Added Application.unityVersion.
  • Moved Graphics.deviceName and friends into SystemInfo class.
  • Added Matrix4x4.Perspective for constructing perspective matrices.
  • Coroutines can now take an arbitrary amount of parameters.
  • Creating game objects has been streamlined. You can pass in an optional argument list with several components to automatically add them.
  • Added CloneComponent() function. This is useful for copying individual Components to a different game object.
  • Added Debug.LogError() and Debug.LogWarning() functions.
  • Optimized Vector3 math functions.
  • HideInInspector attribute added.
  • When instancing a material or physics material, "(Instance)" will be appended to it's name. This lets you easily differentiate shared materials and instanced materials.
  • OnEnable() and OnDisable() has been added for ScriptableObject().
  • The seed of a random number generator can now be set from code.
  • Animation.RemoveClip() has been added. This is useful for reducing the set of textures in order to improve performance.
  • HideFlags can be used to specify what is visible in the hierarchy, project view and inspector. You can also use this to make Unity not store an object in a scene.
  • Mathf.Abs() is now also available in an integer version.
  • Renamed Camera.orthoGraphic to Camera.orthographic.
  • Removed Texture2D.frameCount and Texture2D.frame properties. Use arrays of textures and switch them manually.
  • Changed Camera.WorldToScreenPoint(), Camera.ScreenToWorldPoint() and similar functions to use world space depth in Z component, instead of non-linear z-buffer depth.
  • Added DXT1 and DXT5 texture formats for scripting.
  • Shaders
  • GLSL is supported as shader language in addition to Cg.
  • Lots of render queues for shaders! If you want to make something render after opaque things but before transparent things, now you can. See Tags documentation in ShaderLab docs.
  • Comment-style directives for compilation are replaced with more robust and intuitive #pragma directives.
  • Cg compiler updated to Cg 1.5. Shader compilation is much faster due to new batch Cg importer and because Cg 1.5 is Universal Binary.
  • Shaders use #pragma multi_compile tags instead of autolight codes to generate different variants for different light/shadow types.
  • Added AlphaToMask command to ShaderLab (still waiting for Apple to properly implement it in Mac OS X; but it works on Windows now).
  • Writing dummy SetTexture {} commands after fragment programs is not necessary anymore.
  • Renamed some builtin shaders: Alpha -> Transparent, Glossy -> Specular, moved Parallax shaders into corresponding groups.
  • Shaders that contain errors are put into separate submenu in material inspector.
  • Added Shader.SetGlobalVector().
  • Shader.Find() always returns user made shaders if there is also a builtin shader with the same name.
  • Pro Water
  • It works correctly in Scene View! It also just works with multiple in-game cameras.
  • Much improved setup. Just a single script (Water.cs) and a single material to use. Switch between Simple, Reflective and Refractive in the Water script in the Inspector.
  • Best way to upgrade is 1) delete Standard Assets/Water and Pro Standard Assets/Water folders, 2) reimport Standard Assets and Pro Standard Assets packages.