Unity Changelog

New in version 5.2.0 Beta 4

July 24th, 2015
  • Features:
  • New low-level native plugin API.
  • Windows 10 Universal apps now support x64.
  • Changes:
  • GI: Set default BounceScale to 1.
  • Removed hexadecimal color string support from Color and replaced with ColorUtility.
  • Improvements
  • Audio: Finalized Spatialization API (updated SDK and example on https://bitbucket.org/Unity-Technologies/nativeaudioplugins)
  • GI: Allow ambient intensity higher than 1.
  • GI: The size of the last lightmap is now reduced to pack the instances more tightly and not waste space.
  • Graphics: Add SetUVs to Mesh API, it takes a UV channel, and a List of either Vector2, Vector3, or Vector4 as arguments
  • Graphics: Added CommandBuffer.IssuePluginEvent(callback, eventId) to allow invoking a specific callback in a specific native plugin.
  • Graphics: Added linear rendering mode to new OpenGL back-end on desktop.
  • Graphics: Memory saving for meshes with < 300 vertices if dynamic batching is off.
  • Graphics: New GL.IssuePluginEvent(callback, eventId) override allows invoking a specific callback in a specific native plugin.
  • IL2CPP: Improve performance of 'is' operator, 'as' operator, and casting in some cases.
  • IL2CPP: Properly look up a type using the Type.GetType(string) method during a case-insensitive search.
  • iOS: Added build number to Player Settings.
  • iOS: Added support of asset tags and folder references to the Xcode API
  • Mecanim: BlendTree Api now publishes useAutomaticThresholds
  • Particles: Mesh particles now support the Texture Sheet Animation settings
  • Physics: Renamed 'CollisionDetectionMode2D.None' to 'CollisionDetectionMode2D.Discrete' (Will be auto-updated).
  • Reflection Probes: Make deferred probe blend distance configurable
  • Shader: Added finalgbuffer and finalprepass modifiers. They work in the same way as finalcolor does, but are used by the deferred and prepass base paths respectively for altering what would be written into the gbuffer.
  • Shader: decal:add surface shaders now generate code for deferred and legacy deferred paths if finalgbuffer and finalprepass modifiers are specified.
  • Shader: Now skip_variants directive skips user variants as well.
  • Terrain: Now terrain renders in deferred and legacy deferred path.
  • UI: Add callback to MaskableGraphic for when it becomes culled via the 2d culling API
  • UI: Make the default value for a slider / scrollbar be 0
  • UI: Remove (Pro Only) from UI shaders as they can be used on any version of Unity since 5.0
  • WebGL: Allow Type.GetType(string) and its overloaded methods to work without Exception Support set to Full.
  • Fixes:
  • Android: Added API level 22 to the minSdk list
  • Android: Audio - Fixed issues on GearVR when the device does not report FEATURE_AUDIO_LOW_LATENCY
  • Android: Editor - fix GLES31+AEP player settings
  • Android: IL2CPP - fixed compilation when path has whitespaces
  • Android: JNI - fixed long data type
  • Editor: Automatically checkout ProjectSettings/ProjectVersion.txt if needed.
  • Editor: Clear old main menus on Windows
  • Editor: Dirty materials when fixing HDR texture to ensure previews are updated
  • Editor: Fix 'Timestamps and assets out of sync' error when renaming a folder outside of Unity and deleting an asset inside of it.
  • Editor: Fix disabled scrollbar in lighting window lightmaps tab
  • Editor: Fix non character keys being mixed up with character keys on shortcuts.
  • Editor: Fix Null reference exception on the Inspector
  • Editor: Fixed Gradient not updating when an Undo is performed.
  • GI: Ambient GI value not changing based on disabled realtime/baked GI.
  • GI: Fixed crash in CreateSnapshotForReflectionProbe when trying to rebake reflection probes. Show message to user that she should bake a snapshot first.
  • GI: Fixed environment reflection cubemap getting unloaded after the scene was loaded using Application.LoadLevel for scenes that used the Auto lighting build mode.
  • GI: Fixed lightmap shader variant stripping for realtime lightmaps. Now each lightmaps mode (non-directional, directional and directional specular) variant can be picked for baked and realtime GI separately. Please review your settings if you selected a specific lightmaps mode variant in the Graphics Settings to make that mode work for realtime lightmaps.
  • GI: Fixed UV packing for baked UVs not filling the 0-1 space (smaller or bigger). Fixes a bunch of issues where one object with stray UVs could overlap other objects and cause dark spots. Also makes the resolution assigned to each object work much more reliably if that object's unwrap is not filling the 0-1 space and also when its bounds are non-square. Please review the resolution on your instances for baked lightmaps.
  • GI: Lightmap snapshot gets cleared when clearing GI Cache.
  • Graphics: Apply hard limit on font size of 500 in more places than just font importer.
  • Graphics: Fix CaptureScreenshot with letterboxed editor game view (5.2 regression).
  • Graphics: Fixed a shader compiler error on OpenGL ES platforms where dot() between a vec3 and a float would fail to add an upcast.
  • Graphics: Fixed BGRA texture format on OpenGL ES 3.0
  • Graphics: Fixed CaptureScreenshot on DX11 when using non-native fullscreen resolution.
  • Graphics: Fixed crash while using -force-gles on MacOSX
  • Graphics: Fixed editor rendering black views when running with OpenGL ES 2.0
  • IL2CPP: Allow the AssemblyName::GetPublicKeyToken method to return an array of only eight bytes.
  • IL2CPP: Correct a C++ compiler error in generated code: "No matching function for call to 'il2cpp_codegen_raise_exception'".
  • IL2CPP: Correct an intermittent hang which can occur in the garbage collector.
  • IL2CPP: Correct be problem with the generated C++ code which causes the C++ compiler error: "Member reference base type 'intptr_t' (aka 'long') is not a structure or union" when unsafe C# code is used to index into an array of pointers to structures.
  • IL2CPP: Fix binary operations using mixed integer types.
  • IL2CPP: Fix bug in Boo script related to generic interface methods.
  • IL2CPP: Fix codegen issue when using a field type a struct that has no instance fields.
  • IL2CPP: Fix CultureInfo.GetCultures()
  • IL2CPP: Fix marshaling code for IntPtr parameters marked with [Out] attribute.
  • IL2CPP: If "Fast but no Exceptions" is selected, any managed exception which escapes out of managed code will cause the AppDomain.UnhandledException event to be executed and application will abort (this is the same behavior as the Mono scripting backend).
  • IL2CPP: Implement the previously unsupported AppDomain::InternalGetDefaultContext and AppDomain::InternalGetContext icalls.
  • IL2CPP: Prevent the exception "ArgumentException: Value does not fall within the expected range." during a call to the JoinMulticastGroup method.
  • IL2CPP: Prevent the following error from il2cpp.exe at conversion time: "Attempting to constrain a value of type 'X' to type 'Y'." for two different types X and Y.
  • iOS: Fixed a regression that caused very poor performance of trying to load non-existing system fonts
  • iOS: Fixed a regression which caused appending builds with native plugins to fail
  • iOS: Fixed a regression which disables appending builds in folders more than one level away from the project folder .
  • iOS: Fixed stripping of GameCenter social platform
  • Linux: Fix button down reports when querying any joystick and multiple joysticks are connected.
  • Linux: Fix key release regression.
  • Mecanim: Fixed a bug where a state machine moved to another state machine would disappear.
  • Mecanim: Fixed Animator.speed set in Start() not working.
  • Mecanim: Fixed Blend tree max/min thresholds not being updated when changed through dragging on the graph in the inspector.
  • Mecanim: Fixed broken BlendTree slider with some BlendTree configuration.
  • Mecanim: Fixed error message when changing clip selection in ModelImporter.
  • Mecanim: Fixed OnStateMachineEnter/Exit not being called on layers.
  • Mecanim: Fixed reloading of BlendTree when AnimatorController file modified externally.
  • OS X Standalone: Fixed fullscreen mode
  • Particles: Fixed Particle curve editor preview not refreshing on Undo
  • Particles: Fixed Shuriken particle system bugs (Limit Velocity Over Lifetime was FPS-dependent, and some spawn parameters weren't random enough).
  • Particles: Shuriken sub-emitters sometimes didn't fire
  • Physics: Fixed 'Physics2D.GetRayIntersectionXXX' methods being affected by 'Physics2D.raycastsStartInColliders'.
  • Physics: Fixed incorrect depth sorting for results of 'Physics2D.GetRayIntersectionXXX' methods.
  • Plugins: Default Standalone settings for CPU specific plugins will be correctly set once again, additional this path variation is now possible as well, for ex., "Assets\MyPackage\Plugins\x86\Plugin.dll".
  • Substance: Fix crash in iOS/il2cpp builds caused by uninitialized SubstanceSystem.
  • Substance: Using _TexelSize in shaders now works correctly with ProceduralTextures.
  • UI: Allow UI elements to render in overlay mode even if they don't have a shader that requires lighting
  • UI: Characters from Dynamic Font disappear when Scene is saved
  • UI: Fix issue with UI stencil breaking in editor due to materials that were deleted being passed through to the render pipeline.
  • UI: Only call 'PointerDrop' callback if we have begun a pointer drag
  • UI: Stop disabled graphics from blocking raycasts
  • UI: Stop OnValidate being called at inappropriate times for UI elements
  • UI: When overriding sorting ensure to calculate the bounds using the generated mesh of the correct sub Canvas
  • Windows Phone 8: Fixed corrupted display resolution when screen is rotated in Landscape mode.
  • Windows Store Apps: Application will correctly change its resolution when display resolution changes on DX12.
  • Windows Store Apps: Application.isMobilePlatform will now return true
  • Windows Store Apps: fix incorraectly reported PlayerPrefs corruption after upgrading to Unity 5.1
  • Windows: Both Editor and Windows Standalone will correctly report Windows 10 via SystemInfo class.
  • The following are changes and fixes to 5.2 features and regressions...
  • Fixes:
  • Mecanim: Fixed accessing StateMachineBehaviours when using Playables.
  • Mecanim: Fixed AnimationWindow not working well with AnimatorParameter.
  • Mecanim: Fixed broken Animator Unscaled Time.
  • Mecanim: Fixed crash when using empty AnimatorController.
  • Mecanim: Fixed Playable graph topology change resetting root transform.

New in version 5.1.2 Patch 1 (July 23rd, 2015)

  • Improvements:
  • iOS: Make WWW.text to actually contain error response in case of non-200 status.
  • WebGL: Added WebGLInput.captureAllKeyboardInput API to allow web page content to get keyboard input.
  • Changes:
  • Samsung TV: Users are now able to set the system language via SamsungTV.SetSystemLanguage. Users will need to fetch the system language via Samsung's GSP API plugin.
  • Xbox One: Unity is now built using the June 2015 QFE 1 XDK. You will need to have this XDK installed on your PC and use the matching or a later recovery.
  • Fixes:
  • (701873) - Android: Fixed performance regression in Resources.Load.
  • (703999) - Android: Fixed texture compression setting for RGBA textures.
  • (694503) - Asset Loading: Fixed missing references when scene is loaded from an asset bundle which contains multiple scenes.
  • (707079) - AssetBundle: Fixed the crash when a scriptable object is referenced from the scene.
  • (683134) - AssetBundle: Fixed the issue that AssetBundle with packed textures includes source textures in addition to the atlased version.
  • (673296) - Editor: Enabling Script Only Build option will only affect platforms that allow the option.
  • (707688) - GI: Fixed crash when building lighting.
  • (690395) - Graphics: Added extra protection against depth buffer in editor windows being accidentally disabled.
  • (697054) - Graphics: Fixed a crash compressing an already compressed texture in script.
  • (678429) - Graphics: Fixed an issue where setting RenderSettings.reflectionIntensity via script had no effect on the scene.
  • (700698) - Graphics: Fixed artifacts in alpha channel of ATC-compressed RGBA textures when using Mac OS X Editor.
  • (662018) - Graphics: Fixed swizzling of BGRA32 texture data on D3D11 and Xbox360.
  • (681662) - Graphics: Switching shaders in material inspector should reset material's render queue to default.
  • (701319) - Graphics: When using COLORMASK and D3D9, the mask was not correctly set for MRT render targets.
  • (693316) - Graphics: Configurable vertex compression to fix lightmap UVs shifting.
  • (691477) - Graphics: Fixed crash calling GetPixels with a 0x0 texture
  • (697178) - Input / OSX standalone: Mouse buttons are registered when configuring input settings.
  • (704815) - Input: Fixed touch input hanging a Windows application if a second 'touch window' is created in a plugin.
  • (704335) - Inspector Functionality: Fixed component Help buttons on OS X.
  • (711284) - iOS/IL2CPP: Allow the AssemblyName::GetPublicKeyToken method to return an array of only eight bytes.
  • (689976) - iOS/IL2CPP: Corrected an intermittent hang which could occur in the garbage collector.
  • (709995) - iOS/IL2CPP: Corrected a problem with the generated C++ code which caused the C++ compiler error: "Member reference base type 'intptr_t' (aka 'long') is not a structure or union" when unsafe C# code was used to index into an array of pointers to structures.
  • (712713) - iOS/IL2CPP: Ensure methods needed for enum arrays are converted.
  • (708876) - iOS/IL2CPP: Fixed binary operations using mixed integer types.
  • (770440) - iOS/IL2CPP: Fixed bug in Boo script related to generic interface methods.
  • (689586) - iOS/IL2CPP: Fixed CultureInfo.GetCultures().
  • (none) - iOS/IL2CPP: Fixed marshaling code for IntPtr parameters marked with [Out] attribute.
  • (708527) - iOS/IL2CPP: If "Fast but no Exceptions" is selected, any managed exception which escapes out of managed code will cause the AppDomain.UnhandledException event to be executed and application will abort (this is the same behavior as the Mono scripting backend).
  • (676797) - iOS/IL2CPP: Implemented the IsTransparentProxy icall, which always returns false.
  • (705751) - iOS/IL2CPP: Implemented the previously unsupported AppDomain::InternalGetDefaultContext and AppDomain::InternalGetContext icalls.
  • (none) - iOS/IL2CPP: Improved performance of 'is' operator, 'as' operator, and casting in some cases.
  • (711712) - iOS/IL2CPP: Prevent the following error from il2cpp.exe at conversion time: "Attempting to constrain a value of type 'X' to type 'Y'." for two different types X and Y.
  • (none) - iOS/IL2CPP: Properly look up a type using the Type.GetType(string) method during a case-insensitive search.
  • (706601) - iOS: Fixed a regression that caused very poor performance of trying to load non-existing system fonts.
  • (709024) - iOS: Fixed crash accesing WebCamTexture videoRotationAngle and videoVerticallyMirrored before it is fully inited.
  • (709063) - iOS: Fixed snapshot creation (when going to background) on pre-ios8.
  • (650630) - Mac OS X Standalone: Fixed stripping of debug symbols in release player builds.
  • (705342) - Mecanim: Fixed performance regression for AnimationUtility.SetEditorCurve().
  • (693714) - Metal: Fixed shader translation of matrix+scalar, matrix-scalar, matrix/scalar operations.
  • (]693714](http://issuetracker.unity3d.com/issues/shader-metal-incorrectly-compiled-metal-shader-there-is-no-cast-for-different-types)) - Metal: Fixed some issues with shader translation of matrices with different precision.
  • (none) - Networking: Fix for llapi statistic function + new statistic function GetNetworkLostPacketNum().
  • (none) - Networking: Timing service is working now.
  • (none) - OS X: Fixed building on OS X El Capitan.
  • (706330) - OSX standalone: Fixed mouse input and rendering issues after the application is moved to a different screen and is made fullscreen.
  • (703073) - Physics: Fixed an issue where OnTriggerStay would not be called on children in compound colliders.
  • (none) - Samsung TV: Added missing Indian character sets to 2015 TV.
  • (695246) - Scripting: Fixed potential crashes during domain reloads when user code throws NullReferenceException in AppDomain.DomainUnload / AppDomain.ProcessExit events.
  • (643440) - Serialization: Fixed incorrect clamping of LayerMask when set through SerializedProperty.intValue.
  • (706380) - Substance: Fixed crash with BakeAndDiscard ProceduralMaterials.
  • (none) - Tizen: Fixed corrupted audio.
  • (none) - Tizen: Fixed errors when building projects that contain spaces in the path.
  • (693283), (672115) - UI: Fixed issue in UI components Slider, Outline, Shadow & Position as UV1 not updating when their values are animated.
  • (none) - UnityAnalytics: Remote config fix added.
  • (none) - WebGL: Allow Type.GetType(string) and its overloaded methods to work without Exception Support set to Full. IL2CPP: Properly look up a type using the Type.GetType(string) method during a case-insensitive search.
  • (700861) - WebGL: Fixed backspace key navigating away from page in Chrome.
  • (705045) - WebGL: Fixed mouse button state after double click.
  • (711745) - Windows Store Apps: Application.isMobilePlatform will now return true.
  • (710069) - Windows Store Apps: Fixed incorrectly reported PlayerPrefs corruption after upgrading to Unity 5.1.
  • (708668) - Xbox One: Fixed instances where Compute Shaders would not compile.
  • (705618) - Xbox One: Fixed spelling errors in ESRB ratings strings in the Player Settings.
  • (701308) - Xbox One: Level and asset files are paired correctly in the auto-generated package manifest.
  • (none) - Xbox One: Mono: Double traverse object count to avoid stack overflow when freeing huge amounts of objects.

New in version 5.2.0 Beta 3 (July 18th, 2015)

  • Features:
  • Out of the box support for Visual Studio Tools for Unity (aka UnityVS)
  • Backwards Compatibility Breaking Changes:
  • Windows Store Apps/Windows Phone 8.1/Windows Universal Apps: Unity will generate projects in a consistent way with Visual Studio. For ex., When specifying project names with whitespaces or symbols like '-', '.', Unity will no longer strip those symbols when creating folders, note this might break existing projects if you're building on top of old directory and your project name contains one of these symbols.
  • Windows Store Apps/Windows Phone 8.1/Windows Universal Apps: Unity will properly use project name instead of hardcoded "Template" word, when creating App.xaml, App.xaml.cs, MainPage.xaml, MainPage.xaml.cs, AssemblyInfo.cs files.
  • Improvements:
  • C# Project Generation: included extensions and rootnamespace now configurable in ProjectSettings->EditorSettings
  • C# Project Generation: only one set of project files will be generated, based on what the preferred external editor is.
  • Linux: Enable experimental GL core profile mode (via -force-glcore and friends)
  • Mecanim: Added a "destructive action" prompt when deleting blend tree nodes, so that the behaviour is consistent between StateMachine and BlendTree graphs.
  • Mecanim: Clarify doc for Animator.bodyPosition and bodyRotation.
  • Mecanim: Fixing empty State Machine Behaviour after compilation error
  • Mecanim: Support Layers Affect Mass Center for AnimatorControllerPlayable.
  • Mecanim: Updated documentation for AnimatorOverrideController.
  • Playables: Improved connection API: GetInput(index), GetInputCount, ClearInputs, and more.
  • Playables: No longer necessary to create a PlayableController to play a tree of Playables. The Animator (and other DirectorPlayer) now expose new Play(Playable root) API.
  • Substance: Updated the Substance Engine libraries to Substance Designer 5.1.1 feature parity.
  • XboxOne: Improved performance for certain audio operations: converting float to PCM16 formats, mixing audio for one speaker configuration to another, and linear resampling.
  • XboxOne: Unity is now build using the June 2015 QFE 1 XDK. You will need to have this XDK installed on your PC and use the matching or a later recovery.
  • Fixes:
  • Android: Added support to create a real 16bit RGB565 backbuffer. Deprecated Handheld.use32BitDisplayBuffer
  • Android: Buildpipe - Android Libraries can now be excluded from build in the Plugin Inspector
  • Android: Buildpipe - Fixed assets folders in aar files
  • Android: Fixed ATC texture compression for RGBA textures
  • Android: Fixed bug that caused texture format RGBA4444 to be used for RGBA textures even when overriding in build settings
  • Android: Fixed performance regression in Resource.Load when calling it multiple times for the same resource
  • Asset Management: Changes to scripts are now correctly processed synchronously, fixing a range of issues with scripts relating to asset processing at import time
  • Editor: Fix scene view window still being tinted in playmode when an overlay was active.
  • Editor: Fix scene's GI is not updated after building AssetBundle or opening the same scene.
  • Editor: In play mode, tick one more frame after the editor is not active, so that the game can get a chance to respond to being paused.
  • Graphics: Fix for call to OpenGL ES API without current context when using the multi-threaded renderer
  • Graphics: Fixed issue with MaterialPropertyBlock not working with Particles.
  • IL2CPP: Fix crash when using OnCollisionEnter2D with no parameters
  • Input: Fixed touch input hanging a Windows application if a second 'touch window' is created in a plugin
  • Mecanim: Do not activate runtime State parameter on parameter rename.
  • Mecanim: Fixed crash when building AnimatorController with empty layer.
  • Mecanim: Fixed crash when importing certain FBX file.
  • Mecanim: Fixed crash when loading scene in playmode with an asset bundle containning a controller.
  • Mecanim: Fixed crash when selecting a state with a null StateMachineBehaviour due to compilation errors.
  • Mecanim: Fixed display of transition pivot curves.
  • Mecanim: Fixed performance regression for AnimationUtility.SetEditorCurve()
  • Mecanim: Fixed runtime optimize/deoptimize hierarchy of GameObject.
  • Mecanim: Fixed selection of blend tree items when multiple instances of the same motion occur in the same blend tree.
  • Mecanim: Fixed synced timing UI for additive layer.
  • Mecanim: Fixed Transition interruption in destination State ExitTime.
  • Mecanim: Removed Abstract StateMachineBehaviours from the list offered to users.
  • Merge Tool: Fix empty base/right files when falling back and used from cmdline and premerge dests are not set
  • Merge Tool: Fix merge conflict when mine and theirs have both added a component of different type to the same GameObject
  • Merge Tool: Get rid of error about non existing merge tool path after falling back to 3rd party merge tool on OSX
  • Merge Tool: Handle invalid non-unique mapping keys that Unity generates
  • OpenGL ES: Fixed blit from backbuffer into RenderTexture
  • Shuriken: Fixed various particle system bugs
  • Substance: Fix crash in standalone builds when handling BakeAndDiscard materials.
  • Substance: Fix memory leak in the Editor.
  • Substance: Fix Resources.Load() and Resources.LoadAll() not waiting for ProceduralTexture generation completion before returning.
  • Terrain: Fixed crash after baking navmesh if there are LOD trees painted.
  • Terrain: Fixed crash when reimporting a billboard asset.
  • Version Control: Allow adding a new file under the name of a deleted file even if the deletion hasn't been committet
  • Version Control: Correct overlays for assets where .meta files are out of sync with their assets
  • Version Control: Fix assets version control cache state not being updated after scene reload
  • Version Control: Fix spelling of 'check out' to be consistent
  • Version Control: Invalidate version control cache on refresh button click in versioning window
  • Version Control: Make some version control class constructors internal
  • WebGL: Fixed DXT5 decompressor which resulted in slightly imperfect textures
  • Windows Store Apps/Windows Phone: fix build when native plugin uses collection interfaces with nested generic parameters
  • Windows Store Apps: Application will correctly change its resolution when you change display resolution.
  • XboxOne: Enabling Script Only Build option will only effect platforms that allow the option.
  • XboxOne: Fixed instances where Compute Shaders would not compile.
  • XboxOne: Fixed spelling errors in ESRB ratings strings in the Player Settings.
  • XboxOne: Level and asset files are paired correctly in the auto-generated package manifest
  • XboxOne: Mono: Double traverse object count to avoid stack overflow when freeing huge amounts of objects.

New in version 5.1.2 (July 17th, 2015)

  • Improvements:
  • Analytics: Added cloudProjectId to hwstat.
  • Android: Audio - Enabled OpenSL for GearVR.
  • Animation: Group material color channel curves. Removing one curve will automatically remove other channel curves of the same color property.
  • Documentation: Docs for Audio / VR / UNet updated.
  • Editor: Informative message will be shown in the material inspector when the material property block values are used.
  • Graphics: Added options for opaque object sorting control, see Camera.opaqueSortMode.
  • iOS/IL2CPP: Load embedded resources in memory-mapped files so that the memory used by those embedded resources is marked as constant.
  • Terrain: Expose TerrainData.SetHeightsDelayedLOD and Terrain.ApplyDelayedHeightmapModification to allow users to achieve high frame rates while doing interactive terrain editing.
  • Windows Editor Installer: Use dism.exe to install .net framework5, for a more silent experience when using /S silent installer option.
  • Xbox One: Unity now builds with the June 2015 XDK. You must have the June XDK installed on your PC and use the matching or later recovery on your console.
  • Changes:
  • 2D: SpriteRenderer will have light and reflection probes turned off by default. They can still be turned on manually.
  • Fixes:
  • (699578) - 2D: Fixed the issue where it was unable to set Sprite mode to multiple.
  • (701438) - Animation: Animating properties of the material with the custom shader does not cause error on the first play in editor.
  • (699383) - Animation: Reject avatar creation when the skeleton is missing intermediary bones.
  • (665246) - Animation: Remove relative material property blocks when the animator component is being removed.
  • (706635) - Asset Loading: Ignoring hidden dll files.
  • (690156) - Asset Management: Now allow prefab instances with a missing prefab template to be reparented.
  • (670070) - Audio: Audio clip "Force to Mono" now has an option for applying normalization after downmix.
  • (705599) - Audio: Fixed: FSBTool crashed during audio import on Windows XP / N platforms and very short audio files.
  • (694539) - CacheServer: Asset bundle names are not properly imported from metafiles.
  • (702628) - Deployment Management: Fixed crash when selecting 'Scripting Backend' in standalone Player Settings.
  • (670391) - DX11: Don't spam refCount==0 error messages when some 3rd party tools hook into DX11.
  • (703205) - DX11: Fixed non-native resolution fullscreen being too dark when in Linear color space.
  • (686697) - Editor OSX: Fixed custom cursor getting set back to default arrow when used in the editor.
  • (686697) - Editor OSX: Fixed games setting the cursor to null wouldn't take affect in the editor.
  • (692047) - Editor: Removed MSVCRT dependency for WebGL build.
  • (705649) - Editor: Search correct 32/64bit program files on windows for diff tools.
  • (none) - Editor: Texture3D sizes up to 2048 are now allowed (previously the limit was 1024).
  • (none) - GearVR: Removed log spam about user profile.
  • (705573) - GI: Fixed intermittent crash related to realtime lightprobes.
  • (none) - GLES: Fix for TC Particles package from the Asset Store.
  • (699694) - GLES: Fixed crash when using multithreaded renderer and using shader that uses vertex colors when the mesh data doesn't contain vertex colors.
  • (705269) - GLES: Fixed shader compiler crash for some shaders that use scalar pixel shader inputs, and other issues.
  • (696397) - GLES: Fixed standard shader rendering issues with Mali GPUs.
  • (707361) - GLES: Fixed tessellation shaders when multiple texcoords are packed into one vec4.
  • (none) - GLES: Workaround for Adreno 4xx driver bug where binary shaders would break if the shader program contains geometry shaders.
  • (700474) - Graphics: Fixed a bug when loading single channel JPEGs using Texture2D.LoadImage.
  • (698775) - Graphics: Fixed issue in Texture2D.LoadImage when loading indexed PNG images that contain an alpha channel.
  • (689087) - iOS: Added a limit for iOS acceleration event queue.
  • (681384) - iOS: Added additional Japanese fallback font.
  • (699574) - iOS: Added iOS Thai font for 8.2.
  • (701425) - iOS: Added support for Xcode 6.3.2.
  • (704699) - iOS: Added support for Xcode 7 beta.
  • (689410) - iOS: Allow to append builds made with different scripting backend.
  • (705241) - iOS: Don't add header files to il2cpp Xcode project.
  • (699907) - iOS: Don't include managed dll files in il2cpp build.
  • (710126) iOS: Fixed a regression which caused appending builds with native plugins to fail
  • (710818) iOS: Fixed a regression which disables appending builds in folders more than one level away from the project folder
  • (702900) - iOS: Fixed stuck "Launch screen type" setting.
  • (682882) - iOS: Include iOS Xcode API documentation.
  • (685439) - iOS: Lightmapped objects with legacy shaders lit with realtime light in legacy deferred no longer render incorrectly.
  • (695118) ,(701548) - iOS/IL2CPP: Added support for PreserveAttribute to prevent classes, methods, fields and properties from being stripped in IL2CPP.
  • (705724) - iOS/IL2CPP: Allow Type.GetType(string) to return a proper value on 32-bit ARMv7 builds.
  • (708137) - iOS/IL2CPP: Avoid boxing of value types during null checks in generic code.
  • (700507) - iOS/IL2CPP: Avoid deadlock during UnloadUnusedAssets.
  • (691607), (667147) - iOS/IL2CPP: Corrected an exception during code conversion which has the error message "Invalid global variables count" when converting some UnityScript assemblies.
  • (704018) - iOS/IL2CPP: Ensure that GetCurrentMethod returns the proper value, even when the generated native method is inlined.
  • (none) - iOS/IL2CPP: Fix embedded resources.
  • (695179) - iOS/IL2CPP: Fixed a crash which occurred when Ldvirtftn opcode was used on a non-virtual method.
  • (691404) - iOS/IL2CPP: Fixed a rare case when bytecode stripper would incorrectly strip wrong overloaded generic virtual method.
  • (697860) - iOS/IL2CPP: Fixed codegen issue when using a field type a struct that has no instance fields.
  • (696986) - iOS/IL2CPP: Fixed ConstructorInfo.Invoke() returning null for Nullable types.
  • (694436) - iOS/IL2CPP: Fixed IL2CPP generated code in if (...) block if the condition operand was an IntPtr.
  • (694436) - iOS/IL2CPP: Fixed IL2CPP generated marshaling code for marshaling IntPtr into any other primitive type.
  • (702879) - iOS/IL2CPP: Fixed marshaling arrays of structs marked with [Out] attribute.
  • (696745) - iOS/IL2CPP: Generate correct C++ code for the IL add opcode with pointers in unsafe C# code.
  • (699644) - iOS/IL2CPP: Handle 'void' type parameter.
  • (706613) - iOS/IL2CPP: Handle invalid IL generated by UnityScript compiler for delegates.
  • (698589) - iOS/IL2CPP: iOS/IL2CPP: Correct RPC implementation for the UnityEngine.Networking namespace.
  • (696187) - iOS/IL2CPP: Prevent a C++ compiler error in generated code about an undeclared identifier with the test "Unused local just for stack balance".
  • (702203) - iOS/IL2CPP: Prevent a C++ compiler error in generated code which happens when a pointer is assigned a value which is a uintptr_t in converted unsafe C# code.
  • (691077) - iOS/IL2CPP: Prevent a crash in the NetworkManager initialization when the Stipping Level option is not set to Disabled.
  • (702696) - iOS/IL2CPP: Prevent a runtime exception with IL code in an enumerator's MoveNext method when the enumerator's return type is a constrained generic type.
  • (693259) - iOS/IL2CPP: Prevent AES encryption types from being incorrectly stripped when they are used.
  • (703294) - iOS/IL2CPP: Prevent an exception during code generation when the default value of a field is not the same type as the field.
  • (695319) - iOS/IL2CPP: Prevent an intermittent crash on ARM64 when an live object is incorrectly reclaimed but the garbage collector.
  • (697757) - iOS/IL2CPP: Prevent the exception: "System.ArgumentException: enumType is not an Enum type." from occurring for a generic type used with an enum type argument.
  • (704069) - iOS/IL2CPP: Prevent the player build process from using older generated C++ source files from a previous build.
  • (708137) - iOS/IL2CPP: Speed up generic method calls on value types.
  • (705860) - iOS/IL2CPP: The Preserve attribute can now be used in the managed code for an assembly to preserve all of the code in an assembly.
  • (705860) - iOS/IL2CPP: The preserve attribute can now be used with the assembly element in a link.xml file to preserve all of the code in an assembly.
  • (691008) - iOS/IL2CPP: When compiling scripts for the player, appropriate UnityEngine.UI.dll will be referenced now.
  • (704998) - License: Added network timeout for all pending operations.
  • (704271) - License: Clear error message once valid serial is entered.
  • (700738) - License: Fixed an issue with Operating System ID changing on Windows 10.
  • (702313) - License: License activation staying stuck in Updating or Connecting screen.
  • (704270) - License: Replace generic invalid serial message with more meaningful message
  • (706183) - Linux: Fixed key release regression.
  • (none) - Mecanim: Fixed assert when using Optimize Game Object on object that are parented.
  • (none) - Mecanim: Fixed continuity in FixedTime transition with ExitTime.
  • (none) - Mecanim: Fixed crash when using AnimatorController in asset bundles.
  • (697582) - Merge Tool: Fixwd merging of scenes/prefabs with out of order objects.
  • (700533) - MonoDevelop: Fixed issue with Attach button in attach to process dialog not responding to clicks.
  • (673868) - MonoDevelop: Fixed Unity crash when inspecting enum value in MonoDevelop debugger.
  • (699556) - MonoDevelop: Fixed Unity crash when using the debugger to inspect a property that only has a getter that returns a struct. E.g. Sprite.bounds.
  • (701421) - Networking: Added missing check for NetworkIdentity on NetworkManager object.
  • (699613) - Networking: Added missing error message for more than 32 SyncVars in a NetworkBehaviour script.
  • (692633) - Networking: Added missing error message for multiple NetworkManagers in a scene.
  • (697809) - Networking: Added missing validation for invalid method signatures on network methods.
  • (693234) - Networking: Added missing validation for SyncVars of invalid types.
  • (697118) - Networking: Adding missing error message for using network custom attributes in non NetworkBehaviour derived scripts.
  • (701760) - Networking: Fix for allowing multiple network components on the same game object.
  • (697682) - Networking: Fix for ClientRpc call failing when called on a base class.
  • (698103) - Networking: Fix for ClientRpc calls being invoked out of order on localClient.
  • (696932) - Networking: Fix for ClientRpc calls not being invoked for scene objects on a local client.
  • (697824) - Networking: Fix for exception when sending a game object component as an argument to RPC calls.
  • (696579) - Networking: Fix for foldouts in NetworkManager inspector not saving state.
  • (none) - Networking: Fix for garbage at the end of broadcast messages.
  • (697502) - Networking: Fix for implementing Update() in a class derived from NetworkManager causing client connection callbacks to not be called.
  • (none) - Networking: Fix for IsAcksLong flag doesn't work.
  • (697754) - Networking: Fix for isServer still being true after server was stopped.
  • (701235) - Networking: Fix for not being able to detect idle connections.
  • (697730) - Networking: Fix for setting MaxConnection to zero causing exception in NetworkManager.
  • (697102) - Networking: Fix for SyncVars not working with script inheritance.
  • (698321) - Networking: Fix for UNetWeaver exception generating an exception when SyncListStruct used directly without a derived class.
  • (698732) - Networking: Fix for unserializating NetworkIdentity references failing on a dedicated server.
  • (none) - Networking: Fixed - localdiscovery doesn't work on osx and ios.
  • (704949) - Networking: Fixed the problem with host which was added removed and added back. Last add will finish with error - cannot open socket.
  • (none) - Networking: Fixed the problem with long acks.
  • (701313) - Networking: Fixed UNetWeaver exception when processing large projects, also improved speed with large projects.
  • (697117) - Networking: NetworkTransform now auto-detects CharacterController and pick the correct sync method when added to a game object.
  • (577228) - Physics 2D: Ensure that both friction and bounce are updated when the PhysicsMaterial2D is set on a Collider2D from script.
  • (705901) - Physics 2D: Ensure that Rigidbody2D interpolation or extrapolation do not modify the Transform Z position.
  • (703846) - Physics 2D: Fixed a child Rigidbody2D not correctly updating its position/orientation when it's using interpolation and the parent transform changes.
  • (683964), (696095) - Physics 2D: Fixed various One-Way behaviour issues in PlatformEffector2D.
  • (702907) - Physics 2D: MotorSpeed on SliderJoint2D is now in meters/sec (linear motor) not degrees/sec (not angular motor).
  • (697547) - Physics 2D: Restore the Rigidbody2D linear-velocity after a Rigidbody2D.MovePosition has completed.
  • (701932) - Physics 2D: Rigidbody2D constraints are now based upon the center-of-mass and not the body position.
  • (701202) - Physics 2D: Stop crash if 2D effector is needed but there is none.
  • (697637) - Physics 2D: Stop NullReferenceException when editing PolygonCollider2D.
  • (699169) - Physics: Fixed a crash when trying to report a MeshCollider error while the MeshCollider's SharedMesh was null.
  • (685107) - Physics: Fixed an issue in PhysX where a capsule would fail to collide with a triangle mesh.
  • (441764) - Physics: Fixed an issue in PhysX where capsule-capsule collision detection would erroneously fail when the capsules' axes were almost aligned.
  • (698701), (698702) - Physics: Fixed HingeJoint SetMotor, SetLimits, SetSpring only being set correctly if the said properties was already enabled.
  • (697543) - Physics: Fixed issue in PhysX where PhysX would hang on certain Android devices.
  • (705471) - Physics: Fixed problem in PhysX that would cause SphereColliders to bounce when rolling over the triangles of a MeshCollider.
  • (697849) - Physics: HingeJoint now correctly measures the hinge angle regardless of the initial rotation between the two hinged bodies.
  • (686576) - Revert baked lightmap texture compression quality from best back to normal. Speeds up compositing step.
  • (none) - Samsung TV: Resolved security issue that allowed for arbitrary code execution.
  • (none) - SamsungTV: Fixed security false-positive. The 2013 and 2014 TVs can now be deployed to successfully.
  • (none) - Script Editors: Generate and open solution when External Script Editor is set to Xamarin Studio.
  • (693537) - Serialization: Disallow EditorOnlyPlayerSettings custom properties usage without initialization
  • (none) - Shaders: Fixed broken constant buffer info on OpenGL ES compute shaders with multiple kernels
  • (705485) - Shaders: Fixed GLSL/Metal translation of shaders that use all uppercase SV_TARGET semantic.
  • (670391) - Shaders: Fixed GLSL/Metal translation of shaders that use non-uppercase SV_Position semantic.
  • (704497), (704501) - Shaders: Fixed resource binding regression breaking TC Particles asset store package.
  • (none) - Shaders: Increased timeout for shader import time processing; helps with complex compute shaders.
  • (676585) - Substance: Fix hang/crash when entering playmode with the Profiler window open.
  • (none) - Tizen: Added docs about native plugins on Tizen.
  • (none) - Tizen: Added Tizen to the default platforms list.
  • (none) - Tizen: Fixed plugin loading.
  • (689600) - UI: Number of batches created for UI scene back down to 5.0 number.
  • (697556) - Unified GL: Fix for DX11-style Depth-of-Field image effect: fix boolean variable handling in shader compiler.
  • (none) - Unified GL: Fix for shader errors when swizzles were incorrectly applied to scalar values.
  • (697556) - Unified GL: Fixed a crash when current and pending framebuffers have different attachment counts.
  • (707761) - Update Checker: Wait for Home Window to be closed before checking for updates
  • (none) - VR: Don't update the head pose until Camera has latched the reference frame.
  • (702042) - VR: Enabling / disabling virtual reality support in the editor nolonger affects standalone players.
  • (704263) - VR: Fix issue where GUI could be inadvertently flipped.
  • (none) - VR: Fix issues with VRSettings.loadedDevice
  • (709060), (703989) - VR: Fix rendering issues when camera parent is scaled.
  • (none) - VR: Fixed anti aliasing.
  • (none) - VR: Fixed aspect ratio of game view and standalone window.
  • (705638) - VR: Fixed GearVR crash with Android Personal Edition.
  • (none) - VR: Fixed linear lighting.
  • (706852) - VR: Fixed upgrade issue from 5.1.1 which could result in VR loss of functionality.
  • (none) - VR: Reset camera-to-origin pose on scene load to prevent gross error.
  • (none) - WebGL: Fixed an issue using System.IO.Compression.DeflateStream API.
  • (none) - WebGL: Fixed error messages when refreshing or unloading the page.
  • (none) - WebGL: Fixed WWW Downloads failing if they take longer then 5 seconds.
  • (none) - WebGL: Prevent a runtime error due to the NetworkManager and MasterServerInterface not being correctly stripped.
  • (704102) - Windows Phone 8: Fixed crash when building from Editor.
  • (694021) - Windows Phone 8.1: Fixed simulator build.
  • (703879) - Windows Phone: Fixed build failure when using certain classes from System.Net namespace.
  • (none) - Windows Store Apps: Fixed a rare crash at boot when reading AppxManifest.xml.
  • (693303) - Windows Store Apps: Fixed extended splash screen sizing on wp8.1 and scaled WSA.
  • (709350) - Windows Store Apps/Windows Phone: Fix rare build failure while copying plugins.
  • (none) - Windows Store Apps/Windows Phone: Fix Universal apps build, when project name contains whitespaces
  • (702282) - Windows Store Apps/Windows Phone: Fixed an issue with connecting to server using UNet.
  • (670992) - Windows Store Apps/Windows Phone: Fixed serialization when inheriting from class from another assembly with internal field
  • (699656) - Windows Store Apps/Windows Phone: Fixed variable synchronization between WinRT and Mono players (UNet).
  • (695285) - Xbox One: Disabled standard splash screen on Xbox One, which was showing up as a blank grey screen after the initial OS load splash screen.
  • (690152) - Xbox One: Fixed a bug that could cause game chat to fail when more than two players are involved.
  • (none) - Xbox One: Socket descriptions now require template to function (as of April XDK). The editor GUI has been updated to make templates mandatory for all socket descriptions.
  • (none) - Xbox One: The auto-added port for script debugging now implements a template, and works again. It will also get auto-added if you specify to auto-connect the profiler.

New in version 5.2.0 Beta 2 (July 11th, 2015)

  • Features:
  • Android: Audio - Enable OpenSL for devices that support FEATURE_AUDIO_LOW_LATENCY
  • Physics: Added parameter QueryTriggerInteraction to all physics queries (raycast, spherecast, overlap) to allow any query to override whether or not the query should hit Triggers.
  • Physics: Expose CharacterController.skinWidth parameter to scripts
  • Physics: Support scaling vehicles
  • Changes:
  • IL2CPP: Make engine stripping in iOS/WebGL a separate setting (PlayerSettings.stripEngineCode) from mono stripping levels
  • Improvements:
  • Editor: Improved Export Package window (now uses a proper tree view)
  • Editor: Selection.selectionChange callback triggered when selection changes
  • Graphics: Added a quality setting 'Shadow near plane offset' to allow working around shadow pancaking artifacts
  • Graphics: Implemented object naming for D3D11, so textures will pick up the correct name in external graphics debuggers
  • iOS: Added onBannerFailedToLoad delegate to iOS.AdBannerView
  • WebGL: Resolution set in html file will no longer be overridden by PlayerSettings
  • Windows Store Apps: supported orientations are now populated to manifest
  • Fixes:
  • 2D: Apply active color space onto texture in sprite editor
  • 2D: Clear undos for SpriteEditorWindow when applying or window is closed. Also fix ClearUndo not working for ObjectUndo
  • 2D: Ensure SpriteEditorWindow has the correct texture importer reference when texture importer inspector is applying changes
  • 2D: Materials become transparent because of improper re-setting of material
  • 2D: Replaced assert with warning message to multiple materials in SpriteRenderer
  • 2D: Sprite Editor uses the actual image size for slicing operation. Force Sprite Editor preview to use mipmap if user machine does not support the image resolution
  • AssetBundle: Fix the crash when a scriptable object is referenced from the scene.
  • Connect: Move project and COPPA Lock are disabled when project is locked
  • Editor: Avoid division by zero in zero-sized SphereCollider
  • Editor: Avoid locking when framing terrain
  • Editor: Camera lock keeps working when dragging outside the scene view window
  • Editor: Fix MaterialEditor Shader Warning when importing a package
  • Editor: Scene view picking works when selection base object isn't under the mouse position
  • Editor: Terrain editor hotkeys no longer conflict with text field input
  • GI: Fixed crash in CreateSnapshotForReflectionProbe when trying to rebake reflection probes
  • Graphics: Added extra protection against depth buffer in editor windows being accidentally disabled
  • Graphics: Corrected the viewport used in the editor for image effects when forward rendering + AA
  • Graphics: Fixed a crash compressing an already compressed texture in script
  • Graphics: Fixed crash calling GetPixels with a 0x0 texture
  • Graphics: Fixed error messages with .triangles on empty meshes (coming to 5.1 too)
  • Graphics: Fixed Halo errors when they are on DontDestroyOnLoad objects
  • Graphics: Fixed Halo texture not being centered, causing half-texel clipping on top/right sides
  • Graphics: Fixed spamming error message importing an EXR file as sprite
  • Graphics: Fixed swizzling of BGRA32 texture data on D3D11 and Xbox360
  • Graphics: Fixed swizzling of BGRA32 texture data on OpenGL, OpenGL core and OpenGL ES
  • Graphics: When using COLORMASK and D3D9, the mask was not correctly set for MRT render targets
  • Il2CPP: Avoid boxing of value types during null checks in generic code
  • IL2CPP: Fix crash when using OnCollisionEnter with no parameters
  • IL2CPP: Handle 'void' type parameter.
  • IL2CPP: Handle invalid IL generated by UnityScript compiler for delegates.
  • IL2CPP: Prevent an intermittent crash on ARM64 when an live object is incorrectly reclaimed by the garbage collector.
  • IL2CPP: Throw exceptions when classes are stripped instead of crashing
  • iOS: Added Xcode 6.4 compatibility
  • iOS: Allow to append builds made with different scripting backend
  • iOS: Fixed command line build crash caused by trailing slash
  • iOS: Made sure WWW.bytes gets populated with response even in case of non-2xx status
  • Metal: Fixed shader translation of matrix+scalar, matrix-scalar, matrix/scalar operations (coming to 5.1 too)
  • Metal: Fixed some issues with shader translation of matrices with different precision (coming to 5.1 too)
  • Mono: Double traverse object count to avoid stack overflow when freeing huge amounts of objects.
  • Mono: Fix issue with Socket.Select never returning sockets ready for read on OSX
  • Mono: Fix Unity crash when detecting recursive type definition.
  • Mono: Fixed issue with default property values and object initializers
  • Mono: Fixed monotonic timer overflow to allow usage of timing functions like those in System.Threading with extended uptime
  • MonoDevelop: Fixed Unity crash when inspecting enum value in MonoDevelop debugger.
  • OpenGL core: Fixed crash when using -force-glcore on MacOSX where it's not yet supported
  • OpenGL core: Fixed Radeon HD 2000 - 4000 support
  • OpenGL core: Fixed Sandy Bridge crash, unsupported due to drivers issues, Unity will fallback to Direct3D.
  • OpenGL ES: Fixed Fire HD development player crash
  • OSX Editor: fix RunOpenPanel() with extension non-empty filter
  • Physics: Fix a crash in the HingeJoint when enabling a GameObject containing a HingeJoint where the Connected Body was disabled.
  • Physics: Fix an issue where OnTriggerStay would not be called on children in compound colliders.
  • Physics: Fix problems where QNaNs leaked out of the physics system when using infinites as limit parameters for the ConfigurableJoint.
  • Physics: Fix wheel collider applying the inertia tensor rotation the wrong way, cleaned up gizmo code
  • Physics: Fix WheelCollider not being able to ignore collisions with vehicle body colliders that were added to the already initialised vehicle
  • Physics: Make sure we update scene query flags for inserted wheels because otherwise we may end up colliding with the car's body
  • Physics: Report scene hierarchy path of Collider when setting a transform that contains non-finite numbers.
  • Physics: Update docs to mention the limitation on the maximum colliders per cloth instance
  • Script Editors: Generate and open solution when External Script Editor is set to Xamarin Studio.
  • Scripting: Fix potential crashes during domain reloads when user code throws NullReferenceException in AppDomain.DomainUnload / AppDomain.ProcessExit events
  • Serialization: Fixed incorrect clamping of LayerMask when set through SerializedProperty.intValue
  • WebGL: Fix iframe gaining focus when clicking on WebGL canvas
  • WebGL: Fix mouse button state after double clicks
  • WebGL: Fix standard shader usage in Safari
  • WebGL: Make AudioMixer work for controlling volume
  • WebGL: Normalize scroll wheel inputs to give more consistent results
  • Windows Phone: do not show Portrait Upside Down option in player settings (both 8.0 & 8.1)
  • Windows Store Apps: reduce extended splash screen blink
  • 5.2-only Changes and Regression Fixes:
  • Editor: Fix disabled items in color picker context menus
  • Editor: Fix TextField forcing cursor to be in view
  • Windows Phone 8: Can be built correctly again

New in version 5.1.1 Patch 4 (July 9th, 2015)

  • Fixes:
  • (708137) - iOS/IL2CPP: Avoid boxing of value types during null checks in generic code.
  • (697860) - iOS/IL2CPP: Fixed codegen issue when using a field type a struct that has no instance fields.
  • (706613) - iOS/IL2CPP: Handle invalid IL generated by UnityScript compiler for delegates.
  • (708137) - iOS/IL2CPP: Speed up generic method calls on value types.
  • (673868) - MonoDevelop: Fixed Unity crash when inspecting enum value in MonoDevelop debugger.
  • (699556) - MonoDevelop: Fixed Unity crash when using the debugger to inspect a property that only has a getter that returns a struct. E.g. Sprite.bounds.
  • (none) - Script Editors: Generate and open solution when External Script Editor is set to Xamarin Studio.
  • (707761) - Update Checker: Wait for Home Window to be closed before checking for updates
  • (704263) - VR: Fix issue where GUI could be inadvertently flipped.
  • (none) - VR: Fix issues with VRSettings.loadedDevice
  • (709060), (703989) - VR: Fix rendering issues when camera parent is scaled.
  • (709350) - Windows Store Apps/Windows Phone: Fix rare build failure while copying plugins.
  • (none) - Windows Store Apps/Windows Phone: Fix Universal apps build, when project name contains whitespaces

New in version 5.2.0 Beta 1 (July 4th, 2015)

  • Changes:
  • Android: ETC2 is now the default compressed texture format for RGBA textures instead of RGBA4444.
  • Editor: Asset Store window is now a part of the default window layout. Docked behind the scene & game views.
  • Editor: Remove legacy OSX corner window resize behaviour.
  • OpenGL: Modify -force-glcoreXX to behave like -force-glesXX trying to run this specification of OpenGL and taking advantage of all available extensions.
  • Reflection Probes: Are rendered in a separate deferred pass when using deferred shading. See Improvements section entry for details.
  • Shaders: Can not create fixed function shaders using "new Material(string)" anymore. Shaders must come from assets or be fully precompiled in the editor.
  • Shaders: Changed UnityGlobalIllumination, Unity_GlossyEnvironment, FragmentGI function signatures. If you have custom shaders that use Unity's PBR please check UnityGlobalIllumination.cginc, UnityStandardBRDF.cginc, UnityStandardCore.cginc respectively.
  • Substance: The communication between Unity's main thread and the Substance thread was completely rewritten to better decouple Substance processing from Unity's regular operations and to avoid stalling the main thread. All crashes and hangs at build time, level load/change time, playmode entry/exit should be gone.
  • Terrain: Changed the default hotkey bindings for terrain tools to F1-F6.
  • UI: CanvasRenderer can now take multiple Materials. Like a MeshRenderer each material refers to a SubMesh of the configured Mesh.
  • UI: CanvasRenderer now takes a Mesh instead of List this allows for the use of imported meshes as part of the UI.
  • WebGL: Make release builds always fully optimized.
  • Improvements:
  • 2D: Allow sprites to be dragged into scene view in 3D mode. Add temporary GO while dragging for visual feedback similar to when dragging prefabs/model into scene view
  • 2D: Frame selected command (F) now works in the sprite editor window for the selected sprite rect.
  • 2D: Implement undo functionality for sprite editor window's slice menu.
  • 2D: New grid slicing method that uses column and row count.
  • 2D: Pivot snapping on sprite frame rect in sprite editor window only happens when Ctrl is pressed while mouse dragging the pivot handle.
  • 2D: Provide a custom pivot field in the slicing menu for the sprite editor window.
  • 2D: Zooming on sprite editor window’s texture will zoom towards mouse cursor.
  • Android: Experimental support for IL2CPP scripting backend.
  • Asset Loading: Improved performance of LoadAssetAsync. Allow multiple AsyncOperations to be completed in a single frame.
  • Audio: Audio clip "Force to Mono" now has an option for applying normalization after downmix.
  • Editor: Added MonoDevelop Solution Properties toggle to External Tools to disable writing of MonoDevelopProperties section to .sln files.
  • Editor: Added script API for RunOpenPanelWithFilters.
  • Editor: Better error message when "The classes in the module cannot be loaded." is thrown.
  • Editor: Improved Compute Shader inspector; now lists errors & warnings similar to regular shader inspector.
  • Editor: Improved shader inspector performance when there are many errors shown.
  • Editor: Make sure ObjectField and Object Selector show icons for gameobjects and prefab.
  • Editor: More "create new shader" templates under assets create menu (PBS surface shader, unlit shader, image effect shader).
  • Editor: Render cubemap preview instead of icon in large preview ObjectField.
  • Graphics: Texture3D sizes up to 2048 are now allowed (previously the limit was 1024).
  • Editor: When in 2D mode, the camera bounds for the main camera is always visible when it is in orthographic mode.
  • GI: Added profiling marker for light probe interpolation.
  • GI: Added progress bar for GI Cache -> Clean Cache progress status.
  • GI: Set lightmap texture compression default quality to Normal. Before it was set to Best. Texture compression time in compositing job went down from 700 seconds to 28 seconds for an ETC compressed lightmap.
  • Graphics: Added hexadecimal code support to Color struct (TryParseHexString, ToHexStringRGB and ToHexStringRGBA).
  • Graphics: Added options for opaque object sorting control, see Camera.opaqueSortMode (coming to 5.1 too).
  • Graphics: CPU side rendering performance optimizations across the board. We've seen between 5% and 30% lower CPU cost for rendering, depending on the setup.
  • Graphics: Particle rendering optimizations for VR, with speed improvements varying from 15% to 50% depending on geometry type. The main change being that particle rendering no longer modifies the view matrix. This enables graphics lists to be shared between left/right eyes, which can lead to approx 40% reduction in total CPU usage when rendering to stereoscopic displays.
  • Graphics: Sorting of the renderable objects is now multithreaded.
  • Graphics: Windows Store Apps 8.1 and Windows Phone 8.1 now support MSAA.
  • iOS/IL2CPP: Enable generic sharing for types and methods whose generic parameters have constraints.
  • iOS/IL2CPP: Enable MakeGenericType and MakeGenericMethod for types and methods whose generic parameters have constraints.
  • iOS/IL2CPP: Improve conversion time of il2cpp, especially in generics heavy code.
  • iOS/IL2CPP: Load embedded resources in memory-mapped files so that the memory used by those embedded resources is marked as constant.
  • Linux: Improved rendering performance by using a separate thread for OpenGL calls, just like on Windows/Mac.
  • Mecanim: Renamting Animator parameters updates transitions using those parameters.
  • Mecanim: 3ds Max Auto Mapping and T-Pose. When setting an Avatar Animation Type to Humanoid, the Auto-Configure will try to detect if it is a Biped. If the hierarchy and naming of Biped is found, then default mapping and t-pose for biped will be used. Translation DoF will also be automatically activated for that avatar. The avatar can still be re-configured from this point, but usually default Biped mapping, t-pose and translation DoF will give the best results. Note that only Bipeds with no “Triangle Pelvis” and using default naming are supported.
  • Mecanim: Added AnimatorStateInfo.speed and AnimatorStateInfo.speedMultiplier.
  • Mecanim: Added the name of the controller to Console errors that are generated for invalid parameters in blend trees.
  • Mecanim: Added the possibility to create AnyState Transitions to the entry node of a state machine. In a sub state machine, this is essentially the same as creating an AnyState Transition to a sub state machine from the parent state machine. This also adds a straightforward way to add an AnyState Transition to the top-level state machine, which was previously only possible through roundabout methods.
  • Mecanim: Added tooltips to blendtree slides.
  • Mecanim: Added tracking of missing or invalid StateMachineBehaviours in the StateMachine and State inspectors. Missing or Invalid StateMachineBehaviours shouldn't disappear anymore from the inspector.
  • Mecanim: Adding a child blend tree will use the default blend tree parameter, not the blend parameter of the parent.
  • Mecanim: Alt-drag works for BlendTree graph view
  • Mecanim: Can create new clip from selected clip/take in Animation importer
  • Mecanim: Creating a blend tree in a controller with no float parameter will now automatically add a new float parameter named Blend.
  • Mecanim: Expose Animator.IsInitialized in scripting API.
  • Mecanim: Import humanoid animation now reports warnings in “Animations Inspector” instead of flooding the Console.
  • Mecanim: Import humanoid animation warnings have been cleaned and improved. A “Warning” summary box has been added at the top of Animation Inspector to prevent warnings to be left unnoticed. Warnings are reported per take when animation file contains multiple takes. Warnings have been added when in-between humanoid bones rotation differs in Source Avatar and Animation. Text has been reformatted so that is easier to consult the warning report.
  • Mecanim: Improved animator warning for API function Play/CrossFade. Warning should display which animator is throwing the error.
  • Mecanim: Improved default IK Hint for legs. Default IK Hint for knee now points towards foot direction. It gives a more natural IK solving for leg when IK correction needed gets bigger.
  • Mecanim: Improved display of transition previewer.
  • Mecanim: Mecanims Humanoid animation jitters - A.K.A. Humanoid Oversampling. For some animations, usually those with fast motion, the Humanoid interpolation may differ from original Euler rotation interpolation. In those rare cases, use animator.humanoidOversampling to increase sampling rate. ModelImporterHumanoidOversampling.X2 up to X8 can be used… Usually 2 will do the job! Default is X1 or no oversampling. Key reducing can be used conjointly to only keep Humanoid animation oversampled keys where it is needed while reducing asset size.
  • Mecanim: Retargeting quality for humanoid import animation. The retargeting quality compares original generic animation with humanoid retargeted animation. An average or maximum position error greater than 1.0 “normalized” mm will be reported. An average or maximum error greater than 0.5 degree will be reported. The time (and frame number) in full take of maximum errors is also reported. The position and rotation errors are reported per human body parts. The Retargeting Quality report can be turned on or off in Import Message foldout of Animation Inspector. It is off by default as it makes file import slower.
  • Mecanim: SetBoneLocalRotation. Animator.SetBoneLocalRotation(Quaternion r) let you modify the local rotation of humanoid bone during IK passes/OnAnimatorIK() callback. It can be used to modify the pose of a humanoid avatar after Animation Blending, but that will still be taken in account by IK Solving. Ex: Adjust Hips and Spine rotation to drive lower and upper body independently on top of animation.
  • Mecanim: Show frame number in avatar previewer.
  • Mecanim: Translation DoF for Humanoid. Some animation files come with translation animation on humanoid bones. For example, it is the case with 3DS MAX Biped that comes with translation on 1st Spine bone. Translation DoF can be activated on those humanoid avatar to convert translation animation to retargetable translation DoFs. Translation DoF affects Spine, Shoulders, Upper Legs and Neck bones. Translation DoFs usually represent small amount of translation that improves retargeting quality. Translation DoF may also be used to improve retargeting quality when animation has more than two animated spine bones. Translation DoF can be activated in Muscle & Setting tab of Humanoid configure window.
  • Merge Tool: Fix merging of scenes/prefabs with out of order objects
  • Metro: AppCallbacks.LoadGfxNativePlugin has been deprecated. All plugins that are in the project and set to build for a given platform are now loaded automatically. The function still exists and does nothing, but it will be removed in a future Unity version.
  • Networking: Added OnLobbyServerPlayersReady callback to the NetworkLobbyManager to allow users to perform custom behaviour when all the players in the lobby are ready.
  • Networking: Added support for client-side authority for non-player objects.
  • The new function NetworkServer.SpawnWithClientAuthority(GameObject obj, NetworkConnection conn) allows authority to be assigned to a client by its connection when an object is created. This would typically be used in a command handler for a client asking to spawn an object, then the client's connection would be passed in. For example:
  • [Command]
  • void CmdSpawn()
  • var go = (GameObject)Instantiate(otherPrefab, transform.position + new Vector3(0,1,0), Quaternion.identity);
  • NetworkServer.SpawnWithClientAuthority(go, base.connectionToClient);
  • For setting the authority on objects after they are created, there are the new functions AssignClientAuthority(NetworkConnection conn) and RemoveClientAuthority(NetworkConnection conn) on the NetworkIdentity class. Note that only one client can be the authority for an object at a time. On the client that has authority, the function OnStartAuthority() is called, and the property hasAuthority will be true.
  • The set of objects that is owned by a client is available in the new property NetworkConnection.clientOwnedObjects which is a set of NetworkInstanceIds. This set can be used on the server when a message is received to ensure that the client that sent the message actually owns the object.
  • When a client disconnects, the function DestroyPlayersForConnection now destroys all the objects owned by that connection, not just the player object. Objects which have their authority set to a client must have LocalPlayerAuthority set in their NetworkIdentity.
  • Previously only player objects could have local authority, which meant that the NetworkTransform (and other components) could only be used for controlling the single player object for a connection on a client. With these changes it is possible to have multiple objects on a client that are locally controlled.
  • Networking: Added support for network [Command] calls from non-player objects with authority on a client. Since in 5.2 clients can have authority over non-player objects using NetworkServer.SpawnWithClientAuthority() or NetworkIdentity.AssignClientAuthority(), network Commands were extended from being allowed from just the player object to any object that is controlled by a client.
  • Networking: Added the ability for the NetworkTransform to validate on the server, the movement of authoritative client objects. There are now clientMoveCallback delegates on the NetworkTransform that allow user code to process 2D and 3D movement updates from clients before they are applied. This callback code can reject movement requests completely or modify the movement data. When used in conjunction with client-side movement checks this provides a more secure movement model for multiplayer games.
  • OpenGL: Added -force-clamped prevents trying to use all available extensions when used together with -force-glcoreXX or -force-glesXX
  • OpenGL: Added -force-gles editor and standalone player to automatically run with the best version of ES supported by the platform
  • OpenGL: Fallback gracefully to Direct3D when requesting OpenGL/ES with -force-gl** when the platform doesn't have a good enough OpenGL support.
  • OpenGL: Fallback gracefully to OpenGL when requesting OpenGL ES but it's not supported (all AMD GPUs, older than Intel IvyBridge IGP)
  • Reflection Probes: when using Deferred Shading, the reflection probes are now rendered per-pixel (instead of each object only being affected by one or two probes). This will allow doing SSRR (screen space raytraced reflections) properly soon. More details in this document.
  • Scripting: Added Cubemap.mipmapCount
  • Shaders: "Procedural Skybox" shader now has selectable options for Sun Disk: None (fastest), Simple (should be close to the current sun disk), High Quality.
  • Shaders: Make it possible to use UNITY_SAMPLE_SHADOW when SHADOWS_NATIVE is not explicitly defined.
  • SpeedTree: Negated tangent vectors to match those in the SpeedTree Modeler.
  • SpeedTree: Now shader has less variants due to the merge of some geometry types.
  • Stacktrace logging: Allow to log full (native/managed) stack trace when log is printed, the option is available in the console window in top right corner popup menu. Also check Application.stackTraceLogType API. Works in Editor and Windows/OSX standalone players.
  • Substance: "visibleIf" expressions set in Substance Designer are now properly evaluated (for inputs only) and inputs are now displayed or hidden accordingly.
  • Substance: Dynamic parameter in Substance graphs are now evaluated using native code instead of bytecode on Windows / OSX / Linux, resulting in faster texture generation.
  • Substance: Dynamic parameter in Substance graphs are now evaluated using native code instead of bytecode on Windows / OSX / Linux, resulting in faster texture generation.
  • Substance: Feature parity with Substance Designer 5.1.
  • Substance: Runtime generation of ProceduralMaterials is now supported on PS4 and XboxOne.
  • Terrain: A warning message will be printed onto the console window if there are too many vertices in a detail patch. Increased the vertex limit to from 50k to 65k.
  • Terrain: Expose TerrainData.SetHeightsDelayedLOD and Terrain.ApplyDelayedHeightmapModification to allow users to achieve high frame rates while doing interactive terrain editing
  • Terrain: Made it easier to work with height maps created by World Machine.
  • The default value of Byte Order option is now Windows (little endian).
  • Added an option to vertically flip the height map when importing or exporting a raw file.a
  • Terrain: Now 4097x4097 raw heightmap can be imported.
  • Terrain: Now a TerrainData object embedded into a scene (created by script) allows scene objects being selected as tree prefabs.
  • Terrain: Renamed "Wind Settings" label to "Wind Settings for Grass".
  • Terrain: Trees painted on the terrain now are scaled by the prototype's transform scaling.
  • TrueTypeFontImporter: References to other font assets to be used in the project as fallback are now shown in the TrueTypeFontImporter inspector
  • UI: Multithreaded UI system backend. The UI system batching code is now multithreaded this leads to a performance increase of up 4x (in our stress test scenes).
  • Unity Connect: State machine for project Info
  • Version Control: Bottom most version control info bar in inspector shows separete state for meta file if different from asset.
  • Version Control: Icon overlays for version control is surrounded by parenthesis in case an asset and its meta file's state is out of sync
  • Version Control: Reduce unnecessary checkouts
  • Version Control: Tooltip on info bars in inspector showing asset/meta file state
  • WebGL/IL2CPP: Improved stripping resulting in smaller build sizes
  • Windows Store/Phone will now show animated Unity splashscreen instead of the static one.
  • Windows Store Apps: InvokeOnAppThread/InvokeOnUIThread now will not cause deadlock, when called with sync=true multiple times in one chain
  • Xbox One: Unity now builds with the June 2015 XDK. You must install the June 2015 XDK on your PC and use the matching or a later recovery on your console.
  • Fixes:
  • 2D: After applying settings in sprite editor window, deselect any sprite rect
  • 2D: Change text for Point filter format from Point to Point (no filter)
  • 2D: Clamp sprite pivot values to 0..1 instead of accepting any value (including infinity)
  • 2D: Do not trim sprite when Shift-T is pressed while entering name in Sprite Editor
  • 2D: Fix NullReferenceException when creating a new sceneview
  • 2D: Fix pointer enter/exit detection order with sorting layers
  • 2D: Hide PerRendererData shader properties in inspector as property is retrieved from the renderer
  • 2D: Increase responsiveness of Sprite Editor in MacOSX
  • 2D: Non-sprite textures will display in sprite editor window with no options
  • 2D: Quit 2D collider editing mode when user reset the collider component
  • 2D: Reimport texture if texture importer is reset
  • 2D: Remove a sprite rect if the selected sprite rect is empty when trimmed
  • 2D: Set correct zoom values for zoom bar in SpriteUtilityWindow
  • 2D: Set SpriteRenderer to dirty when color is set
  • 2D: SpriteRenderer will have light and reflection probes turned off by default. They can still be turned on manually.
  • 2D: Update sorting layer APIs and prevent setting invalid sorting layer ids to renderer
  • 2D: View tool (panning, rotating, zooming) in the scene view will not manipulate collider control point even in collider editing mode
  • Animation Window: Animated particle properties are now show up in red in Inspector
  • Animation Window: Animated property values are now updated in Particle Editor when scrubbing in Animation Window
  • Animation Window: Animation curve now updates after changing controller
  • Animation Window: Ctrl+A now selects all keys and properties
  • Animation Window: Highlight is now blue when selecting all properties from animation window
  • Animation Window: It’s now possible to move current time before the first key
  • Animation Window: Replacing existing animation now actually replaces the asset instead of creating new one with unique name
  • AssetBundle: Check if the manifest AssetBundle name has conflict with the user predefined AssetBundle name.
  • AssetBundle: Fix the issue that AssetBundle with packed textures includes source textures in addition to the atlased version.
  • AssetBundle: Fix the issue that Resources.UnloadUnusedAssets() doesn't unload fonts if they were loaded from an asset bundle
  • AssetBundle: Fix the issue that search result window won't get updated when the AssetBundle name is changed.
  • AssetBundle: Fix the wrong size breakdown in the Editor.log when building AssetBundles.
  • AssetBundle: Fixed issue that AssetDatabase.GetAssetPathsFromAssetBundle only returns assets explicitly included in the AssetBundle
  • AssetBundle: Fixed issue that AssetDatabase.GetAssetPathsFromAssetBundleAndAssetName returns paths in random order
  • AssetBundle: Throw a warning when getting hash from AssetBundleManifest with a non-existing bundle name.
  • Assets Loading: Fix non-first scene loading from streamed asset bundle with multiple scenes
  • Assets Management: Enabled SSE2 optimizations on OSX x64 (Editor and Players)
  • Assets Management: Fixed quit with 'Fatal Error' when out of memory during importing large cubemap with Soft Edges enabled
  • Audio: FSBTool crashed during audio import on Windows XP / N platforms and very short audio files.
  • Connect: Error when enabling Ads if you are part of more than one organization.
  • Connect: Need to have owner privilege to enable/disable Ads/Analytics.
  • Core: Fixed hang when passing large arrays to the Undo system
  • Crunch texture compression: Support for 8192x8192 textures (64-bit editor builds only)
  • DX11: Don't spam refCount==0 error messages when some 3rd party tools hook into DX11 (will backport to 5.1 too).
  • DX11: Fixed non-native resolution fullscreen being too dark when in Linear color space (will backport to 5.1 too).
  • Editor: Ensure selected asset is revealed in project browser when changing layout
  • Editor: Fix asset store preview blinking in the project browser
  • Editor: Fix camera frustum gizmo not properly showing custom projection matrices.
  • Editor: Fix CapsuleCollider gizmo handles are offset by a 90 degree angle
  • Editor: Fix caret did not move in ObjectSelector when using left/right arrow keys (only when no items were selected)
  • Editor: Fix creating a script from the right click menu throws "Rename not started" error
  • Editor: Fix creating new assets after deletion of assets would throw error
  • Editor: Fix Cursor flickering in editor while play testing if cursor.visible = false
  • Editor: Fix Cursor.visible does not work until the game view is focused
  • Editor: Fix error when renaming items in project and hierarchy views
  • Editor: Fix Hierarchy type searching so 't:script' or 't:monobehaviour' shows all game objects with scripts attached
  • Editor: Fix icons in Project Browser 'jumping' when changing view
  • Editor: Fix multi-object selection of reflection probe cubemap to not incorrectly set same cubemaps
  • Editor: Fix not being able to focus tabs after changing "Output" on Audio Source
  • Editor: Fix occasional trash bypassing when deleting assets on Windows.
  • Editor: Fix popped out container window not able to move when two editor windows are stacked one above/next to the other.
  • Editor: Fix possible data loss on Windows when renaming folder with locked files
  • Editor: Fix rare case of invalid folder path shown in the Project Browser
  • Editor: Fixed bad scene view performance when lots of light gizmos are drawn (will backport to 5.0/5.1).
  • Editor: Fixed bug which caused the Move Tool, when used on an object with a negatively scaled parent, to snap to whole units.
  • Editor: Fixed crash when selecting '~' as a project directory.
  • Editor: Fixed occasional exception thrown when creating an asset/folder under Assets folder in Project pane with One Column Layout.
  • Editor: Fixed Scene View audio play toggle not returning to previous state after exiting Play Mode.
  • Editor: Fixed Scene View camera moving slightly while holding down right mouse button.
  • Editor: Make sure GUISkin.current is set to GameSkin before invoking any user script.
  • Editor: Search correct 32/64bit program files on windows for diff tools
  • Fixes
  • GI: Fix crash following lighting builds in GetSystemTexture.
  • GI: Fixed bake getting stuck on terrains.
  • GI: Fixed issue with baking getting stuck on the bake indirect stage.
  • GI: Fixed itermittent crash related to realtime lightprobes.
  • GI: Fixed radiosity core corruption error when baking lightmap.
  • Graphics: Failed to initialize graphics crash when forcing GLES or GLCORE on a Mac.
  • Graphics: Fix for asset bundle content changes between subsequent generations due to uninitialised vertex buffer
  • Graphics: Fixed an issue where setting RenderSettings.reflectionIntensity via script had no effect on the scene.
  • Graphics: Fixed assertion when LODGroup is scaled to zero.
  • Graphics: Fixed bug when loading single channel JPEGs using Texture2D.LoadImage.
  • Graphics: Fixed issue in Texture2D.LoadImage when loading indexed PNG images that contain an alpha channel.
  • IL2CPP: Allow Type.GetType(string) to return a proper value on 32-bit ARMv7 builds.
  • IL2CPP: Fix alphanumerical string sorting in cases where unicode comparison table was required.
  • IL2CPP: Generate correct C++ code for the IL add opcode with pointers in unsafe C# code.
  • IL2CPP: Prevent a C++ compiler error in generated code which happens when a pointer is assigned a value which is a uintptr_t in converted unsafe C# code.
  • IL2CPP: Prevent a crash in the NetworkManager initialization when the Stipping Level option is not set to Disabled.
  • IL2CPP: Prevent AES encryption types from being incorrectly stripped when they are used.
  • IL2CPP: Prevent the exception: "System.ArgumentException: enumType is not an Enum type." from occurring for a generic type used with an enum type argument.
  • IL2CPP: The Preserve attribute can now be used in the managed code for an assembly to preserve all of the code in an assembly.
  • IL2CPP: The preserve attribute can now be used with the assembly element in a link.xml file to preserve all of the code in an assembly.
  • Import: If importing an FBX, the editor may crash during import. Subsequent reload of project afterwards will be fine.
  • iOS/IL2CPP: Add support for PreserveAttribute to prevent classes, methods, fields and properties from being stripped in IL2CPP.
  • iOS/IL2CPP: Avoid deadlock during UnloadUnusedAssets.
  • iOS/IL2CPP: Correct an exception during code conversion which has the error message "Invalid global variables count" when converting some UnityScript assemblies.
  • iOS/IL2CPP: Ensure that GetCurrentMethod returns the proper value, even when the generated native method is inlined.
  • iOS/IL2CPP: Fix a crash which occurs when Ldvirtftn opcode is used on a non-virtual method.
  • iOS/IL2CPP: Fix a deadlock that can occur during class initialization.
  • iOS/IL2CPP: Fix a rare case when bytecode stripper would incorrectly strip wrong overloaded generic virtual method.
  • iOS/IL2CPP: Fix IL2CPP generated code in if (...) block if the condition operand was an IntPtr.
  • iOS/IL2CPP: Fix IL2CPP generated marshaling code for marshaling IntPtr into any other primitive type.
  • iOS/IL2CPP: Fix marshaling arrays of structs marked with [Out] attribute.
  • iOS/IL2CPP: Fixed ConstructorInfo.Invoke() returning null for Nullable types.
  • iOS/IL2CPP: iOS/IL2CPP: Correct RPC implementation for the UnityEngine.Networking namespace.
  • iOS/IL2CPP: Prevent a C++ compiler error in generated code about an undeclared identifier with the test "Unused local just for stack balance".
  • iOS/IL2CPP: Prevent a runtime exception with IL code in an enumerator's MoveNext method when the enumerator's return type is a constrained generic type.
  • iOS/IL2CPP: Prevent an exception during code generation when the default value of a field is not the same type as the field.
  • iOS/IL2CPP: Prevent the player build process from using older generated C++ source files from a previous build.
  • iOS: Add a limit for iOS acceleration event queue.
  • iOS: Add support for Xcode 6.3.2 and Xcode 7 beta.
  • iOS: Added additional Japanese fallback font.
  • iOS: Added iOS Thai font fallback for 8.2.
  • iOS: Don't add header files to IL2CPP Xcode project.
  • iOS: Don't fail fatally when Unity Xcode plugin can't be installed.
  • iOS: Don't include managed DLL files in IL2CPP build.
  • iOS: Don't wait for Xcode if our plugin is not compatible.
  • iOS: Fixed crash in WebCamTexture.GetPixel()
  • iOS: Fixed IL2CPP project append.
  • iOS: Fixed stuck "Launch screen type" setting.
  • iOS: Fixed value of InputField.text when another field is being edited with keyboard.
  • Known Issues
  • Linux: Fix applying VSync and antialiasing changes without changing quality level.
  • Linux: Make window size locking more WM-agnostic
  • Mecanim: Cutting a clip in FBX importer messes up other clips.
  • Mecanim: Deprecated legacy culling modes BasedOnUserBounds and BasedOnClipBounds
  • Mecanim: Fixed "Cleaning up leaked objects" message after using the Avatar Configure Tool.
  • Mecanim: Fixed a bug where it would not be possible to animate the second material on a meshrenderer.
  • Mecanim: Fixed a bug where the lock button on the Animator Window would reset after play mode.
  • Mecanim: Fixed a case where going to play mode would prevent undo operations from being pushed.
  • Mecanim: Fixed an editor performance issue with large blend trees.
  • Mecanim: Fixed an error where transitions would disappear if a controller was edited without saving immediately after upgrade from 4.x to 5.x.
  • Mecanim: Fixed an undo error in the blend tree inspector.
  • Mecanim: Fixed an undo related crash.
  • Mecanim: Fixed Animator.bodyPosition and Animator.bodyRotation documentation.
  • Mecanim: Fixed asserts with empty controller.
  • Mecanim: Fixed Asset Store preview of Humanoid character.
  • Mecanim: Fixed broken blendtrees with identical negative blend values.
  • Mecanim: Fixed broken copy paste of sub-statemachines
  • Mecanim: Fixed changing controller files on disk not reloading blendtree editor correctly
  • Mecanim: Fixed continuity of FixedTime transitions
  • Mecanim: Fixed crash when calling SampleAnimation in Standalone
  • Mecanim: Fixed crash when editing an Animation in the AnimationWindow with an AnimatorOverrodeController
  • Mecanim: Fixed false binding error on rig with Optimized Hierarchy On.
  • Mecanim: Fixed firing of multiple events at time 0
  • Mecanim: Fixed GetStateMachineTransitions leaking memory.
  • Mecanim: Fixed renaming of states after exiting play mode.
  • Mecanim: Fixed rotating view with mouse in the Avatar Configure Tool.
  • Mecanim: Fixed stateMachineBehaviourEditor not handling correctly invalid case where script derive from monobehaviour
  • Mecanim: Fixed sub-statemachine naming scheme.
  • Mecanim: Fixed synchronization issue when you have both Animator's parameter window open.
  • Mecanim: Fixed transition list temporarily loses its values on Editor re-compile
  • Mecanim: Fixed undo of synced layers delete.
  • Mecanim: Prevented AnyState transitions to "Up" state machines from sub state machines because they were inconsistent.
  • Mecanim: Removed invalid multiple preview from the ModelImporter Animation sub-editor.
  • Memory: Fixed memory leak in Graphics.DrawMesh when running standalone player with -batchmode
  • Memory: Fixed memory leak in standalone player with empty scene
  • Memory: Fixed memory leak when running standalone player with -batchmode
  • MonoDevelop: Fixed Unity crash when using the debugger to inspect a property that only has a getter that returns a struct. E.g. Sprite.bounds.
  • Networking: Fixed NetworkTransform not updating if only velocity has changed
  • Networking: Fixed UNetWeaver exception processing large project with Editor scripts
  • Networking: NetworkTransform not syncing character controller rotation when not moving.
  • OpenGL: Always rely GL_EXT/IMG_multisampled_render_to_texture when available to save a lot of bandwidth when using MSAA.
  • OpenGL: Fixed BGRA texture format support
  • OpenGL: Resolved various invalid operation / enum errors due to platform compatibility issues.
  • Physics: Ensure that both friction and bounce are updated when the PhysicsMaterial2D is set on a Collider2D from script.
  • Physics: Ensure that Rigidbody2D interpolation or extrapolation do not modify the Transform Z position.
  • Physics: Fixed a child Rigidbody2D not correctly updating its position/orientation when it's using interpolation and the parent transform changes.
  • Physics: Fixed various One-Way behaviour issues in PlatformEffector2D.
  • Physics: MotorSpeed on SliderJoint2D is now in meters/sec (linear motor) not degrees/sec (not angular motor).
  • Physics: Restore the Rigidbody2D linear-velocity after a Rigidbody2D.MovePosition has completed.
  • Physics: Rigidbody2D constraints are now based upon the center-of-mass and not the body position.
  • Physics: Stop crash if 2D effector is needed but there is none.
  • Physics: Stop NullReferenceException when editing PolygonCollider2D.
  • Project Import: Fixed Special folder "~" functionality
  • Reflection Probes: Per-pixel (deferred) reflections doesn't use weights for blending.
  • Scripting: Fixed the issue that AssetBundleManifest.GetAssetBundleHash() returns wrong hash.
  • Serialization: Fix crash when selecting "Scripting Backend" option in Other Settings
  • Serialization: Fixed not being able to serialize a field called "Base"
  • Serialization: References to "Resources/unity_builtin_extra" should get preloaded.
  • Shaders: Fixed broken constant buffer info on OpenGL ES compute shaders with multiple kernels
  • Shaders: Fixed GLSL/Metal translation of shaders that use all uppercase SV_TARGET semantic (will backport to 5.1 too).
  • Shaders: Fixed GLSL/Metal translation of shaders that use non-uppercase SV_Position semantic (will backport to 5.1 too).
  • Shaders: Fixed resource binding regression breaking TC Particles asset store package
  • Shaders: Fixed some cases of objects with unsupported shaders not rendering at all (instead of rendering in pink).
  • Shaders: Fixed some loop constructs being translated wrongly for GLSL/Metal.
  • Shaders: Increased timeout for shader import time processing; helps with complex compute shaders.
  • Standard Assets: Added user-exposed option to disable 'no fog on skybox pixels' behaviour in GlobalFog effect.
  • Substance: Clarified the documentation for .cacheSize.
  • Substance: Fix a rare race condition which would cause the Substance thread to process erroneous data, leading to a crash.
  • Substance: Fix console spam when a visibleIf expression uses an input that is not found in the graph.
  • Substance: Fixed caching-related regression where the cache would neither be read at startup nor written afterwards.
  • Substance: Improved the handling of input groups in the inspector (a single group can no longer be split into several input groups).
  • Substance: It is no longer possible to change the size of a Substance asset that was published with a fixed size, a warning is displayed in the inspector instead.
  • Terrain: Fixed a rendering issue with Tree Creator trees in deferred paths.
  • Terrain: Fixed crash when reimporting the prefabs that are selected as tree prototypes on an active terrain.
  • Terrain: Fixed incorrect lighting effect on grass when rendered in deferred path.
  • Terrain: Fixed occasional editor error message when a terrain is selected.
  • UI: Fixed issue in UI components Slider, Outline, Shadow & Position as UV1 not updating when their values are animated.
  • UI: UnityEngine.UI is correctly referenced once again when building to player.
  • Version Control: Grey out outgoing changeset 'delete empty changeset' context menu item when changeset is not empty.
  • WebGL: Correctly return errors on WWW downloads for invalid urls
  • WebGL: Don't rely on MSVCRT in build toolchain
  • WebGL: Make AudioClip.Create print an error when used with the stream option in WebGL
  • WebGL: Make Directory.Create and Directory.GetCurrent work correctly
  • WebGL: Make state created in Application.ExternalEval persistent between calls, like in the web player
  • WebGL: Make sure WebGL builds will not require any calls to JavaScript "eval" to run, as that is not permitted in some environments
  • WebGL: Remove non-functional icon settings from WebGL build settings
  • WebGL: UI non-functional
  • WebGL: When Application.runInBackground is enabled, run the WebGL update loop at least once a second, even when the tab is not visible
  • Windows Phone 8.1: fix simulator build
  • Windows Phone 8.1: OnApplicationFocus and OnApplicationPause will be called now, same as on other mobile platforms.
  • Windows Phone 8/8.1: Texture anisotropic filtering should work as expected now.
  • Windows Phone 8: Shader global params will be correctly reset when the application is resumed.
  • Windows Phone: fix SerializationWeaver failure when using enums from .NET framework
  • Windows Store Apps/Windows Phone: AvatarBuilder.BuildHumanAvatar should work correctly now.
  • Windows Store Apps/Windows Phone: fix serialization with internal field from another assembly
  • Windows Store Apps: Fix a memory leak which happened on quality settings change.
  • Windows Store Apps: Fix a rare crash at boot when reading AppxManifest.xml.
  • Windows Store Apps: fix build for editor using Universal SDK
  • Windows Store Apps: Fixed framerate drop when "Low Latency Presentation API" is enabled.
  • Windows Store Apps: set orientation from player settings on startup
  • Windows Store Apps: support jpeg files for visual assets
  • Windows Store Apps: Universal apps should build correctly when project name contains white spaces.
  • Windows Store/Phone: Fixed Input.gyro.useracceleration to not include gravity.
  • Windows: Fixed window size when switching back from fullscreen
  • WP8: Deploying to device fails.

New in version 5.1.1 Patch 3 (July 4th, 2015)

  • Improvements:
  • Animation: Group material color channel curves. Removing one curve will automatically remove other channel curves of the same color property.
  • Editor: Informative message will be shown in the material inspector when the material property block values are used.
  • Changes:
  • Xbox One: Unity now builds with the June 2015 XDK. You must have the June XDK installed on your PC and use the matching or later recovery on your console.
  • Fixes:
  • (701438) - Animation: Animating properties of the material with the custom shader does not cause error on the first play in editor.
  • (665246) - Animation: Remove relative material property blocks when the animator component is being removed.
  • (706635) - Asset Loading: Ignoring hidden dll files.
  • (694539) - CacheServer: Asset bundle names are not properly imported from metafiles.
  • (705649) - Editor: Search correct 32/64bit program files on windows for diff tools.
  • (none) - GearVR: Removed log spam about user profile.
  • (705573) - GI: Fixed intermittent crash related to realtime lightprobes.
  • (707361) - GLES: Fixed tessellation shaders when multiple texcoords are packed into one vec4.
  • (696397) - GLES: Fixed standard shader rendering issues with Mali GPUs.
  • (705724) - iOS/IL2CPP: Allow Type.GetType(string) to return a proper value on 32-bit ARMv7 builds.
  • (696745) - iOS/IL2CPP: Generate correct C++ code for the IL add opcode with pointers in unsafe C# code.
  • (699644) - iOS/IL2CPP: Handle 'void' type parameter.
  • (702203) - iOS/IL2CPP: Prevent a C++ compiler error in generated code which happens when a pointer is assigned a value which is a uintptr_t in converted unsafe C# code.
  • (693259) - iOS/IL2CPP: Prevent AES encryption types from being incorrectly stripped when they are used.
  • (695319) - iOS/IL2CPP: Prevent an intermittent crash on ARM64 when an live object is incorrectly reclaimed but the garbage collector.
  • (705860) - iOS/IL2CPP: The Preserve attribute can now be used in the managed code for an assembly to preserve all of the code in an assembly.
  • (705860) - iOS/IL2CPP: The preserve attribute can now be used with the assembly element in a link.xml file to preserve all of the code in an assembly.
  • (689087) - iOS: Added a limit for iOS acceleration event queue.
  • (701425) - iOS: Added support for Xcode 6.3.2.
  • (704699) - iOS: Added support for Xcode 7 beta.
  • (681384) - iOS: Added additional Japanese fallback font.
  • (699574) - iOS: Added iOS Thai font for 8.2.
  • (705241) - iOS: Don't add header files to il2cpp Xcode project.
  • (699907) - iOS: Don't include managed dll files in il2cpp build.
  • (702900) - iOS: Fixed stuck "Launch screen type" setting.
  • (704998) - License: Added network timeout for all pending operations.
  • (704271) - License: Clear error message once valid serial is entered.
  • (700738) - License: Fixed an issue with Operating System ID changing on Windows 10.
  • (702313) - License: License activation staying stuck in Updating or Connecting screen.
  • (704270) - License: Replace generic invalid serial message with more meaningful message
  • (706183) - Linux: Fixed key release regression.
  • (none) - Mecanim: Fixed continuity in FixedTime transition with ExitTime.
  • (697582) - Merge Tool: Fixwd merging of scenes/prefabs with out of order objects.
  • (none) - Networking: Fix for IsAcksLong flag doesn't work.
  • (701313) - Networking: Fixed UNetWeaver exception when processing large projects, also improved speed with large projects.
  • (705901) - Physics 2D: Ensure that Rigidbody2D interpolation or extrapolation do not modify the Transform Z position.
  • (703846) - Physics 2D: Fixed a child Rigidbody2D not correctly updating its position/orientation when it's using interpolation and the parent transform changes.
  • (705471) - Physics: Fixed problem in PhysX that would cause SphereColliders to bounce when rolling over the triangles of a MeshCollider.
  • (702907) - Physics 2D: MotorSpeed on SliderJoint2D is now in meters/sec (linear motor) not degrees/sec (not angular motor).
  • (697637) - Physics 2D: Stop NullReferenceException when editing PolygonCollider2D.
  • (none) - SamsungTV: Fixed security false-positive. The 2013 and 2014 TVs can now be deployed to successfully.
  • (none) - VR: Don't update the head pose until Camera has latched the reference frame.
  • (none) - VR: Reset camera-to-origin pose on scene load to prevent gross error.
  • (none) - WebGL: Prevent a runtime error due to the NetworkManager and MasterServerInterface not being correctly stripped.

New in version 5.1.1 Patch 2 (June 26th, 2015)

  • Improvements:
  • Analytics: Added cloudProjectId to hwstat.
  • Graphics: Added options for opaque object sorting control, see Camera.opaqueSortMode.
  • Terrain: Expose TerrainData.SetHeightsDelayedLOD and Terrain.ApplyDelayedHeightmapModification to allow users to achieve high frame rates while doing interactive terrain editing.
  • Changes:
  • 2D: SpriteRenderer will have light and reflection probes turned off by default. They can still be turned on manually.
  • Fixes:
  • (699578) - 2D: Fixed the issue where it was unable to set Sprite mode to multiple.
  • (670070) - Audio: Audio clip "Force to Mono" now has an option for applying normalization after downmix.
  • (705599) - Audio: Fixed: FSBTool crashed during audio import on Windows XP / N platforms and very short audio files.
  • (702628) - Deployment Management: Fixed crash when selecting 'Scripting Backend' in standalone Player Settings.
  • (670391) - DX11: Don't spam refCount==0 error messages when some 3rd party tools hook into DX11.
  • (703205) - DX11: Fixed non-native resolution fullscreen being too dark when in Linear color space.
  • (686697) - Editor OSX: Fixed custom cursor getting set back to default arrow when used in the editor.
  • (686697) - Editor OSX: Fixed games setting the cursor to null wouldn't take affect in the editor.
  • (none) -Editor: Texture3D sizes up to 2048 are now allowed (previously the limit was 1024).
  • (none) -GLES: Fix for TC Particles package from the Asset Store.
  • (705269) - GLES: Fixed shader compiler crash for some shaders that use scalar pixel shader inputs, and other issues.
  • (699694) - GLES: Fixed crash when using multithreaded renderer and using shader that uses vertex colors when the mesh data doesn't contain vertex colors.
  • (none) - GLES: Workaround for Adreno 4xx driver bug where binary shaders would break if the shader program contains geometry shaders.
  • (698775) - Graphics: Fixed issue in Texture2D.LoadImage when loading indexed PNG images that contain an alpha channel.
  • (691077) - iOS/IL2CPP: Prevent a crash in the NetworkManager initialization when the Stipping Level option is not set to Disabled.
  • (697757) - iOS/IL2CPP: Prevent the exception: "System.ArgumentException: enumType is not an Enum type." from occurring for a generic type used with an enum type argument.
  • (704069) - iOS/IL2CPP: Prevent the player build process from using older generated C++ source files from a previous build.
  • (685439) - iOS: Lightmapped objects with legacy shaders lit with realtime light in legacy deferred no longer render incorrectly.
  • (700533) - MonoDevelop: Fixed issue with Attach button in attach to process dialog not responding to clicks.
  • (704949) - Networking: Fixed the problem with host which was added removed and added back. Last add will finish with error - cannot open socket.
  • (none) - Networking: Fixed the problem with long acks.
  • (697543) - Physics: Fixed issue in PhysX where PhysX would hang on certain Android devices.
  • (577228) - Physics 2D: Ensure that both friction and bounce are updated when the PhysicsMaterial2D is set on a Collider2D from script.
  • (683964), (696095) - Physics 2D: Fixed various One-Way behaviour issues in PlatformEffector2D.
  • (697547) - Physics 2D: Restore the Rigidbody2D linear-velocity after a Rigidbody2D.MovePosition has completed.
  • (701932) - Physics 2D: Rigidbody2D constraints are now based upon the center-of-mass and not the body position.
  • (701202) - Physics 2D: Stop crash if 2D effector is needed but there is none.
  • (none) - Samsung TV: Resolved security issue that allowed for arbitrary code execution.
  • (693537) - Serialization: Disallow EditorOnlyPlayerSettings custom properties usage without initialization
  • (705485) - Shaders: Fixed GLSL/Metal translation of shaders that use all uppercase SV_TARGET semantic.
  • (670391) - Shaders: Fixed GLSL/Metal translation of shaders that use non-uppercase SV_Position semantic.
  • (704497), (704501) - Shaders: Fixed resource binding regression breaking TC Particles asset store package.
  • (none) - Shaders: Increased timeout for shader import time processing; helps with complex compute shaders.
  • (705638) - VR: Fixed GearVR crash with Android Personal Edition.
  • (706852) - VR: Fixed upgrade issue from 5.1.1 which could result in VR loss of functionality.
  • (703879) - Windows Phone: Fixed build failure when using certain classes from System.Net namespace.
  • (none) - Windows Store Apps: Fixed a rare crash at boot when reading AppxManifest.xml.
  • (690152) - Xbox One: Fixed a bug that could cause game chat to fail when more than two players are involved.

New in version 5.1.1 Patch 1 (June 23rd, 2015)

  • Improvements:
  • Android: Audio - Enabled OpenSL for GearVR.
  • Documentation: Docs for Audio / VR / UNet updated.
  • iOS/IL2CPP: Load embedded resources in memory-mapped files so that the memory used by those embedded resources is marked as constant.
  • Xbox One: Unity now builds with the May 2015 QFE1 XDK. Xbox One developers will need to install this XDK on their development PC and the matching or a later recovery on their console.
  • Windows Editor Installer: Use dism.exe to install .net framework5, for a more silent experience when using /S silent installer option.
  • Fixes:
  • (699383) - Animation: Reject avatar creation when the skeleton is missing intermediary bones.
  • (690156) - Asset Management: Now allow prefab instances with a missing prefab template to be reparented.
  • (692047) - Editor: Removed MSVCRT dependency for WebGL build.
  • (700474) - Graphics: Fixed a bug when loading single channel JPEGs using Texture2D.LoadImage.
  • (691607), (667147) - iOS/IL2CPP: Corrected an exception during code conversion which has the error message "Invalid global variables count" when converting some UnityScript assemblies.
  • (704018) - iOS/IL2CPP: Ensure that GetCurrentMethod returns the proper value, even when the generated native method is inlined.
  • (696187) - iOS/IL2CPP: Prevent a C++ compiler error in generated code about an undeclared identifier with the test "Unused local just for stack balance".
  • (703294) - iOS/IL2CPP: Prevent an exception during code generation when the default value of a field is not the same type as the field.
  • (691008) - iOS/IL2CPP: When compiling scripts for the player, appropriate UnityEngine.UI.dll will be referenced now.
  • (695118) ,(701548) - iOS/IL2CPP: Added support for PreserveAttribute to prevent classes, methods, fields and properties from being stripped in IL2CPP.
  • (700507) - iOS/IL2CPP: Avoid deadlock during UnloadUnusedAssets.
  • (695179) - iOS/IL2CPP: Fixed a crash which occurred when Ldvirtftn opcode was used on a non-virtual method.
  • (691404) - iOS/IL2CPP: Fixed a rare case when bytecode stripper would incorrectly strip wrong overloaded generic virtual method.
  • (694436) - iOS/IL2CPP: Fixed IL2CPP generated code in if (...) block if the condition operand was an IntPtr.
  • (694436) - iOS/IL2CPP: Fixed IL2CPP generated marshaling code for marshaling IntPtr into any other primitive type.
  • (702879) - iOS/IL2CPP: Fixed marshaling arrays of structs marked with [Out] attribute.
  • (696986) - iOS/IL2CPP: Fixed ConstructorInfo.Invoke() returning null for Nullable types.
  • (698589) - iOS/IL2CPP: iOS/IL2CPP: Correct RPC implementation for the UnityEngine.Networking namespace.
  • (702696) - iOS/IL2CPP: Prevent a runtime exception with IL code in an enumerator's MoveNext method when the enumerator's return type is a constrained generic type.
  • (689410) - iOS: Allow to append builds made with different scripting backend.
  • (682882) - iOS: Include iOS Xcode API documentation.
  • (none) - Mecanim: Fixed assert when using Optimize Game Object on object that are parented.
  • (none) - Mecanim: Fixed crash when using AnimatorController in asset bundles.
  • (692633) - Networking: Added missing error message for multiple NetworkManagers in a scene.
  • (701421) - Networking: Added missing check for NetworkIdentity on NetworkManager object.
  • (699613) - Networking: Added missing error message for more than 32 SyncVars in a NetworkBehaviour script.
  • (697809) - Networking: Added missing validation for invalid method signatures on network methods.
  • (693234) - Networking: Added missing validation for SyncVars of invalid types.
  • (697118) - Networking: Adding missing error message for using network custom attributes in non NetworkBehaviour derived scripts.
  • (701760) - Networking: Fix for allowing multiple network components on the same game object.
  • (697682) - Networking: Fix for ClientRpc call failing when called on a base class.
  • (698103) - Networking: Fix for ClientRpc calls being invoked out of order on localClient.
  • (696932) - Networking: Fix for ClientRpc calls not being invoked for scene objects on a local client.
  • (697824) - Networking: Fix for exception when sending a game object component as an argument to RPC calls.
  • (696579) - Networking: Fix for foldouts in NetworkManager inspector not saving state.
  • (none) - Networking: Fix for garbage at the end of broadcast messages.
  • (697502) - Networking: Fix for implementing Update() in a class derived from NetworkManager causing client connection callbacks to not be called.
  • (697754) - Networking: Fix for isServer still being true after server was stopped.
  • (701235) - Networking: Fix for not being able to detect idle connections.
  • (697730) - Networking: Fix for setting MaxConnection to zero causing exception in NetworkManager.
  • (697102) - Networking: Fix for SyncVars not working with script inheritance.
  • (698321) - Networking: Fix for UNetWeaver exception generating an exception when SyncListStruct used directly without a derived class.
  • (698732) - Networking: Fix for unserializating NetworkIdentity references failing on a dedicated server.
  • (none) - Networking: Fixed - localdiscovery doesn't work on osx and ios.
  • (697117) - Networking: NetworkTransform now auto-detects CharacterController and pick the correct sync method when added to a game object.
  • (699169) - Physics: Fixed a crash when trying to report a MeshCollider error while the MeshCollider's SharedMesh was null.
  • (698701), (698702) - Physics: Fixed HingeJoint SetMotor, SetLimits, SetSpring only being set correctly if the said properties was already enabled.
  • (685107) - Physics: Fixed an issue in PhysX where a capsule would fail to collide with a triangle mesh.
  • (441764) - Physics: Fixed an issue in PhysX where capsule-capsule collision detection would erroneously fail when the capsules' axes were almost aligned.
  • (697849) - Physics: HingeJoint now correctly measures the hinge angle regardless of the initial rotation between the two hinged bodies.
  • (686576) - Revert baked lightmap texture compression quality from best back to normal. Speeds up compositing step.
  • (none) - Shaders: Fixed broken constant buffer info on OpenGL ES compute shaders with multiple kernels
  • (676585) - Substance: Fix hang/crash when entering playmode with the Profiler window open.
  • (none) - Tizen: Added docs about native plugins on Tizen.
  • (none) - Tizen: Added Tizen to the default platforms list.
  • (none) - Tizen: Fixed plugin loading.
  • (689600) - UI: Number of batches created for UI scene back down to 5.0 number.
  • (697556) - Unified GL: Fixed a crash when current and pending framebuffers have different attachment counts.
  • (697556) - Unified GL: Fix for DX11-style Depth-of-Field image effect: fix boolean variable handling in shader compiler.
  • (none) - Unified GL: Fix for shader errors when swizzles were incorrectly applied to scalar values.
  • (702042) - VR: Enabling / disabling virtual reality support in the editor nolonger affects standalone players.
  • (none) - VR: Fixed anti aliasing.
  • (none) - VR: Fixed aspect ratio of game view and standalone window.
  • (none) - VR: Fixed linear lighting.
  • (none) - WebGL: Fixed error messages when refreshing or unloading the page.
  • (none) - WebGL: Fixed an issue using System.IO.Compression.DeflateStream API.
  • (none) - WebGL: Fixed WWW Downloads failing if they take longer then 5 seconds.
  • (694021) - Windows Phone 8.1: Fixed simulator build.
  • (704102) - Windows Phone 8: Fixed crash when building from Editor.
  • (702282) - Windows Store Apps/Windows Phone: Fixed an issue with connecting to server using UNet.
  • (670992) - Windows Store Apps/Windows Phone: Fixed serialization when inheriting from class from another assembly with internal field
  • (699656) - Windows Store Apps/Windows Phone: Fixed variable synchronization between WinRT and Mono players (UNet).
  • (693303) - Windows Store Apps: Fixed extended splash screen sizing on wp8.1 and scaled WSA.
  • (695285) - Xbox One: Disabled standard splash screen on Xbox One, which was showing up as a blank grey screen after the initial OS load splash screen.
  • (none) - Xbox One: Socket descriptions now require template to function (as of April XDK). The editor GUI has been updated to make templates mandatory for all socket descriptions.
  • (none) - Xbox One: The auto-added port for script debugging now implements a template, and works again. It will also get auto-added if you specify to auto-connect the profiler.

New in version 5.1.1 (June 18th, 2015)

  • Feature:
  • VR: Gear VR is now supported with Unity VR.
  • Improvements:
  • Editor: Added MonoDevelop Solution Properties toggle to External Tools to disable writing of MonoDevelopProperties section to .sln files.
  • Graphics: Added hexadecimal code support to Color (TryParseHexString, ToHexStringRGB and ToHexStringRGBA).
  • Graphics: Added set to gpu skinning parameter in PlayerSettings.
  • Input: Mouse cursor will be confined to rendered area in Windows standalone (when CursorLockMode.Confined is used).
  • iOS/IL2CPP: Lower memory used by IL2CPP executables at runtime by removing unused overhead from memory profiling and making more data constant.
  • Linux: Removed "faulty GPU driver" workarounds for Intel drivers that claim to support OpenGL 3.0+.
  • Mecanim: Show frame number in avatar previewer.
  • Changes:
  • Mecanim: AnimatorState runtime speed is now a multiplier apply on the orignal speed rather than an override.
  • Fixes:
  • AI: Fixed NavMeshAgent path re-planning (typically after carving) when agents are assigned a path via SetPath.
  • AI: Fixed issue causing spurious error message "ag.remainingDistance >= 0.0f" for agents waiting at OffMeshLinks.
  • AI: Fixed problem with performance when scene constains only idle agents with small radii.
  • Android: Now Application.systemLanguage will return Chinese Traditional or Chinese Simplified instead of just Chinese.
  • APIUpdater: Fixed crash when scripts contains some specific generic type / method usages.
  • APIUpdater: Fixed editor hang updater consent dialog is displayed while user is performing a drag & drop.
  • Audio: If the audio output device fails to init, then init to the null device to prevent crash.
  • Audio: The Disable Audio option now prevents FMOD from initializing and allocating resources which are exclusive on some platforms.
  • CEF: Fixed crash when opening the asset store when no network.
  • Cloud Service: Fix for using another encoding for the url.
  • Editor: Fixed bad scene view performance when lots of light gizmos are drawn.
  • Editor: Fixed: Missing icon in Mecanim Transition inspector.
  • Editor: Profiler GameObject count in scene no longer increases when selecting camera.
  • Editor: Undo for editing capsule collider.
  • Editor: Undo for GameObject > Toggle Active State in main menu.
  • GI: Fixed static lightmap baking on a rectangular terrain.
  • GLES: Fixed crash on Vivante GPUs when using binary shaders.
  • Graphics: Fixed inaccurate screenspace scissoring of lights with large range.
  • Graphics: Fixed assertion when LODGroup is scaled to zero.
  • Graphics: Fixed command buffer RenderTargetIdentifier with RenderTexture argument.
  • Graphics: Fixed regression in handling "external" textures (Texture2D.CreateExternalTexture).
  • Graphics: Fixed rendering issues after native rendering plugin GL.IssuePluginEvent() calls on OpenGL ES platforms.
  • Input: Update mouse position when it is outside of rendered area in Windows standalone.
  • iOS/IL2CPP: Avoid adding includes and methods (for method declaration includes) for types generated to terminate generic type recursion. iOS/IL2CPP: Correct an error in generated code when a constrained generic parameter type is used in a nested lambda expression.
  • iOS/IL2CPP: Correct code generation for a generic type with another generic type as a constraint when the generic parameter for the constraint is a value type.
  • iOS/IL2CPP: Corrected the implementation of the ldvirtftn opcode for types using a constrained generic generic parameter.
  • iOS/IL2CPP: Correctly invoke an action pointing to an extension method.
  • iOS/IL2CPP: Emit memory barriers to ensure the correct acquire and release semantics are enforced for loads and stores of volatile fields.
  • iOS/IL2CPP: Ensure that background threads which are not explicitly joined have their resources freed so that the runtime does not leak thread handles.
  • iOS/IL2CPP: Fixed a crash which occurred during a call to Socket.SetSocketOption with the AddMembership or DropMembership names.
  • iOS/IL2CPP: Fixed managed stack traces.
  • iOS/IL2CPP: Fixed a code generation issue when using static constructors in base generic classes.
  • iOS/IL2CPP: Generate correct C++ code for a generic virtual method which returns an IEnumerator and has a generic constraint defined on the method it overrides.
  • iOS/IL2CPP: Implement embedded resources for IL2CPP.
  • iOS/IL2CPP: Prevent a crash when a thread with a name is finalized.
  • iOS/IL2CPP: Prevent IL2CPP from throwing an exception at conversion time for a generic type deriving from a generic interface.
  • iOS/IL2CPP: Fixed WWWForm.data property getter being extremely slow on IL2CPP.
  • iOS/IL2CPP: Fixed a case where static constructor would not be called if an object is constructed within Unity internally.
  • iOS/IL2CPP: Fixed an issue which sometimes caused IL2CPP to not call static constructors when Unity created class instances from native code.
  • iOS/IL2CPP: Static constructor of base type now gets correctly called if a derived class does not have one when creating an object of a derived type.
  • iOS/Metal: Fixed crash when using preloaded shaders.
  • iOS: Fixed crash on A7 SoC when locking the screen.
  • iOS: Fixed rendering issues when dismissing presenting view controller which overrides orientation constraints.
  • iOS: Fixed simulator crashing on startup due to "Symbol not found: __ZN5metal16g_CurrentEncoderE".
  • iOS: Now Application.systemLanguage will return Chinese Traditional or Chinese Simplified instead of just Chinese.
  • Linux: Fixed nonASCII input regression.
  • Mecanim: Changing AnimatorState runtime speed from positive to negative value should now correctly play the animation clip backward.
  • Mecanim: Fixed AnimatorState.speed with a value of 0 should now correctly pause the animation clip.
  • Mecanim: Fixed broken copy paste.
  • Mecanim: Fixed firing multiple events at 0.
  • ModuleManager: Fixed exception when opening the Module Manager window.
  • OpenGL: Fixed crash when trying to use unified OpenGL GfxDevice on MacOSX.
  • Plugins: Fixed Standalone settings, toggle buttons were showing platforms as disabled while in reality they were enabled.
  • PS3/PS4: Fixed some separate alpha blending shader states not working properly.
  • Samsung TV: Fixed an issue where games launched on the 2014 TVs without using the Unity Launcher would crash.
  • Scripting: Fixed debugger deadlock on OSX.
  • Scripting: Fixed MonoDevelop incorrectly stepping over recursive methods.
  • Scripting: Fixed Unity crash when using newer versions of the soft debugger client in MonoDevelop.
  • Terrain: Fixed occasional incorrect SpeedTree LOD.
  • Tizen: Display software keyboard correctly in landscape.
  • Tizen: Fixed some typed characters not displaying correctly.
  • Tizen: Removed unnecessary texture compression selector in the build window.
  • Tizen: Resolved "Failed to wait on semaphore" errors when script debugging.
  • Tizen: Resolved build failures when various non-alphanumeric are entered into the product description.
  • Tizen: Resolved rendering errors with Landscape Right screen orientation.
  • Tizen: Set the supported screen sizes key in the manifest. Not doing so results in Tizen store rejections.
  • Tizen: Text typed into software keyboard is now displayed.
  • Tizen: Updated product description field to prevent text wrapping issues.
  • Tizen: Video playback is now supported.
  • TreeEditor: Fixed incorrect labels and tooltips.
  • UNET: Client is not sending/receiving packets and does not disconnect.
  • UNet: Fixed an issue whereby NetworkTransform could corrupt SyncVars.
  • UNet: Fixed an issue whereby Network Serializer breaks on some 64-bit values.
  • UNet: Wrong interpolation in NetworkTransform has been fixed.
  • UNet: Added fixes for multiple NetworkClient objects.
  • UNET: Fixed: Memory continuously builds up with uNet server simply activated.
  • UNET: Fixed: Ping from obsolete connection can cause problem with functionality of new connection.
  • UNET: Fixed: Reliable sequenced channel for reused (disconnect then connect) connection stop working.
  • UNett: Fix for bad error message on networked commands.
  • Unified GL: Fixed mobile bloom and mobile blur shaders (and anything else that used array inputs).
  • Unified GL: Fixed VFACE translation. Unified GL: Shader .cginc include files failed to load if the file to be included had UTF BOM. Fixed.
  • VR: Render scale now functions correctly with 0.6 Oculus SDK.
  • VR: Render scale now works in deferred mode.
  • VR: VR.loadedDevice now works at runtime.
  • WebPlugin: Fixed cross-domain policy bypass issue (reported by Jouko Pynnonen of Klikki Oy).
  • XboxOne: Fixed a crash that occurs in the debug player at startup.

New in version 5.1 Patch 1 (June 12th, 2015)

  • Feature:
  • VR: Gear VR now supported with Unity VR.
  • Improvements:
  • Editor: Added MonoDevelop Solution Properties toggle to External Tools to disable writing of MonoDevelopProperties section to .sln files.
  • Graphics: Added hexadecimal code support to Color (TryParseHexString, ToHexStringRGB and ToHexStringRGBA).
  • Graphics: Added set to gpu skinning parameter in PlayerSettings.
  • Input: Mouse cursor will be confined to rendered area in Windows standalone (when CursorLockMode.Confined is used).
  • iOS/IL2CPP: Lower memory used by IL2CPP executables at runtime by removing unused overhead from memory profiling and making more data constant.
  • Linux: Removed "faulty GPU driver" workarounds for Intel drivers that claim to support OpenGL 3.0+.
  • Mecanim: Show frame number in avatar previewer.
  • Changes:
  • Mecanim: AnimatorState runtime speed is now a multiplier apply on the orignal speed rather than an override.
  • Fixes:
  • (700717) - AI: Fixed NavMeshAgent path re-planning (typically after carving) when agents are assigned a path via SetPath.
  • (696556) - AI: Fixed issue causing spurious error message "ag.remainingDistance >= 0.0f" for agents waiting at OffMeshLinks.
  • (701413) - AI: Fixed problem with performance when scene constains only idle agents with small radii.
  • (677623) - Android: Now Application.systemLanguage will return Chinese Traditional or Chinese Simplified instead of just Chinese.
  • (673248) - APIUpdater: Fixed crash when scripts contains some specific generic type / method usages.
  • (693006) - APIUpdater: Fixed editor hang updater consent dialog is displayed while user is performing a drag & drop.
  • (687390) - Audio: If the audio output device fails to init, then init to the null device to prevent crash.
  • (693917) - Audio: The Disable Audio option now prevents FMOD from initializing and allocating resources which are exclusive on some platforms.
  • (695263) - CEF: Fixed crash when opening the asset store when no network.
  • (691440) - Cloud Service: Fix for using another encoding for the url.
  • (none) - Editor: Fixed bad scene view performance when lots of light gizmos are drawn.
  • (582285) - Editor: Fixed: Missing icon in Mecanim Transition inspector.
  • (655453) - Editor: Profiler GameObject count in scene no longer increases when selecting camera.
  • (681476) - Editor: Undo for editing capsule collider.
  • (694119) - Editor: Undo for GameObject > Toggle Active State in main menu.
  • (688647) - GI: Fixed static lightmap baking on a rectangular terrain.
  • (691217) - GLES: Fixed crash on Vivante GPUs when using binary shaders.
  • (671681) - Graphics: Fixed inaccurate screenspace scissoring of lights with large range.
  • (699470) - Graphics: Fixed assertion when LODGroup is scaled to zero.
  • (none) - Graphics: Fixed command buffer RenderTargetIdentifier with RenderTexture argument.
  • (none) - Graphics: Fixed regression in handling "external" textures (Texture2D.CreateExternalTexture).
  • (698785) - Graphics: Fixed rendering issues after native rendering plugin GL.IssuePluginEvent() calls on OpenGL ES platforms.
  • (684728) - Input: Update mouse position when it is outside of rendered area in Windows standalone.
  • (695251) - iOS/IL2CPP: Avoid adding includes and methods (for method declaration includes) for types generated to terminate generic type recursion.
  • (698060) - iOS/IL2CPP: Correct an error in generated code when a constrained generic parameter type is used in a nested lambda expression.
  • (697043) - iOS/IL2CPP: Correct code generation for a generic type with another generic type as a constraint when the generic parameter for the constraint is a value type.
  • (694940) - iOS/IL2CPP: Corrected the implementation of the ldvirtftn opcode for types using a constrained generic generic parameter.
  • (695900) - iOS/IL2CPP: Correctly invoke an action pointing to an extension method.
  • (693281) - iOS/IL2CPP: Emit memory barriers to ensure the correct acquire and release semantics are enforced for loads and stores of volatile fields.
  • (686183) - iOS/IL2CPP: Ensure that background threads which are not explicitly joined have their resources freed so that the runtime does not leak thread handles.
  • (691442) - iOS/IL2CPP: Fixed a crash which occurred during a call to Socket.SetSocketOption with the AddMembership or DropMembership names.
  • (673249) - iOS/IL2CPP: Fixed managed stack traces.
  • (698613), (698137) - iOS/IL2CPP: Fixed a code generation issue when using static constructors in base generic classes.
  • (697563) - iOS/IL2CPP: Generate correct C++ code for a generic virtual method which returns an IEnumerator and has a generic constraint defined on the method it overrides.
  • (674763) - iOS/IL2CPP: Implement embedded resources for IL2CPP.
  • (697816) - iOS/IL2CPP: Prevent a crash when a thread with a name is finalized.
  • (699105) - iOS/IL2CPP: Prevent IL2CPP from throwing an exception at conversion time for a generic type deriving from a generic interface.
  • (692742) - iOS/IL2CPP: Fixed WWWForm.data property getter being extremely slow on IL2CPP.
  • (693210) - iOS/IL2CPP: Fixed a case where static constructor would not be called if an object is constructed within Unity internally.
  • (694535) - iOS/IL2CPP: Fixed an issue which sometimes caused IL2CPP to not call static constructors when Unity created class instances from native code.
  • (689302) - iOS/IL2CPP: Static constructor of base type now gets correctly called if a derived class does not have one when creating an object of a derived type.
  • (694729) - iOS/Metal: Fixed crash when using preloaded shaders.
  • (none) - iOS: Fixed crash on A7 SoC when locking the screen.
  • (none) - iOS: Fixed rendering issues when dismissing presenting view controller which overrides orientation constraints.
  • (696798) - iOS: Fixed simulator crashing on startup due to "Symbol not found: __ZN5metal16g_CurrentEncoderE".
  • (677623) - iOS: Now Application.systemLanguage will return Chinese Traditional or Chinese Simplified instead of just Chinese.
  • (693367) - Linux: Fixed nonASCII input regression.
  • (none) - Mecanim: Changing AnimatorState runtime speed from positive to negative value should now correctly play the animation clip backward.
  • (none) - Mecanim: Fixed AnimatorState.speed with a value of 0 should now correctly pause the animation clip.
  • (696678) - Mecanim: Fixed broken copy paste.
  • (689767) - Mecanim: Fixed firing multiple events at 0.
  • (698660) - ModuleManager: Fixed exception when opening the Module Manager window.
  • (684121) - OpenGL: Fixed crash when trying to use unified OpenGL GfxDevice on MacOSX.
  • (694219) - Plugins: Fixed Standalone settings, toggle buttons were showing platforms as disabled while in reality they were enabled.
  • (none) - PS3/PS4: Fixed some separate alpha blending shader states not working properly.
  • (none) - Samsung TV: Fixed an issue where games launched on the 2014 TVs without using the Unity Launcher would crash.
  • (673027) - Scripting: Fixed debugger deadlock on OSX.
  • (673440) - Scripting: Fixed MonoDevelop incorrectly stepping over recursive methods.
  • (none) - Scripting: Fixed Unity crash when using newer versions of the soft debugger client in MonoDevelop.
  • (699510) - Terrain: Fixed occasional incorrect SpeedTree LOD.
  • (670867) - Tizen: Display software keyboard correctly in landscape.
  • (581750) - Tizen: Fixed some typed characters not displaying correctly.
  • (699598) - Tizen: Removed unnecessary texture compression selector in the build window.
  • (588936) - Tizen: Resolved "Failed to wait on semaphore" errors when script debugging.
  • (699589) - Tizen: Resolved build failures when various non-alphanumeric are entered into the product description.
  • (670069) - Tizen: Resolved rendering errors with Landscape Right screen orientation.
  • (none) - Tizen: Set the supported screen sizes key in the manifest. Not doing so results in Tizen store rejections.
  • (670882) - Tizen: Text typed into software keyboard is now displayed.
  • (699587) - Tizen: Updated product description field to prevent text wrapping issues.
  • (695513) - Tizen: Video playback is now supported.
  • (699779) - TreeEditor: Fixed incorrect labels and tooltips.
  • (696153) - UNET: Client is not sending/receiving packets and does not disconnect.
  • (694767) - UNet: Fixed an issue whereby NetworkTransform could corrupt SyncVars.
  • (696172) - UNet: Fixed an issue whereby Network Serializer breaks on some 64-bit values.
  • (688362) - UNet: Wrong interpolation in NetworkTransform has been fixed.
  • (695061) - UNet: Added fixes for multiple NetworkClient objects.
  • (698751) - UNET: Fixed: Memory continuously builds up with uNet server simply activated.
  • (none) - UNET: Fixed: Ping from obsolete connection can cause problem with functionality of new connection.
  • (none) - UNET: Fixed: Reliable sequenced channel for reused (disconnect then connect) connection stop working.
  • (696680) - UNett: Fix for bad error message on networked commands.
  • (none) - Unified GL: Fixed mobile bloom and mobile blur shaders (and anything else that used array inputs).
  • (none) - Unified GL: Fixed VFACE translation.
  • (696069) - Unified GL: Shader .cginc include files failed to load if the file to be included had UTF BOM. Fixed.
  • (none) - VR: Render scale now functions correctly with 0.6 Oculus SDK.
  • (699095) - VR: Render scale now works in deferred mode.
  • (none) - VR: VR.loadedDevice now works at runtime.
  • (none) - XboxOne: Fixed a crash that occurs in the debug player at startup.

New in version 5.1 (June 9th, 2015)

  • The Unity 5.1 release builds on two key Unity 5 strengths: industry-leading multiplatform support, and unmatched efficiency boosted in the cloud. Amongst other things, it brings you a new unified development experience for VR platforms like Oculus Rift and our easy to use Unity Multiplayer networking solution.
  • Multiplayer made easy:
  • The first phase of our plan to make it significantly easier to make multiplayer games across a host of platforms is now a reality. Thanks to new APIs, all Unity developers can get deep access to just the features they want, as well as a more automated solution that’s easy to use.
  • Multiplayer Service: In preview, but not for long:
  • Additionally, the Unity Multiplayer Service, including our Matchmaker and Relay Servers, is currently in preview. While that’s the case, you can use the service with up to 100 concurrent users free of charge.
  • We’ll launch the full service very soon, and anyone using it during the preview stage can benefit from the full service when their game is production-ready! Sign-up here.
  • Join the VR revolution:
  • With Unity 5.1 we’ve added a highly optimized rendering pipeline for VR and AR devices. Native Oculus Rift deployment is available right now to all Unity users, and we’ll be adding full native support for further platforms, including Microsoft Hololens and Gear VR in the near future.
  • In Unity 5.1, you can plug in your Oculus Rift dev kit and playtest away, with Unity handling a number of VR/AR-specific features out of the box. Head tracking and an appropriate field of view are applied to your camera automatically and rendered in stereo just like that.
  • Plus, we’ve already implemented a number of stereoscopic rendering optimizations including single pass culling and shared shadowmaps to help you deliver exceptional frame rates.
  • Across the board improvements:
  • Every release gives us the opportunity to improve the overall quality of our code base. Beyond the bug fixes we’ve done for our weekly patch releases, we’ve fixed over 170 bugs in Unity 5.1.
  • Additionally, we’ve made over 70 smaller improvements to API usabilities and workflows, with a focus on 2D and animation features. Another significant refactor sees us introduce a new unified OpenGL rendering backend. This helps us eliminate the numerous code paths between devices, and has made analyzing and fixing mobile rendering bugs significantly easier.
  • As well as introducing our own quality improvements, we also wanted to assist you in improving your game code. With that in mind, we’ve added a Runtime Assertion Library.
  • Cloud Build adds support for Mercurial source control:
  • Launched with Unity 5, our Cloud Build service saves you time by automating builds for iOS, Android, and the Unity Web Player. Cloud Build has already saved developers over 200,000 hours, making it easier than ever for them to build, share, and test their games.
  • Today we’re announcing support for projects using Mercurial. Cloud Build now supports four types of source control servers: Git, SVN, Perforce, and, with this latest addition, Mercurial.

New in version 5.0.2 Patch 4 (June 3rd, 2015)

  • Improvements:
  • Added set to gpu skinning parameter in PlayerSettings
  • iOS/IL2CPP: Decrease IL2CPP memory usage by making metadata structures const.
  • Fixes:
  • (687390) - Audio: If audio output device fails to init, then init to the null device.
  • (693917) - Audio: The Disable Audio option new prevents FMOD from initializing and allocating resources which are exclusive on some platforms.
  • (none) - Editor: Fixed bad scene view performance when lots of light gizmos are drawn
  • (none) - Graphics: Fixed command buffer RenderTargetIdentifier with RenderTexture argument
  • (697674) - Graphics: fixed regression in handling "external" textures (Texture2D.CreateExternalTexture).
  • (698060) - iOS/IL2CPP: Correct a error in generated code when a constrained generic parameter type is used in a nested lambda expression.
  • (698613), (698137) - iOS/IL2CPP: Fix a code generation issue when using static constructors in base generic classes.
  • (691442) - iOS/IL2CPP: Fix a crash which occurred during a call to Socket.SetSocketOption with the AddMembership or DropMembership names.
  • (699105) - iOS/IL2CPP: Prevent IL2CPP from throwing an exception at conversion time for a generic type deriving from a generic interface.
  • (694729) - iOS/Metal: Fixed crash when using preloaded shaders (694729)
  • (none) - iOS: Fixed rendering issues when dismissing presenting view controller which overrides orientation constraints
  • (696798) - iOS: Fixed simulator crashing on startup due to "Symbol not found: __ZN5metal16g_CurrentEncoderE" (696798)
  • (none) - Merge Tool: Fix auto fallback spec file detection
  • (none) - Merge Tool: Handle regression in 5.0.1 introduced by stripped prefabs
  • (none) - PS3/PS4: Fixed some separate alpha blending shader states not working properly.

New in version 5.0.2 Patch 3 (May 29th, 2015)

  • Fixes:
  • (686183) - iOS/IL2CPP: Ensure that background threads which are not explicitly joined have their resources freed so that the runtime does not leak thread handles.
  • (697043) - iOS/IL2CPP: Correct code generation for a generic type with another generic type as a constraint when the generic parameter for the constraint is a value type.

New in version 5.1.0F2 RC (May 22nd, 2015)

  • Fixes:
  • Editor: Fixed assets deletion on folder rename when one of the assets is locked
  • Android: Fixed native plugins that were using GL ES textures
  • Mecanim: Fixed additionnal transforms on Humanoid rig not being animated
  • Home Window: Fixed Alert not appearing on username or password failure

New in version 5.0.2 Patch 2 (May 21st, 2015)

  • Fixes:
  • (none) - Android: Fix for Oculus window buffer memory leak (due to Oculus plugin replacing GL context)
  • (695251) - iOS/IL2CPP: Avoid adding includes and methods (for method declaration includes) for types generated to terminate generic type recursion.
  • (694940) - iOS/IL2CPP: Correct the implementation of the ldvirtftn opcode for types using a constrained generic generic parameter.
  • (695900) - iOS/IL2CPP: Correctly invoke an action pointing to an extension method.
  • (693281) - iOS/IL2CPP: Emit memory barriers to ensure the correct acquire and release semantics are enforced for loads and stores of volatile fields.
  • (693210) - iOS/IL2CPP: Fixed a case where static constructor would not be called if an object is constructed within Unity internally.
  • (689302) - iOS/IL2CPP: Static constructor of base type now gets correctly called if a derived class does not have one when creating an object of a derived type.
  • (692584) - Physics: Stop force waking up Rigidbodies when AddForce / AddTorque (family) is called with a zero vector. This fixes Rigidbodies starting to accelerate even though a zero force is applied.
  • (673027) - Scripting: Fixed debugger deadlock on OSX.
  • (673440) - Scripting: Fixed MonoDevelop incorrectly stepping over recursive methods.
  • (none) - Scripting: Fixed Unity crash when using newer versions of the soft debugger client in MonoDevelop
  • (693303) - Windows Store Apps/Windows Phone 8.1: fix extended splash screen sizing

New in version 5.1.0F1 RC (May 18th, 2015)

  • Fixes:
  • Lightmapping: Fixed race condition crash in lightmap bake when converting .exr files.
  • Merge Tool: Handle regression in 5.0.1 introduced by stripped prefabs.
  • Merge Tool: Fix auto fallback spec file detection.
  • iOS/IL2CPP: Remove the precompiled headers build option, as it is no longer supported.
  • Graphics: Fixed Shader.SetPass editor performance (5.1 regression).
  • Graphics: Fixed MSAA + Image Effects + Gamma color space resulting in black game view on DX11 (5.1 regression).
  • Editor: Fixed closing of Frame Debugger window making later wireframe rendering (e.g. model previews) not work (5.1 regression).
  • Mecanim: Fixed Animation previewer not working with AnimationClips longer than 1 seconds with compression enabled.
  • VR: Fixed an IPD scaling issue when Oculus is set to stereoscopic rendering.
  • VR: Fixed a Clipping plane scaling issue. The near clipping plane value was being scaled by a negative value, causing a Clipping Plane value of 0.

New in version 5.0.2 Patch 1 (May 16th, 2015)

  • Fixes:
  • (674763) - iOS/IL2CPP: Implemented embedded resources for IL2CPP.
  • (692742) - iOS/IL2CPP: Fixed WWWForm.data property getter being extremely slow on IL2CPP.
  • (none) - iOS: Fixed crash on A7 SoC when locking the screen.
  • (687297) - iOS: Fixed Xcode project supported platforms and SDKs settings.
  • (693343) - Mecanim: Fixed duplicated parameter in blend tree of blend tree
  • (694616) - Plugins: Windows plugins won't be included to OSX package, when building for X86 architecture.
  • (none) - VR: Added 3D splash screen to Unity Personal Edition Builds.
  • (679061) - Windows Phone/Store: Fixed assembly converter crashing when a type generic class derives from a generic class which has a generic parameter that is array of generic parameters of the derived class (e. g. class Derived : MyBase).

New in version 5.0.2 (May 14th, 2015)

  • FEATURES:
  • XboxOne: The default update granularity used by XDK's makepkg tool has changed to File granularity rather than Chunk granularity. There is now a setting to control this: Player Settings > Xbox One > Microsoft Xbox One Package Settings > Update Granularity. This property is set to File by default. Chunk is recommended only for games that have already been released using the Chunk granularity, which was the default prior to this build.
  • IMPROVEMENTS:
  • Editor: Added Android 5.0 and 5.1 to "Minimum API Level" list.
  • GI: Don't add lights to Enlighten at runtime if they don't contribute to GI (bounce intensity at 0).
  • GI: Made pig assert message human readable.
  • iOS: Enabled thumb instruction support for IL2CPP ARMv7 slice. Should improve ARMv7 slice code size by 10-20%.
  • iOS/IL2CPP: Avoid generating NullReference checks on value types.
  • iOS/IL2CPP: Improve performance of finally blocks.
  • iOS/Metal: Better support for native rendering plugins when using Metal.
  • Mecanim: Fix direct blendtree editor slow down when there is too much motion.
  • Physics 2D: Added 'AreaEffector2D.useGlobalAngle' to allow the selection of whether the force-angle is global or local.
  • Physics 2D: Added 'Effector2D.useColliderMask' to allow the selection of whether the effector collider mask is used or the global collision matrix.
  • Physics 2D: Added 'Rigidbody2D.IsTouching' and 'Rigidbody2D.IsTouchingLayers' to complement the same on 'Collider2D' and 'Physics2D'.
  • Physics 2D: Renamed 'AreaEffector2D.forceDirection' to 'AreaEffector2D.forceAngle' (sciprts are automaticallly updated).
  • Physics: Report detailed error when generating collision meshes, also during asset import. Simplifies troubleshooting creation of non-triangle collision meshes.
  • Substance: New Substance features introduced by Substance Designer 5.0 are now supported.
  • Terrain: TerrainData.alphamapTextures is now public.
  • Windows Standalone: Hint to AMD driver that discrete GPU should be used, rather than integrated GPU.
  • XboxOne: Lightmap files are now listed in the package manifest in the same chunk as the scene that uses them.
  • XboxOne: Unity is now built with the April 2015 XDK. You will need to install the April 2015 XDK on your PC and use the same or later recovery on your console.
  • XboxOne: Updated docs to reflect terminology and tools in latest XDK, and added a section on Packaging.
  • XboxOne: Worker threads created by Unity's core systems (Physics, AI) will no longer run on cores 0 and 1, which are reserved for the Rendering thread and Unity's main thread respectively. This will be a performance gain in most cases by avoiding thread context switches.
  • CHANGES:
  • Android: Added support for real 16bit DisplayBuffer. It can only be enabled in PlayerSettings, Handheld.use32BitDisplayBuffer is deprecated.
  • Scripting: GizmoType enum has changed (and is updated by automatic script updater). NotSelected -> NotInSelectionHierarchy. SelectedOrChild -> InSelectionHierarchy. New member NonSelected added.
  • XboxOne: Unity is now built with the March 2015 XDK. You will need to install the March 2015 XDK onto your development PC and use the same or later recovery
  • FIXES:
  • AI: Allow setting slope above 60 deg by using serialized object.
  • AI: Fixed buggy example code for script API example.
  • AI: Handle out of memory when building huge world.
  • Android: Apply Holo or Material theme if the user did not specify other explicitly.
  • Android: Apply user theme if set.
  • Android: Fixed crash in Mono caused invocation of wrong method.
  • Android: Fixed crash on Application.Quit().
  • Android: Fixed issues with soft input caused by Samsung back button fix
  • Android: Fixed window buffer leakage
  • Android: Improved soft input dialog.
  • APIUpdater: APIUpdater assumes script encoding is UTF-8.
  • APIUpdater: APIUpdater crashes when updating methods that return arrays of generic types.
  • APIUpdater: Unity imports/upgrades DLL built for 4.x twice and it throws errors after first import.
  • Asset Bundles: AssetBundle.CreateFromMemory with uncompressed bundles will no longer block the main thread for several seconds.
  • Asset Importing: Fixed importing of an assembly that contains classes inherited from generic engine's classes.
  • Asset Management: PluginImporter settings for OSX native plugins will no longer be lost in .unitypackage files.
  • AssetBundle: Fixed the issue that prefab loaded from AssetBundle lost the reference to a material in a variant AssetBundle.
  • AssetBundle: Fixed the issue that scene AssetBundle didn't get rebuilt when the referenced prefabs were changed.
  • AssetBundle: Make the error message more informative when building AssetBundles.
  • D3D11: Fixed shaders that use min16float types.
  • Documentation: Fixes for 5.0, removed the "Overview" link.
  • Documentation: A number of bugs have been fixed.
  • Documentation: Ridigbody typos fixed.
  • Editor - Other: Fixed ScriptableObject assets to pull icons correctly from their associated script
  • Editor: Android - Fixed updating SDK on x86 Java on Windows.
  • Editor: Fixed crash when PlayerSettings.GetPropertyString is called for not existing property.
  • Editor: Fixed Camera.SetTargetBuffers with AA-ed renderbuffers.
  • Editor: Scene View content is no longer tinted in playmode.
  • GI: Ambient light is not shown after baked data is cleared.
  • GI: Entering play mode while baking with on demand makes bake indication get stuck and game show incorrect result.
  • GI: Fixed crash caused by Unity reading GI files as resource files and a certain GI file had data that looked like a header but caused a huge allocation.
  • GI: Fixed lightmap resolution overlay not showing up on Terrains.
  • GI: Reloading scene makes the background darker.
  • GI: With continuous baking enabled and baked light, light probes stop working after exiting play mode.
  • Graphics: Fixed double-fog in deferred shading + forward-only opaque objects + GlobalFog effect.
  • Graphics: Fixed printing of some loops in GLSL/Metal.
  • Graphics: Improved rough front-to-back sorting for opaque objects, for better GPU Z culling efficiency.
  • IMGUI: Fixed calculation of TextGenerator vertices position when lineSpacing is 0.
  • Input: Input.GetJoystickNames() on Windows no longer returns a single blank entry when no joysticks are connected.
  • Input: Input.mousePosition is clamped correctly when a Windows player is resized.
  • iOS: Added dummy vertex channel for missing shader channels when dynamic batching.
  • iOS: Added Xcode 6.3 Build & Run support.
  • iOS: Fixed crash when rendering empty meshes.
  • iOS: Fixed HTTPs problem.
  • iOS: Fixed memory corruption and crash initiated by calling WebCamTexture.Stop().
  • iOS: Fixed memory leak in iOS WebCamTexture.GetPixels().
  • iOS: Fixed crash on rendering empty meshes.
  • iOS: Fixed duplicate property value removal in certain Xcode projects.
  • iOS: Fixed WebCamTexture.didUpdateThisFrame.
  • iOS: Fixed assert in corner case when webcam code is trying to pick supported FPS.
  • iOS/IL2CPP: Add a null terminator to string arrays when they are marshaled.
  • iOS/IL2CPP: Added support for string.Normalize.
  • iOS/IL2CPP: Allow Encoding.GetEncoding to correctly.
  • iOS/IL2CPP: Allow thread-local static fields to work correctly in generic classes. Specifically, this corrects the Parse SDK crash in 4.6.4p1.
  • iOS/IL2CPP: AudioMixerSnapshot.TranslateTo no longer throws null reference exception on IL2CPP.
  • iOS/IL2CPP: AudioMixerSnapshot.TranslateTo no longer throws null reference exception on IL2CPP.
  • iOS/IL2CPP: Avoid class initialization and metadata construction deadlocks.
  • iOS/IL2CPP: Cast non-pointer references types to System.Object for comparison in conditional statements.
  • iOS/IL2CPP: Correct an InvalidCastException that can occur when setting an array value.
  • iOS/IL2CPP: Correct the behavior of CultureInfo.CreateSpecificCulture.
  • iOS/IL2CPP: Correctly lazy initialize the type information when Type.GetDeclaringType is called.
  • iOS/IL2CPP: Do not write extern declarations inside p/invoke wrappers for methods that return a class or delegate.
  • iOS/IL2CPP: Fixed an infinite recursion when constructing generic type.
  • iOS/IL2CPP: Fixed an issue with open delegates that return void.
  • iOS/IL2CPP: Fixed crashes in socket code due to sockets being destroyed too early and prevent Thread.IsAlive from returning true after thread has terminated.
  • iOS/IL2CPP: Fixed Interlocked.Exchange and Interlocked.CompareExchange for interfaces.
  • iOS/IL2CPP: Fixed issue with managed exceptions not being thrown by a method called by Method.Invoke in some cases.
  • iOS/IL2CPP: Fixed multidimensional array interfaces.
  • iOS/IL2CPP: Fixed a crash with StrangeIOC.
  • iOS/IL2CPP: Fixed an issue where IL2CPP would use -> operator on value types in certain cases.
  • iOS/IL2CPP: Fixed code generation for binary comparisons containing expressions.
  • iOS/IL2CPP: Fixed code generation for unsafe fixed arrays.
  • iOS/IL2CPP: Fixed crash in some cases when accessing an enum inside a generic class.
  • iOS/IL2CPP: Fixed crash related to arrays of Enums on 64-bit.
  • iOS/IL2CPP: Fixed crash when using weak GC handle onstring constants.
  • iOS/IL2CPP: Fixed File::Replace when destinationBackupFileName is null.
  • iOS/IL2CPP: Fixed IL2CPP failing to convert an assembly which contains Ldtoken instruction on field that is declared in a generic type. This issue affected CSVHelper.dll plugin.
  • iOS/IL2CPP: Fixed issues with exception thrown from DateTime constructor, DateTime ToUniversalTime, DateTime ToLocalTime, DateTime IsDaylightSavingTime.
  • iOS/IL2CPP: Fixed memory leak when using audio callbacks.
  • iOS/IL2CPP: Fixed occasional code generation issues when multiple local enum variables are used in conditional expressions.
  • iOS/IL2CPP: Fixed overflow arithmetic instruction handling.
  • iOS/IL2CPP: Fixed overflow arithmetic instruction handling.
  • iOS/IL2CPP: Fixed stripping issue when NavMeshAgent was referenced only from scripts.
  • iOS/IL2CPP: Fixed support for enums nested in generic types.
  • iOS/IL2CPP: Fixed support for type/method names using non ASCII characters.
  • iOS/IL2CPP: Fixed System.Environment.TickCount on iOS.
  • iOS/IL2CPP: Fixed TerrainData.GetAlphaMaps crashing on IL2CPP.
  • iOS/IL2CPP: Fixed TerrainData.GetAlphaMaps crashing on IL2CPP.
  • iOS/IL2CPP: Fixed unordered comparison opcodes code generation.
  • iOS/IL2CPP: Fixed WebClient requests using a timeout.
  • iOS/IL2CPP: Forward declare empty types (created to end infinite recursion) that are used as method arguments.
  • iOS/IL2CPP: Generate C++ code which will compile when a nested generic passes the maximum depth for recursive nested generics.
  • iOS/IL2CPP: Generate C++ code which will compile when a nested generic passes the maximum depth for recursive nested generics.
  • iOS/IL2CPP: Implemented Assembly.CodeBase by returning the value of AssemblyName.Name.
  • iOS/IL2CPP: Implemented Assembly.CodeBase by returning the value of AssemblyName.Name.
  • iOS/IL2CPP: Make Activator.CreateInstance work for arrays.
  • iOS/IL2CPP: Match the behavior of the Mono scripting backend by not stripping the Animation code from the engine when code stripping is enabled.
  • iOS/IL2CPP: Match the Mono behavior which allows inflated generic delegate types like System.Action to be marshaled as normal delegates.
  • iOS/IL2CPP: Prevent a stack overflow in il2cpp.exe when it converts have an infinitely recursive generic type with an array generic argument.
  • iOS/IL2CPP: Removed the option to user precompiled headers in the Player Settings, as this option in no longer supported for the IL2CPP scripting backend.
  • iOS/IL2CPP: Return the correct number of write and error sockets from the Socket::Select method.
  • iOS/IL2CPP: Support Type.MakeGenericType for runtime creation of generic types where the generic arguments are reference types.
  • iOS/IL2CPP: Type.GetType throws an ArgumentException now when the provided type name was wrong.
  • iOS/IL2CPP: Use the proper type for the result of the IL sub opcode.
  • iOS/IL2CPP: Use the Size field of the StructLayout attribute to pad marshaled types if necessary. This allows Marshal.SizeOf to return the correct value for these types.
  • iOS/IL2CPP: Using AudioSettings.Reset() no longer crashes on IL2CPP.
  • iOS/ILCPP: Do not emit metadata for generic types at compile time. This significantly decreases the size of the final binary in most cases.
  • iOS/Metal: Fixed crash in WarmupAllShaders when called in update with AA-ed backbuffer.
  • iOS/Metal: Fixed WebCamTexture.videoVerticallyMirrored.
  • JobSystem: Fixed issue where job system would create long stalls in some cases on processors with hyper threading.
  • Mecanim: Fixed a bug where copy pasted states would share the same state machine behaviour instance
  • Mecanim: Fixed animation events not fired for non looping clip with length of 0 second.
  • Mecanim: Fixed Blend Tree parameter doesn't get updated in the graph view when changing the blend tree parameter.
  • Mecanim: Fixed cannot rename parameter in animator parameter window.
  • Mecanim: Fixed crash when a StateMachineBehaviour disable an animator component or change something that trigger a Rebind.
  • Mecanim: Fixed crash when calling AnimationClip.events from script.
  • Mecanim: Fixed lost transition when importing a project from 4.x to 5.0.
  • MonoDevelop: Fixed issue with Attach to Process dialog making MonoDevelop unresponsive on OSX.
  • MonoDevelop: Fixed issue with file tabs being unresponsive after using auto-hide of panels.
  • OpenGL ES 2.0: Fixed shadow acne on GPUs that do not support native shadow samplers.
  • OpenGL ES: Fixed crash when attempting to render a mesh with 0 vertices.
  • OpenGL: Fixed a crash in vertex stream management.
  • Physics 2D: 2D physics will now give deterministic results on the same device when entering play-mode in the editor.
  • Physics 2D: Don't suppress gravity when a Rigidbody2D.MovePosition is taking place.
  • Physics 2D: Ensure that 2D Box/Circle cast methods support shape being overlapped initially.
  • Physics 2D: Ensure that a 2D joint created from script is correctly enabled.
  • Physics 2D: Fixed regression where PlatformEffector2D 'One Way' would allow a collider to pass but then begin to collide with it.
  • Physics 2D: Setting center-of-mass on a Rigidbody2D now doesn't result in bad rotational inertia.
  • Physics: Don't allow to break rotational DoF lock by setting angularVelocity directly.
  • Physics: Fixed capsule height being incorrectly computed in sweeps and casts code.
  • Physics: Fixed cases where HingeJoint settings, like useMotor and useLimits, were not correctly applied.
  • Physics: Fixed crash on scene load when Cloth component is missing a SkinnedMeshRenderer component.
  • Physics: Fixed crash that could occur when a body had more than 64 contacts generated.
  • Physics: Fixed crash when the transform scale on a MeshCollider had an axis set to zero. Request will now be ignored.-
  • Physics: Fixed incorrect bounds of a capsule collider.
  • Physics: Fixed crash that happened when toggling "isKinematic" on a body with joint that had joint projection disabled and the body had also been connected to the same group of joints already.
  • Physics: Fixed crash when a collider has generated too many contacts.
  • Physics: Fixed WheelCollider applying inertia tensor rotation the wrong way.
  • Physics: Protect SetSteerAngle from setting wheel angles that are bad for PhysX.
  • Physics: Raised the max colliders per scene limit on mobile platforms, from 32K.
  • Physics: Report error when trying to create a non-convex MeshCollider with Trigger enabled.
  • Plugins: Fixed invalid plugin collisions, for ex., in cases where plugin is unsupported by OS, but was still being used.
  • Samsung TV: Fixed crash on close issue.
  • SamsungTV: Fixed bug where cursor would stop moving when timeScale was set to 0 on 2013 TVs.
  • SamsungTV: Fixed problem where native plugins would not be found on retail 2015 TVs.
  • SamsungTV: Fixed race condition crash that originated from within mono when NumberFormatter was being called from a non-main managed thread.
  • Scene/Game View: Fix the issue about cannot select objects after importing the legacy packages.
  • Scripting: Allow a component which derives from a type in UnityEngine.UI and is built in a custom assembly to be used in the project.
  • Scripting: Fixed EditorGUI.FloatField and EditorGUILayout.FloatField unable to return negative and positive infinity
  • Scripting: GizmoType works as expected
  • Scripting: Re-added a stub for Resources.LoadAssetAtPath which auto-upgrades to AssetDatabase.LoadAssetAtPath
  • Shaders: Don't crash in shader warmup on "-nographics" device.
  • Shaders: Fixed some loops being miscompiled for DX9.
  • Shaders: Fixed some sampler precision issues in glsl-optimizer; was resulting in missing cast on Metal when sampling depth texture with explicit LOD.
  • Substance: Entering play mode should no longer cause a rebuild of ProceduralMaterials.
  • Substance: Fixed 'path != ""' assert when live-previewing a Substance from the Asset Store.
  • Substance: Fixed console spam related to the absence of '_MainTex' shader property.
  • Substance: Fixed crash when assigning a shader that does not cause outputs to be generated (e.g. Unlit/Color) to a ProceduralMaterial.
  • Substance: Fixed hang in ProceduralMaterial::Clean().
  • Substance: Global Illumination flags are now correctly handled by ProceduralMaterials.
  • Substance: It is no longer possible to dynamically create a ProceduralMaterial using 'new'.
  • UI: PointerEventData.worldPosition and .worldNormal are now set correctly for right-mouse-button and middle-mouse-button events.
  • VR: Fixed GearVR startup crash on Galaxy S6 devices by enabling pbuffer Context support.
  • VR: MSAA autoresolve fixed for GLES 3.0 devices.
  • WebGL: Fixed stripping (previously failing to register WebCamTexture class in runtime).
  • WebGL:/iOS: Fix crash in UnusedBytecodeStripper on BoxCollider2D/CircleCollider2D center member access.
  • WebPlayer: Fixed WWW form posting.
  • WebPlayer: Workarounds for new Chrome, where NPAPI is disabled by default.
  • Windows Phone 8: Uppercase first letter in InputField.
  • Windows Phone 8: Windows Phone 8 specific plugins (compiled against Windows Phone 8 .NET) which don't have a placeholder won't be passed to the Mono compiler, like it was in 4.6.
  • Windows Standalone: Allow to close the main window even with the touch support enabled.
  • Windows Standalone: Connecting USB devices should no longer throw spurious warnings.
  • Windows Store Apps: .NET Core plugins without placeholders, won't be passed to Mono compiler, like it was to 4.6.
  • Windows Store Apps: Build&Run disabled when using Unity CSharp projects.
  • Windows Store Apps: Fixed the issue, build from editor when C-projects are enabled.
  • Windows Store Apps: Fixed issues with plugins in Universal apps, removed SDK property UniversalSDK81 from plugin inspector, as it didn't make sense. Also having Windows 8.1 and Windows Phone 8.1 specific plugins won't longer cause building to Universal apps to fail.
  • Windows Store Apps: mouse presence now is detected by mouse activity, which is much more reliable.
  • Windows Store Apps/Windows Phone 8.1: Unity will correctly hide password when using GUI*.PasswordField on touch based devices.
  • Windows Store Apps/Windows Phone: Fixed AssemblyConverter failing due to types from other module.
  • Windows Store Apps/Windows Phone: Fixed NullReferenceException in SerializationWeaver.
  • Windows Store Apps/Windows Phone: System.IO.File.Exists should work even if you specify forward slashes which is invalid in WinRT platforms, Unity will convert them to backwards slashes.
  • Windows Store/Phone: Unity will always give postprocessed assemblies a new random MVID.
  • Windows Store/Windows Phone 8.1: Fixed an issue which caused types unavailable in .NET for Windows Store but available in Unity's replacement library not to be resolved if they were in a plugin.
  • WindowsPhone8: Fixed AssemblyConverter error, where sometimes it would fail to find references.
  • WWW: WWW.Dispose sometimes hung Unity on a very slow connection.
  • XboxOne: Application.OpenURL is now implemented on Xbox One. Calling it will open the Internet Explorer App.
  • XboxOne: Bad image from Kinect fixed, YUY2 support.
  • XboxOne: Bloom artefact when using MSAA is now fixed.
  • XboxOne: Crash when using Clear Depth Only, support for capturing RTs of different bit depths.
  • XboxOne: DOF image effect on fade sprites fixed.
  • XboxOne: Enabled support for deferred rendering and HDR.
  • XboxOne: Fixed a crash that can happen when shutting down the audio device.
  • XboxOne: Fixed a rare startup crash that usually manifested as a crash in the audio driver, sometimes showing up as a stack buffer overrun exception.
  • XboxOne: Fixed compute shader UAV buffer read/write and memory access.
  • XboxOne: Fixed port assignments so Unity Profiler and Debugger work more consistently
  • XboxOne: Lightmaps for scene 0 are now included in the package manifest.
  • XboxOne: Made Mono's exception handler treat unexpected exceptions (ex: not a breakpoint) better. This should remove some instances where a crash dump was not created.
  • XboxOne: Now matches PC (deferred rendering with HDR related).
  • XboxOne: The /updcompat option for makepkg.exe now has a space before it so it's read by the tool correctly.
  • XboxOne: The file path used for makepkg.exe is now quoted when a custom manifest file is used.
  • iOS/IL2CPP: Additional code size improvements from generic sharing:
  • Allow partial sharing (e.g. Dictionary is shared with Dictionary).
  • Allow sharing when the type parameter constraint is an interface.
  • Share enums and their base types as generic parameters.
  • iOS/IL2CPP: Fix a number of problems related to WebRequest and asynchronous I/O:
  • Fixed socket I/O requests getting stuck in ThreadPool on POSIX/iOS.
  • Fixed race condition in Monitor code that lead to 5 second stalls in Monitor.Exit().
  • Fixed ThreadPool not re-using idle worker threads (lead to potentially very high memory consumption and bad performance).
  • Fixed ThreadPool upper thread count limits being very low; now roughly the same as on Mono.
  • Fixed ThreadPool.SetMinThreads() and SetMaxThreads() having no effect.

New in version 5.1.0 Beta 6 (May 13th, 2015)

  • Feature:
  • VR: Scripting VR.InputTracking.Recenter() to recenter head pose.
  • Change:
  • Physics: New initialization fixes target angle being measured incorrectly.
  • Physics: Enabling the HingeJoint Motor overrides the spring, if the spring was enabled. If the motor is again disabled the spring will be restored. This restores Unity4 functionality.
  • Physics: HingeJoint MinBounce and MaxBounce are replaced by a single 'bounciness' for both limit ends. The new bounciness will be set to the largest of the old MinBounce and MaxBounce.
  • Physics: (Breaking) Modifying the HingeJoint Limit properties will no longer automatically enable the limit. You now need to explicitly set HingeJoint.useLimit.
  • Physics: (Breaking) Modifying the HingeJoint Motor properties will no longer automatically enable the motor. You now need to explicitly set HingeJoint.useMotor.
  • Physics: (Breaking) Modifying the HingeJoint Spring properties will no longer automatically enable the spring. You now need to explicitly set HingeJoint.useSpring.
  • Mecanim: Animator.speed can only be negative when the recorder is enabled. Now when the recorder is offline we do clamp the speed to 0 to avoid negative speed.
  • Mecanim: Transitions now have a fixed duration by default. Before Transition duration was in normalized time.
  • UNet: The NetworkView component from the old network system was marked as deprecated.
  • Improvement:
  • UI: Allow dragging anchors outside of bounds of parent when holding down Ctrl (Cmd on Mac) - the same key that disables snapping. This makes it easier to author screen transitions that support multiple resolutions, since content can be animated to move a distance that's a percentage of the screen width or height.
  • UI: Changed default blink rate and widget range of InputField caret to match the new frequency behavior.
  • Graphics: Added SetPixels32/GetPixels32 to Texture3D.
  • Shaders: Support VFACE in surface shader inputs; just use a float variable with VFACE semantic.
  • Physics: Rigidbodies connected to a HingeJoint will now automatically be woken up when the joint is updated.
  • Physics: Added HingeJoint BounceMinVelocity. When bounciness is enabled this is the minimum impact velocity which will cause the joint to bounce.
  • Setting this very low, like zero, will cause the joint to never stop bouncing. This can lead to jittering and performance problems.
  • Setting this very high will cause to joint to never bounce.
  • Physics: HingeJoint scripting documentation updated.
  • Mecanim: Added Animator.CrossFadeInFixedTime and Animator.PlayInFixedTime to support fixed time manual transitions.
  • Mecanim: Retargeting import warnings are removed from the console and are now available in the model importer warning foldout. This will simplify the submission process for Animation Clip to the asset store.
  • UNET: Exposed methods on NetworkConnecion class to allow it to be used more easily without other HLAPI components.
  • UNET: updated documentation in manual.
  • UNET: added icons for new components.
  • Fixes:
  • Prevent accidentally moving multiple times when navigating UI with keyboard or controller by introducing a repeat delay to the StandaloneInputModule. This is similar to the delay before the repeating events that OSes have.
  • UI: Fixed events being blocked by disabled UI elements
  • UI: Fix issue where the pointer click world position/normal may not be properly associated with the event if multiple modules or hits are present.
  • UI: Fix nested masking not getting the correct stencil value and failing
  • UI: Clamp setting canvas group alpha between 0-1 on API call
  • UI: Only do cut, copy, paste, and select all if holding down just Ctrl (Cmd on Mac), not if additional modifier keys are also held down. This prevents these actions from happening when intending to type characters that use Ctrl (Cmd on Mac) as part of the key combination.
  • UI: Prevent out of range exception that happened in InputField under certain circumstances due to an unwanted recursive call.
  • UI: Fixed bug that multiple Layout Group components on the same GameObject was not prevented even though it is not supported.
  • UI: Fixed division by zero bug in GridLayoutGroup.
  • UI: Destroying a RectTransform that is queued to for a layout rebuild would freeze unity.
  • UI: Fix Mac-only crash during Canvas sorting.
  • UI: Fix instantiating a prefab containing a Selectables will not throw console errors.
  • UI: Fixed bug which caused caret to no longer appear in InputField after game object was deactivated and reactivated.
  • UI: Caret on InputField now blinks at proper frequency.
  • UI: Properly handle deselection if the current hovered object is destroyed.
  • UI: Fix handling of the lasSelected field on EventSystem. We don't use it so mark it obsolete.
  • UI: Making input field respect vertical alignment.
  • UI: Fix for issue with EventSystem and multiple sorting layers.
  • UI: Fixed crash when opening a scene with a deleted prefab canvas object.
  • WebGL: Fix issue with Color32 serialization which could cause data corruption
  • Graphics: Fixed crash where MeshCombiner would not allocate enough indices
  • Graphics: Fixed crash in a case where particle system would not have a valid mesh
  • WebGL: Fix Joystick buttons in WebGL when joystick ID is not specified
  • WebGL: Fix Doppler effect simulation issues in various browsers
  • GI: Fix visual glitch caused by missing UVs when a new lighting build is switched in when in auto lighting mode.
  • GI: Fix visual glitch caused by missing atlas textures when a new lighting build is switched in when in auto lighting mode.
  • Shaders: Fixed #pragma target and #pragma exclude_renderers parsing with trailing comments.
  • Shaders: Fixed some sampler precision issues in glsl-optimizer; was resulting in missing cast on Metal when sampling depth texture with explicit LOD (will come to 4.6 and 5.0 patches too).
  • Shaders: Fixed that surface shaders vertex color field had to actually be called "color" (now just COLOR semantic is enough, like the docs always said).
  • Shaders: Add warning when using SV_POSITION in vertex shader inputs on DX11, and improve error message.
  • UNET: Problems with NetworkTransport.RemoveHost()
  • Animation Window: No more errors when changing to curve tab with sprite animation
  • Animation Window: When cancelling first clip creation, the existing empty Animator component is not removed
  • Animation Window: When dragging tangent control point, the playhead is not moved
  • Animation Window: Editing tangents in dopesheet context menu will save changes and handle undo correctly
  • UNET: MultiCast via AllCostDelivery cost is failed. No data arrived, two warnings appear
  • UNET: android crash in UNetClientActiveCheck
  • UNET: Calling NetworkTransport.Send with buffer set to null will cause Unity to crash
  • Mecanim: Fixed duplicated parameter in blend tree of blend tree
  • UNET: NetworkAnimator not sending animations to server
  • UNET: no warning message when trying to add prefab with no NetworkIdentity
  • UNET: OnClientConnect not always called on NetworkManager
  • UNET: network manager HUD component does not add a network manager component
  • UNET: Commands in NetworkBehaviours cannot be used in subclasses
  • Asset Loading: Throw exception when calling Resources.LoadAll with null path.
  • Asset Loading: Always build the manifest AssetBundle and return the AssetBundleManifest object.
  • Asset Management: Fix the crashes when saving with deleted gameobject
  • Serialization: Fix crash when loading text serialized scene with >32k components
  • Editor: Fixed warning when dragging'n'dropping a mesh onto a GameObject
  • Editor: Breaking prefab instance through the menu "GameObjects->Break prefab instance" can now be undone
  • Terrain: Fixed crash when terrains are neighbored and drawHeightmap is set to false
  • Terrain: Fixed crash on creating terrain with large heightmap resolution by script
  • UNET: Fixed - Data can be lost on reliable channel
  • Fix issue where UnityEvents would lose their target function on assembly rebuild
  • Fix null reference on EventTrigger component when accessing delegates list. Some situations could cause it to not be initialized.
  • VR: Use camera's initial transform as the origin transform for headtracking.
  • VR: Fix stereo separation, culling / clipping, translation issues when a scale is applied to parent cameras.
  • Graphics: Make editor switch the active graphics API when removing first entry from the list too.
  • Animation Window: Update view correctly after unlocking the animation window.
  • Animation Window: Using comma and dot keys in value editing no logger trigger hotkeys for moving to next/prev frame

New in version 5.0.1 Patch 4 (May 8th, 2015)

  • Improvements:
  • Editor: Added Android 5.0 and 5.1 to "Minimum API Level" list.
  • iOS/IL2CPP: Avoid generating NullReference checks on value types.
  • iOS/IL2CPP: Improve performance of finally blocks.
  • iOS/Metal: Better support for native rendering plugins when using Metal.
  • iOS: Enabled thumb instruction support for IL2CPP ARMv7 slice. Should improve ARMv7 slice code size by 10-20%.
  • Windows Standalone: Hint to AMD driver that discrete GPU should be used, rather than integrated GPU.
  • Fixes:
  • (690199) - Android: Apply Holo or Material theme if the user did not specify other explicitly.
  • (685837) - Android: Apply user theme if set.
  • (690761) - APIUpdater: APIUpdater assumes script encoding is UTF-8.
  • (689626) - APIUpdater: APIUpdater crashes when updating methods that return arrays of generic types.
  • (637947) - APIUpdater: Unity imports/upgrades DLL built for 4.x twice and it throws errors after first import.
  • (678039) - Asset Management: PluginImporter settings for OSX native plugins will no longer be lost in .unitypackage files.
  • (693223) - AssetBundle: Fixed the issue that scene AssetBundle didn't get rebuilt when the referenced prefabs were changed.
  • (693001) - Editor: Android - Fixed updating SDK on x86 Java on Windows.
  • (none) - Input: Input.GetJoystickNames() on Windows no longer returns a single blank entry when no joysticks are connected.
  • (662515) - Input: Input.mousePosition is clamped correctly when a Windows player is resized.
  • (693357) - iOS/IL2CPP: Added support for string.Normalize.
  • (693902) - iOS/IL2CPP: Avoid class initialization and metadata construction deadlocks.
  • (691588) - iOS/IL2CPP: Correctly lazy initialize the type information when Type.GetDeclaringType is called.
  • (683986) - iOS/IL2CPP: Fixed code generation for binary comparisons containing expressions.
  • (none) - iOS/IL2CPP: Fixed crash when using weak GC handle onstring constants.
  • (691791) - iOS/IL2CPP: Fixed memory leak when using audio callbacks.
  • (687587) - iOS/IL2CPP: Fixed System.Environment.TickCount on iOS.
  • (689347) - iOS/IL2CPP: Fixed unordered comparison opcodes code generation.
  • (693418) - iOS/IL2CPP: Fixed WebClient requests using a timeout.
  • (693204) - iOS/IL2CPP: Removed the option to user precompiled headers in the Player Settings, as this option in no longer supported for the IL2CPP scripting backend.
  • (682109) - iOS/IL2CPP: Fixed an issue where IL2CPP would use -> operator on value types in certain cases.
  • (687551) - iOS/IL2CPP: Using AudioSettings.Reset() no longer crashes on IL2CPP.
  • (682972) - iOS: Fixed crash on rendering empty meshes.
  • (685384) - OpenGL ES 2.0: Fixed shadow acne on GPUs that do not support native shadow samplers.
  • (687407) - OpenGL ES: Fixed crash when attempting to render a mesh with 0 vertices.
  • (685419) - Physics: Fixed crash that happened when toggling "isKinematic" on a body with joint that had joint projection disabled and the body had also been connected to the same group of joints already.
  • (671903) - Physics: Fixed crash when a collider has generated too many contacts.
  • (685092) - Physics: Fixed WheelCollider applying inertia tensor rotation the wrong way.
  • (688782) - Physics: Raised the max colliders per scene limit on mobile platforms, from 32K.
  • (675498) - Samsung TV: Fixed crash on close issue.
  • (682474) - Shaders: Don't crash in shader warmup on "-nographics" device.
  • (none) - Shaders: Fixed some loops being miscompiled for DX9.
  • (693678) - Shaders: Fixed some sampler precision issues in glsl-optimizer; was resulting in missing cast on Metal when sampling depth texture with explicit LOD.
  • (584507) - Substance: Fixed 'path != ""' assert when live-previewing a Substance from the Asset Store.
  • (none) - Substance: Fixed console spam related to the absence of '_MainTex' shader property.
  • (687647) - Substance: Fixed crash when assigning a shader that does not cause outputs to be generated (e.g. Unlit/Color) to a ProceduralMaterial.
  • (681568) - Substance: Fixed hang in ProceduralMaterial::Clean().
  • (none) - Substance: Global Illumination flags are now correctly handled by ProceduralMaterials.
  • (637533) - UI: PointerEventData.worldPosition and .worldNormal are now set correctly for right-mouse-button and middle-mouse-button events.
  • (none) - WebGL: Fixed stripping (previously failing to register WebCamTexture class in runtime).
  • (640216) - Windows Standalone: Allow to close the main window even with the touch support enabled.
  • (none) - Windows Store/Phone: Unity will always give postprocessed assemblies a new random MVID.

New in version 5.1.0 Beta 5 (May 4th, 2015)

  • Changes:
  • Mecanim: Changes in the behaviour for humanoid controller with generic clip animating a human transform. Before the generic animation for the Human transform had a higher priority than the human animation. Now the Human animation always have the highest priority for humanoid rig overriding any generic animation for this transform, you should see a warning in the inspector if such case is detected with the name of the faulty animation clip and which transform is affected.
  • Improvements:
  • Graphics: Command Buffers can be set on Lights, see LightEvent enum and Light.AddCommandBuffer.
  • XboxOne: Unity is now built with the April 2015 XDK. You will need to install the April 2015 XDK on your PC and use the same or later recovery on your console.
  • XboxOne: Added functions to XboxOnePLM (GetActivationUri, GetActivationTileId, GetActivationArguments) to retrieve cached values. We still recommend listening to OnActivationEvent in your Start() frame, and processing them that way, but this provides an alternative for last-provided values.
  • Editor: When creating new clip from animation window, default to previously used path
  • Windows Standalone: Hint to AMD driver that discrete GPU should be used, rather than integrated GPU.
  • Animation Window: Dialog for the generated clip path/name when GameObject is initialized for animation.
  • Fixes:
  • Graphics: Fixed AfterDepthTexture and AfterDepthNormalsTexture command buffers to be executed after the texture is set as a shader property.
  • Shaders: Fixed shader compilation warnings not being shown if there are no compilation errors.
  • Shaders: Fixed some loops being miscompiled for DX9.
  • OSX: Prevent idle sleep while the player is active.
  • 2D: Do not display sprite mesh wireframe in scene view under any circumstances.
  • 2D: Show both original and atlas format in the preview for packed sprite sheet.
  • 2D: Revert button will reset value correctly in sprite editor window.
  • 2D: Apply button now work correctly between sprite editor window and sprite inspector.
  • 2D: Display dialog box to confirm apply changes when there is a sprite mode changes while opening up Sprite Editor Window.
  • 2D: Using trim button in Sprite Editor window will correctly enable Apply/Revert button.
  • 2D: Slicing by grid in Sprite Editor Window will now limit the input values to the size of the texture.
  • 2D: Undo will not undo applied Sprite Editor Window changes.
  • 2D: Always prompt user to apply unapplied texture setting before opening up Sprite Editor Window.
  • 2D: Height and Width of a sprite rect in Sprite Editor Window will no longer be 0.
  • Animation Window: Context menu for events.
  • Animation Window: Overlapping events stack up properly.
  • Animation Window: Dragging sprite(s) to empty clip.
  • Animation Window: Changing frame rate works as expected.
  • Animation Window: Keyframe of missing sprite no longer has weird visual offset in the dopesheet.
  • Animation Window: Adjusting tangents no longer move the playhead.
  • Animation Window: Adjusting tangent from smooth to flat is always saved.
  • Animation Window: Record mode is correctly cancelled when non-animated object is selected or new scene is created.
  • Animation Window: Prevent dragging other object types to Sprite curve.
  • Animation Window: Disable renaming items in animation window add property popup
  • iOS/IL2CPP: Forward declare empty types (created to end infinite recursion) that are used as method arguments.
  • iOS/IL2CPP: Fix IL2CPP failing to convert an assembly which contains Ldtoken instruction on field that is declared in a generic type. This issue affected CSVHelper.dll plugin.
  • iOS/IL2CPP: Fix crash related to arrays of Enums on 64-bit.
  • iOS/IL2CPP: Return the correct number of write and error sockets from the Socket::Select method.
  • iOS/IL2CPP: Allow Encoding.GetEncoding to return the correct enc.
  • iOS/IL2CPP: Match the behavior of the Mono scripting backend by not stripping the Animation code from the engine when code stripping is enabled.
  • iOS/IL2CPP: Fixed code generation for unsafe fixed arrays.
  • Windows Phone: Fixed anti aliasing for render textures on phones with software navigation buttons.
  • Windows Phone/Store: Fix assembly converter crashing while postprocessing player if non-matching PDB is found.
  • Windows Phone/Store: Fix assembly converter crashing when a type generic class derives from a generic class which has a generic parameter that is array of generic parameters of the derived class (e. g. class Derived : MyBase).
  • OpenGL: Fix crash in vertex stream management.
  • Linux: Fix applying vsync and antialiasing changes without changing quality level
  • Linux: Support more standard screen resolutions.
  • MonoDevelop: Fixed issue with Attach to Process dialog making MonoDevelop unresponsive on OSX.
  • MonoDevelop: Fix issue with file tabs being unresponsive after using auto-hide of panels.
  • Serialization: Reapplied part of non-deterministic material serialization fix, but without increasing memory usage during building.
  • XboxOne: GI files that are part of the mainData will be included in the package manifest.
  • UNET: UNet latency and packet loss can cause exceptions.
  • WebGL: Fix usage of custom templates on windows.
  • Profiler: Fix receive buffer error and hang connection when transferring large chunk of profiler's data.
  • Asset Management: Unity packages now include .meta files for folders, allowing plugin settings for OS X native plugins to be transferred correctly.
  • Mecanim: Fixed update issue with Animator parameter window when going into playmode. Parameter list in the window was not updated anymore.
  • Mecanim: Fixed CycleOffset range for animator state, valid range is between 0 and 1
  • Mecanim: Fixed crash when calling AnimationClip.events from script.
  • Mecanim: Adding a new curve to an AnimationClip with AnimationClip.SetCurve now update correctly the animation length.
  • Mecanim: Fixed Animator exception (m_IsVisibleInScene && IsInScene()) == m_IsVisibleInScene) when disabling a game object with a disabled mesh renderer.
  • Animation Window: Copy-pasting keyframes updates the scene and value fields immediately.
  • Animation Window: Copy-pasting keyframes from set of multiple curves to another set of multiple curves works.
  • Animation Window: Disable locking feature when non-animated object is selected.
  • WebGL: Fix dependency on having cmake and Visual Studio installed on windows to build for WebGL.
  • Profiler: Fix pause when selecting specific frame during Playmode in the Editor.
  • Mecanim: Fixed Blend Tree parameter doesn't get updated in the graph view when changing the blend tree parameter.
  • VR: Device is now initialized before start and awake.
  • VR: Fix issues when camera or parent objects are scaled.
  • VR: Fix performance issue on certain hardware.
  • Editor: Fix Player Settings UI truncation.
  • Windows: Standalone player will not crash on Windows 8.1 or earlier if Direct3D 12 is chosen as the desired graphics API. Instead it will fall back to either Direct3D 11 or 9.

New in version 5.0.1 Patch 3 (April 29th, 2015)

  • Improvement:
  • GI: Don't add lights to Enlighten at runtime if they don't contribute to GI (bounce intensity at 0).
  • XboxOne: Unity is now built with the April 2015 XDK. You will need to install the April 2015 XDK on your PC and use the same or later recovery on your console.
  • XboxOne: Worker threads created by Unity's core systems (Physics, AI) will no longer run on cores 0 and 1, which are reserved for the Rendering thread and Unity's main thread respectively. This will be a performance gain in most cases by avoiding thread context switches.
  • Fixes:
  • (none) - GI: Fixed lightmap resolution overlay not showing up on Terrains.
  • (none) - iOS/IL2CPP: Allow Encoding.GetEncoding to correctly.
  • (687082) - iOS/IL2CPP: AudioMixerSnapshot.TranslateTo no longer throws null reference exception on IL2CPP.
  • (673634) - iOS/IL2CPP: Fixed code generation for unsafe fixed arrays.
  • (687284) - iOS/IL2CPP: Fixed TerrainData.GetAlphaMaps crashing on IL2CPP.
  • (690482) - iOS/IL2CPP: Forward declare empty types (created to end infinite recursion) that are used as method arguments.
  • (685169) - iOS/IL2CPP: Generate C++ code which will compile when a nested generic passes the maximum depth for recursive nested generics.
  • (684129) - iOS/IL2CPP: Match the behavior of the Mono scripting backend by not stripping the Animation code from the engine when code stripping is enabled.
  • (681344) - iOS/IL2CPP: Return the correct number of write and error sockets from the Socket::Select method.
  • (689806) - iOS/IL2CPP: Fixed crash related to arrays of Enums on 64-bit.
  • (687201) - iOS/IL2CPP: Fixed IL2CPP failing to convert an assembly which contains Ldtoken instruction on field that is declared in a generic type. This issue affected CSVHelper.dll plugin.
  • (none) - iOS/IL2CPP: Fixed overflow arithmetic instruction handling.
  • (673795) - iOS/IL2CPP: Implemented Assembly.CodeBase by returning the value of AssemblyName.Name.
  • (none) - iOS: Added Xcode 6.3 Build & Run support.
  • (689620) - Mecanim: Fixed Blend Tree parameter doesn't get updated in the graph view when changing the blend tree parameter.
  • (none) - Mecanim: Fixed crash when calling AnimationClip.events from script.
  • (551703) - MonoDevelop: Fixed issue with file tabs being unresponsive after using auto-hide of panels.
  • (669208), (675021), (690162) - MonoDevelop: Fixed issue with Attach to Process dialog making MonoDevelop unresponsive on OSX.
  • (690124) - Physics 2D: Don't suppress gravity when a Rigidbody2D.MovePosition is taking place.
  • (692409) - Physics 2D: Ensure that 2D Box/Circle cast methods support shape being overlapped initially.
  • (690255) - Physics 2D: Ensure that a 2D joint created from script is correctly enabled.
  • (691289) - Physics 2D: Setting center-of-mass on a Rigidbody2D now doesn't result in bad rotational inertia.
  • (none) - SamsungTV: Fixed bug where cursor would stop moving when timeScale was set to 0 on 2013 TVs.
  • (none) - SamsungTV: Fixed problem where native plugins would not be found on retail 2015 TVs.
  • (687280) - SamsungTV: Fixed race condition crash that originated from within mono when NumberFormatter was being called from a non-main managed thread.
  • (690981) - Windows Store Apps/Windows Phone 8.1: Unity will correctly hide password when using GUI*.PasswordField on touch based devices.
  • (689028) - Windows Store Apps/Windows Phone: System.IO.File.Exists should work even if you specify forward slashes which is invalid in WinRT platforms, Unity will convert them to backwards slashes.
  • (none) - Windows Store Apps: .NET Core plugins without placeholders, won't be passed to Mono compiler, like it was to 4.6.
  • (none) - XboxOne: Fixed port assignments so Unity Profiler and Debugger work more consistently
  • (none) - XboxOne: Lightmaps for scene 0 are now included in the package manifest.
  • (none) - XboxOne: The /updcompat option for makepkg.exe now has a space before it so it's read by the tool correctly.
  • (none) - XboxOne: The file path used for makepkg.exe is now quoted when a custom manifest file is used.
  • (685139) - XboxOne: Application.OpenURL is now implemented on Xbox One. Calling it will open the Internet Explorer App.

New in version 5.0.1 Patch 2 (April 24th, 2015)

  • Improvements:
  • Physics 2D: Added 'AreaEffector2D.useGlobalAngle' to allow the selection of whether the force-angle is global or local.
  • Physics 2D: Added 'Effector2D.useColliderMask' to allow the selection of whether the effector collider mask is used or the global collision matrix.
  • Physics 2D: Added 'Rigidbody2D.IsTouching' and 'Rigidbody2D.IsTouchingLayers' to complement the same on 'Collider2D' and 'Physics2D'.
  • Physics 2D: Renamed 'AreaEffector2D.forceDirection' to 'AreaEffector2D.forceAngle' (sciprts are automaticallly updated).
  • Fixes:
  • (689104) - AI: Allow setting slope above 60 deg by using serialized object.
  • (none) - AI: Fixed buggy example code for script API example.
  • (684325) - AI: Handle out of memory when building huge world.
  • (649274), (666076), (677903), (680277), (635004), (685352), (668927), (649667), (683687), (678768) - Documentation: A number of bugs have been fixed.
  • (680503) - Documentation: Ridigbody typos fixed.
  • (688144) - Editor: Fixed Camera.SetTargetBuffers with AA-ed renderbuffers.
  • (687082) - iOS/IL2CPP: AudioMixerSnapshot.TranslateTo no longer throws null reference exception on IL2CPP.
  • (none) - iOS/IL2CPP: Fixed overflow arithmetic instruction handling.
  • (681872) - iOS/IL2CPP: Fixed stripping issue when NavMeshAgent was referenced only from scripts.
  • (687284) - iOS/IL2CPP: Fixed TerrainData.GetAlphaMaps crashing on IL2CPP.
  • (685169) - iOS/IL2CPP: Generate C++ code which will compile when a nested generic passes the maximum depth for recursive nested generics.
  • (673795) - iOS/IL2CPP: Implemented Assembly.CodeBase by returning the value of AssemblyName.Name.
  • (687218) - iOS/IL2CPP: Prevent a stack overflow in il2cpp.exe when it converts have an infinitely recursive generic type with an array generic argument.
  • (689908) - iOS/Metal: Fixed crash in WarmupAllShaders when called in update with AA-ed backbuffer.
  • (681197) - iOS/Metal: Fixed WebCamTexture.videoVerticallyMirrored.
  • (689984) - iOS: Fixed WebCamTexture.didUpdateThisFrame.
  • (690742) - OpenGL: Fixed a crash in vertex stream management.
  • (682428) - Physics 2D: 2D physics will now give deterministic results on the same device when entering play-mode in the editor.
  • (661823) - Physics 2D: Fixed regression where PlatformEffector2D 'One Way' would allow a collider to pass but then begin to collide with it.
  • (none) - VR: MSAA autoresolve fixed for GLES 3.0 devices.
  • (none) - WebPlayer: Workarounds for new Chrome, where NPAPI is disabled by default.
  • (640655) - Windows Phone 8: Uppercase first letter in InputField.
  • (687469) - Windows Phone 8: Windows Phone 8 specific plugins (compiled against Windows Phone 8 .NET) which don't have a placeholder won't be passed to the Mono compiler, like it was in 4.6.
  • (none) - Windows Store/Windows Phone 8.1: Fixed an issue which caused types unavailable in .NET for Windows Store but available in Unity's replacement library not to be resolved if they were in a plugin.
  • (none) - XboxOne: Fixed a crash that can happen when shutting down the audio device.
  • (683403) - XboxOne: Fixed compute shader UAV buffer read/write and memory access.

New in version 5.1.0 Beta 4 (April 24th, 2015)

  • Features:
  • UNET: Peer discovery in local network.
  • Windows Store Apps/Windows Phone: Added support for UNET.
  • Changes:
  • Input: Default binding for 'Fire3' in new projects changed from Left Cmd to Left Shift, for benefit of Windows user experience.
  • Improvements:
  • BuildPipeline: There will be fewer differences between the exported data files from subsequent builds of your project when using the same version of Unity. For best results, close Unity and delete your project's Library folder before making an important build.
  • Editor: Hex Color Field added to Color Picker (video: http://files.unity3d.com/mads/HexColorField.swf).
  • Editor: Added extensive support for copy/pasting colors: Copy/paste from focused color field, from context menu for color field, from color picker (with no text selected) and from hex field.
  • Scripting: Added Vector2.Reflect function.
  • XboxOne: IPv6 lookup and DNS support added for C# code.
  • XboxOne: Lightmap files are now split up per level and put in separate chunks in the package manifest.
  • XboxOne: Worker threads created by Unity's core systems (Physics, AI) will no longer run on cores 0 and 1, which are reserved for the Rendering thread and Unity's main thread respectively. This will be a performance gain in most cases by avoiding thread context switches.
  • XboxOne: More comments have been added to the default package manifest.
  • Plugin Inspector: You can now select multiple plugins and change compatible platforms. Note - you cannot yet change per platform settings if multiple plugins are selected.
  • Fixes:
  • Editor: Fix text fields content switch between build settings in some cases.
  • Editor: Fix GUIStyle errors on import (delay GUIStyle initialization to OnGUI).
  • Editor: Fix layers popup showing in the top left of the window and not below layers button.
  • Editor: Fix player settings window accessing non-initialized property.
  • Editor: Update m_GUIDToPath when moving asset to path name with different case.
  • Input: Input.mousePosition no longer clamped to old window size when a Windows Standalone player window is resized.
  • Input: Input.GetJoystickNames() on Windows Standalone no longer returns a single blank entry when no controllers are present.
  • iOS/IL2CPP: Prevent a stack overflow in il2cpp.exe when it converts have an infinitely recursive generic type with an array generic argument.
  • iOS/IL2CPP: Implemented Assembly.CodeBase by returning the value of AssemblyName.Name.
  • iOS/IL2CPP: AudioMixerSnapshot.TranslateTo no longer throws null reference exception on IL2CPP.
  • iOS/IL2CPP: Fixed TerrainData.GetAlphaMaps crashing on IL2CPP.
  • iOS/IL2CPP: Fix overflow arithmetic instruction handling.
  • iOS/IL2CPP: Generate C++ code which will compile when a nested generic passes the maximum depth for recursive nested generics.
  • iOS/IL2CPP: Prevent an iOS player which does not use any code from the UnityEngine.Networking.dll assembly from crashing at startup while trying to call that code.
  • Linux: Fix OS version check when lsb_release isn't present.
  • OSX: Fix "Default is native resolution" setting.
  • OSX: Fix resolution update race when resizing window.
  • Shaders: Fix standard shader cutout rendering being wrong when rendering with shader replacement.
  • Shaders: Fixed HLSL log10() translation into OpenGL/Metal platforms.
  • UI: PointerEventData.worldPosition and .worldNormal set correctly when handling a middle-mouse or right-mouse event,
  • UI: Fix regression where deactivated UI components did not disappear.
  • Windows Store Apps: Fixed crash if using an unsupported image effect.
  • XboxOne: Removed additional null character in persistantDataPath.
  • XboxOne: Systems that use a cache now use the console's T: drive.
  • XboxOne: special characters are removed from Product name, avoiding use of characters the packaging tools don't like.
  • XboxOne: Crash when using Clear Depth Only, support for capturing RenderTextures of different bit depths.
  • XboxOne: Fixed compute shader UAV buffer read/write and memory access.
  • XboxOne: Application.OpenURL is now implemented on Xbox One. Calling it will open the Internet Explorer App.
  • XboxOne: Launch range is now capped to the number of scenes rather than scenes+1.
  • XboxOne: Lightmaps for scene 0 are now included in the package manifest.

New in version 5.1.0 Beta 3 (April 17th, 2015)

  • FEATURES:
  • Editor: Home Window Login integration. You can now login or work offline using the home window or command-line arguments.
  • Editor: Home Window License integration. You can now validate your serial and activate your copy of Unity using the new 5.1 json licensing API through the home window.
  • Graphics: Crunch texture compression format on platforms which support DXT. This is a lossy compression that is both small on disk/download and compressed (DXT1/DXT5) for the GPU.
  • Graphics: Experimental support for OpenGL 4.5 and ES 3.1 on Windows. Use -force-glcore, -force-gles(20|30|31|31aep) arguments to enable. This enables testing OpenGL ES 3.1 features on desktop. Note: no GL4 support on Mac yet.
  • Networking: New multiplayer networking feature introduced, see the manual and UnityEngine.Networking namespace in the script reference for details. This includes low level API (transport layer) and a higher level API with many features to help implement multiplayer functionality in games. Cloud based relay service can be used to get past NAT restrictions, and a simple matchmaking service can be used for game/host discovery. To configure the services go to https://unet.cloud.unity3d.com. This replaces the current RakNet based multiplayer feature.
  • Runtime: Added assertion library under UnityEngine.Assertions namespace
  • Shaders: OpenGL ES 3.0+ will use a new shader compiler backend. Based on HLSL + github.com/James-Jones/HLSLCrossCompiler + glsl-optimizer. This enables compute shaders on ES3.1 and other modern features. Existing Cg/HLSL compute, geometry and tessellation shaders can be used via automatic translation as well as with direct GLSL snippets. Note: Memory layout rule differences between DX and GL must be taken into account on the buffer data uploads.
  • Unity Analytics: New, built-in Analytics functionality introduced (currently in “Preview”), including higher-level, flexible APIs to track almost every kind of action in your game. We eliminated the need to download and import additional plug-ins to start using Analytics. To get started, simply visit http://analytics.unity3d.com to generate the unique ProjectId that you’ll use to associate your project with your Analytics dashboard, as well as access the relevant documentation and integration instructions. Note: 4.x-5.0 Editor users can still use Analytics by integrating the downloadable SDK package. For 5.1 users, adding the plug-in should not result in errors, nor will it result in duplicate data, but we still advise that you remove the old plug-in assets.
  • SDK integration in Preview mode, get started by visiting our dashboard at blah to get your unique Project ID and integration step-by-step guide. No more need to download and import any SDK packages.
  • VR: Added integrated support for Oculus Rift in Editor and Standalone Players. Once Virtual Reality is enabled in Player Settings, pressing play in the editor will show your game view on the rift. It is recommended to "Maximize on Play" the game view in order to achieve smooth rendering. Be sure to remove any previous Oculus plugins from your project.
  • Editor: New HDR Color Picker:
  • Improves the Standard shader workflow for changing the emission color property.
  • The emission color can now be animated from the animation window.
  • Using scripting API to change emission will now be reflected in the shader gui.
  • Color Presets now also support HDR colors. Saving a HDR color will overlay a lowercase 'h' on the preset swatch.
  • Color property fields can now be customized with the ColorUsageAttribute (show/hide alpha value, is HDR)
  • Graphics: OpenGL ES 3.1 support on Android:
  • New graphics levels (OpenGL ES 3.1, OpenGL ES 3.1 + AEP)
  • Compute shaders
  • Geometry shaders
  • Tessellation shaders
  • Advanced blend modes
  • CHANGES:
  • Animation Window: Dope sheet editor uses Command instead of Control for toggle-selecting on Mac OS
  • Animation Window: Double-clicking a key in the curve editor now selects the whole curve. Double-clicking part of the curve still creates a new key at this position
  • Editor: Incremental naming of instantiated GameObjects to use format: MyName, MyName (1), MyName (2)
  • Editor: Rename and introduce a some GizmoType enum values to be more explicit about how they work with selection hierarchy. See the docs.
  • Editor: Unmaximize maximized GameView on start up if maximize on play is enabled
  • Graphics: Deprecated player settings useDirect3D11, targetGlesGraphics, targetIOSGraphics properties. Use SetGraphicsAPIs and friends.
  • Graphics: Make Material(string) constructor script API obsolete with a warning.
  • Graphics: LOD fade mode is now assigned to the whole LODGroup as None, Cross-fade or SpeedTree.
  • iOS: By default iOS builds now only support Metal & OpenGL ES 2.0. If you need OpenGL ES 3.0, you can specify that under player settings.
  • Terrain: TerrainData.alphamapTextures is now exposed to script.
  • Version Control: Allow edit of imported/native asset with respect to meta/asset file being checked out
  • WebGL: memory size is now written to the generated html to make it easier to change it without rebuilding the player
  • WebGL: Player Settings UI is now consistent with other platforms
  • WebGL: Static batching is now disabled by default to improve build sizes
  • WebGL: switch audio format used to AAC
  • Mecanim: Added warning message for transitions without any condition. Those transitions are ignored.
  • Xbox One: Unity now builds with the March 2015 XDK. You must install the March 2015 XDK on your PC and use the same or later recovery on your console.
  • GI: Change the "continuous baking" label to something shorter and better. Is now "Auto" with a tooltip added for an extra bonus.
  • GI: When hard shadows are selected baking will use a directional spread of 0 and a point radius of 0. Also, the UI for spread/point are disabled when shadows are not set to soft.
  • GI: Auto baking is now disabled by default in 2D projects.
  • IMPROVEMENTS:
  • Android: New Sensor/rotation code that tries to figure out 'reversed rotation devices'
  • Android: Improved soft input dialog
  • Android: Apply DeviceDefault theme if available, respect user's theme
  • Animation Window: Copy-pasting keyframes in animation window curve view and between clips.
  • Animation Window: Curve editor supports range selection with shift-click
  • Animation Window: Curve editor supports toggle selection with command-click (control-click on Windows)
  • Animation Window: Direct editing of key values in curve editors. Use Enter/Return or context menu to start editing selected keys, Tab to switch between fields, Enter/Return to commit, and Escape to cancel editing
  • Animation Window: Dope sheet editor supports Control-click as well as right-click on Mac OS
  • Animation Window: Dragging a curve no longer loses the current selection
  • Animation Window: Keyframe selection is synced between dopesheet and curve view.
  • Animation Window: Lock button that locks the selection to currently selected clip and Animator.
  • Animation Window: Slightly increased the clickable radius for keyframes in the curve editor
  • Curve Editor: Wrap mode enum popup modified to appear as a little gear, which fits nicely in the margin without being cropped.
  • Documentation: Show "construct type" for class/struct/interface
  • Editor: Adding an icon to an EditorWindow title is now exposed by using the GUIContent 'titleContent' property (the old string 'title' is now obsolete)
  • Editor: Create sprite animation clip from project window context menu.
  • Editor: Improved grid in Scene View. Eliminates the popping and inconsistent draw distance of the old grid, and also draws grid lines smaller than one unit (10th of a unit, 100th of a unit and so on) when sufficiently zoomed in. New grid shading makes it possible to have grid lines more dense in close parts of the grid without the parts further away being too dense.
  • Editor: Introduced CreateAssetMenu attribute. Apply it to ScriptableObject-derived types to cause them to show up automatically in the Assets/Create menu.
  • Editor: Introduced HelpURL attribute, for setting custom documentation URL for user-authored classes.
  • Editor: Simple expression evaluator for all number fields. Supports + - / * % ( ) operators. This means that all number fields can be used as a calculator.
  • FrameDebugger: Shader blend, depth and raster states will be shown for draw calls.
  • GI: Final gather was moved into a separate stage. This allows the indirect baking stage to apply visibility aware upsampling to the indirect lightmap before final gather is applied for better quality.
  • GI: Reduce the amount of GI related information that is written to the log file
  • Graphics: Added a way to specify graphics APIs explicitly in player settings (defaults to "automatic" for each platform). For example, you could specify you only want to support Metal+ES2 in iOS builds, or only DX11 (without DX9 fallback) on Windows builds etc. This replaces the "Use DX11" and "Target iOS/GLES Graphics" settings.
  • Graphics: Performance improvements on DX11 when many non-batchable objects are in view.
  • Graphics: Add CommandBuffer.DrawProcedural and DrawProceduralIndirect.
  • Importer: Added warning foldout to keep trace of all import warning in the ModelImporter animation tab.
  • Math: Rect(Vector2, Vector2) constructor overload added
  • Mecanim: You can now control your AnimatorState.speed/mirror/cycleOffset at runtime with controller's parameter
  • Mecanim: Added AnimatorController.GetBehaviours() API function to simplify how user can query their behaviour on the asset
  • Mecanim: Transition duration can now be specified in absolute time
  • Mecanim: Do not allow scene objects in AnimatorController's Motion ObjectField
  • Mecanim: Added options "Add Motion", "Add Blend Tree" and "Delete" to contextual menu for blend tree
  • Mecanim: Allow animator window to be locked
  • Mecanim: Exposed ApplyBuiltinRootMotion to script
  • Mecanim: Added dragging controls on the time bar and on the background of the blending in the transition inspector
  • Mecanim: Transition can now be copy pasted
  • Mecanim: Deleting a layer that has other layers synchronized on itself will also delete all the dependent layers (with a prompt)
  • Miscellaneous: Resolution.ToString() implemented
  • MonoDevelop: Including MonoDoc XML files for showing C# Intellisense tooltips in MonoDevelop
  • Physics: Add motion constraints to Rigidbody2D
  • Physics: Optimized performance of ‘OnTriggerStay’ messaging.
  • Profiler: Change ms markers in timeline view to use same label style which makes it also properly visible in both skins.
  • Profiler: Don't show FPS for every ms marker along the x axis in the timeline view - only for the last one.
  • SpeedTree: A new importer setting "Animate Cross-fading" is added to SpeedTree assets. With this option on (by default), the dithering LOD transition between mesh/billboard and billboard/culled will be animated by time. This should make the trees look better in most of the scenarios.
  • SpeedTree: Now wind animation will not be interrupted if the tree gets out side of the view.
  • SpeedTree: Tree casts shadow when in cross-fading to billboard
  • Serialization: Extended SerializedFile size limit to 4GB
  • Texture2D: Add Texture2D.GetRawTextureData() API
  • Profiler: Fix unaligned labels for ms counts in current frame.
  • Version Control: CheckoutIsValid now accept a CheckoutMode
  • Version Control: Collapse assets and their .meta files in versioning window when they have the same state
  • VR Optimization: Render shadows only once and share between eyes
  • WebGL: Made "Explicitly Thrown Exceptions Only" mode much faster and be the default setting
  • WebGL: Support Input.touches and Input.acceleration
  • Windows Store Apps: Copy pasting will also work outside the application.
  • Windows Store Apps: Exposed Rendering path in Player Settings
  • Windows Store Apps: Refactored App.xaml.cs and MainPage.xaml.cs, it's easier now to add additional XAML pages to the project
  • Xbox One: Added support for XMA audio format
  • FIXES:
  • 2D: Double Clicking on a Sprite will not ignore External Tools prefs now.
  • 2D: Fixed Corrupted Sprites in Sprite Packer for iOS and Android
  • 2D: Fixed error appeared if Sprite was sliced only for 1 slice
  • 2D: Losing focus in Sprite Editor will now always show Apply/Revert popup.
  • 2D: Scene View picking always picks the visually top-most for different SortingLayers and z-depths
  • 2D: Sprites now generate Preview Images in the Inspector when using object field
  • 2D: Added Vector2.down and Vector2.left properties
  • 2D: Always default to use "Rect" tool if project started as a 2D project.
  • 2D: Avoid editing/deleting a polygon collider point while panning the scene view.
  • 2D: Fix some edge cases that will result in odd shape during sprite editor's automatic slicing.
  • 2D: Material field from SpriteRenderer no longer behaves as array type.
  • 2D: Fix occasion crashes while building on 'Repacking sprite aliases'
  • 2D: Sprite Atlas will no longer produces errors at low resolutions
  • Android: Fix for spaces being replaced with underscores in app titles
  • Android: Input - Fix axis stuck on Android TV after hiding keyboard
  • Android: Buildpipe - detect plugin errors when package names differ only by cases
  • Animation Window: Fixed an issue where keys on some curves were harder to click than others
  • Animation Window: Fixed an issue where pushing Cancel when saving a new curve would throw an exception
  • Asset Store: Fix download progress for packages larger than 2GB
  • Core: Fixed some memory leaks in the Editor and Players.
  • Editor: Calling Undo.RecordObject on editor objects no longer dirties the scene.
  • Editor: Clear old main menus on OSX
  • Editor: Do not change selection when duplicating while dragging
  • Editor: Fix crash when two inspector windows are open
  • Editor: Fix cubemap preview icons showing as white textures in Project Browser and Object Picker.
  • Editor: Fix default cursor appearing during editor startup on OSX
  • Editor: Fix Float Fields not accepting Infinity correctly
  • Editor: Fix undo of reset position/rotation/scale
  • Editor: Scene View will no longer have tint applied when entering play mode.
  • Editor: Update menu items when assemblies are loaded in the editor
  • Editor: Update ShaderGUI for MaterialEditor when shader changes
  • Editor: Use IntField instead of FloatField for Sprite Editor
  • Editor: Plugin inspector - set ARMv6 Android plugins incompatible to avoid collisions
  • Editor: Make Android and iOS splash screen separate settings (no longer shared)
  • Editor: Fix DecoratorDrawers being shown twice for properties with custom PropertyDrawers that call into the default PropertyField implementation.
  • Editor: Fixed crash when attempting to add the same component twice to a GameObject in the Editor
  • Graphics: Fixed double-fog in deferred shading + forward-only opaque objects + GlobalFog effect (coming to 5.0 patches too)
  • Graphics: Improved rough front-to-back sorting for opaque objects, for better GPU Z culling efficiency (coming to 5.0 patches too)
  • Graphics: Fixed crash in Instantiate(Mesh) when static batching is used for the Mesh
  • IMGUI: Fixed NullReferenceException when calling GUI.BeginScrollView with 7 arguments
  • iOS/IL2CPP: Fixed a crash with StrangeIOC
  • iOS/IL2CPP: Support Type.MakeGenericType for runtime creation of generic types where the generic arguments are reference types.
  • iOS/ILCPP: Do not emit metadata for generic types at compile time. This significantly decreases the size of the final binary in most cases.
  • iOS/IL2CPP: Type.GetType throws an ArgumentException now when the provided type name was wrong.
  • iOS/IL2CPP: Correct the behavior of CultureInfo.CreateSpecificCulture.
  • iOS/IL2CPP: Fix an issue with open delegates that return void.
  • iOS/IL2CPP: Fixed issues with exception thrown from DateTime constructor, DateTime ToUniversalTime, DateTime ToLocalTime, DateTime IsDaylightSavingTime.
  • iOS/IL2CPP: Fix crashes in socket code due to sockets being destroyed too early and prevent Thread.IsAlive from returning true after thread has terminated.
  • iOS/IL2CPP: Add a null terminator to string arrays when they are marshaled.
  • iOS/IL2CPP: Cast non-pointer references types to System.Object for comparison in conditional statements.
  • iOS/IL2CPP: Additional code size improvements from generic sharing.
  • iOS/IL2CPP: Use the Size field of the StructLayout attribute to pad marshaled types if necessary. This allows Marshal.SizeOf to return the correct value for these types.
  • iOS/IL2CPP: Allow thread-local static fields to work correctly in generic classes. Specifically, this corrects the Parse SDK crash in 4.6.4p1.
  • iOS/IL2CPP: Fix an infinite recursion when constructing generic type.
  • iOS/IL2CPP: Do not write extern declarations inside p/invoke wrappers for methods that return a class or delegate.
  • iOS/IL2CPP: Use the proper type for the result of the IL sub opcode.
  • iOS/IL2CPP: Correct an InvalidCastException that can occur when setting an array value.
  • iOS/IL2CPP: Fixed crash in some cases when accessing an enum inside a generic class.
  • iOS/IL2CPP: Fixed support for type/method names using non ASCII characters.
  • iOS/IL2CPP: Fixed occasional code generation issues when multiple local enum variables are used in conditional expressions.
  • iOS/IL2CPP: Match the Mono behavior which allows inflated generic delegate types like System.Action to be marshaled as normal delegates.
  • iOS/IL2CPP: Fixed File::Replace when destinationBackupFileName is null.
  • iOS/IL2CPP: Fix issue with managed exceptions not being thrown by a method called by Method.Invoke in some cases.
  • iOS/IL2CPP: Make Activator.CreateInstance work for arrays.
  • iOS/IL2CPP: Fix Interlocked.Exchange and Interlocked.CompareExchange for interfaces.
  • iOS/IL2CPP: Fix multidimensional array interfaces.
  • iOS/IL2CPP: Fixed support for enums nested in generic types.
  • iOS: Fixed Xcode project supported platforms and SDKs settings
  • iOS: Fixed duplicate property value removal in certain Xcode projects
  • Mecanim: Fixed animator controller window title
  • Mecanim: Fixed crash when a StateMachineBehaviour disables his own animator component
  • Mecanim: Fixed transitions disappearing when importing a project from 4.x
  • Mecanim: Fixed animation events not fired for non looping clip with length of 0
  • Mecanim: Fixed direct blendtree editor slow down when there is too much motion
  • Mecanim: Fixed copy paste of Animator State with StateMachineBehaviour , StateMachineBehaviour instances were not cloned correctly
  • Mecanim: Fixes crash when disabling animator in OnAnimatorMove
  • Mecanim: Fixed Livelink of AnyStateTransitions
  • Mecanim: Fixed a bug where callbacks called indirectly from ApplyOnAnimatorIK would reset the animator memory and cause a crash
  • OSX: background image used for mac installer packages has been increased in size
  • ReflectionProbes: Buttons "Bake All Reflection Probes" in Lighting window and Reflection Probes inspector should behave correctly now.
  • Profiler: Fix lockup in editor, if left in background with the profiler open
  • Scripting: Fix plugin verification crash on reload/shutdown
  • Scripting: Fix potential crashes on Webplayer
  • Shaders: Don’t crash in shader warmup on "-nographics" device.
  • Terrain: Fixed an issue where painting terrain features while holding down the right mouse button could lock the view tool.
  • Terrain: Terrain brush no longer intercepts mouse events if the mouse cursor doesn't intersect with any terrain.
  • Version control: Fix 'show in explorer' context menu
  • WebGL: Correctly show warning that building for WebGL is not supported in 32-bit editors
  • WebGL: Fix asm.js validation errors
  • WebGL: Fix AudioListener.volume
  • WebGL: Fix banding issues in Standard Shader
  • WebGL: Fix build process running out of memory when compiling very large functions
  • WebGL: Fix Marshal.StringToHGlobalUni
  • WebGL: Fix Unity logo in default template
  • WebGL: Fix "Unknown Error" being displayed in Firefox at startup
  • WebGL: Handle gravity in particle systems better when physics module is stripped
  • WebGL: Make Profiler work on Windows
  • WebGL: Make WebGL correctly detect the Command key on OS X
  • WebGL: Memory sizes are now clamped to valid values
  • WebGL: Will now show rendering path UI in WebGL Player settings
  • WebGL: WWW.progress now correctly reports values between 0 and 1
  • WebGL: Fix looping of audio
  • WebGL: Fix artifacts in imported AudioClips
  • WebGL: OnApplicationQuit now correctly gets called
  • WebGL: WWW class will correctly report errors
  • WebGL: Fix AudioSource.mute
  • WebGL: Fix audio channels being flipped left and right
  • WebGL: Fix some keys being correctly detected in Chrome
  • WebGL:/iOS: Fix crash in UnusedBytecodeStripper on BoxCollider2D/CircleCollider2D center member access
  • Windows Store Apps: Added missing targets 'metroplayer', 'wsaplayer' when used with -buildTarget argument.
  • Windows Store Apps: extended splash screen should not be related to composition scale
  • Windows Store Apps: fix build failure when project path contains word "Assets"
  • Windows Store Apps: Fix building and running from directory with Unicode characters in ti.
  • Windows Store Apps: Fix reported log type for exceptions
  • Windows Store Apps: Plugin folders (for ex., *.bundle) will be ignored and won't cause an error, even if the plugin is selected as compatible with Windows Store Apps.
  • Windows Store Apps: Touch positions will be correctly reported when SwapChainPanel occupies only part of the screen.
  • Windows Store Apps: use XAML Frame and navigation
  • Windows Store Apps/Windows Phone: fix AssemblyConverter failing for structs in other assemblies
  • Windows Store Apps: Fixed deadlock when resizing window.
  • iOS/IL2CPP: Fix a number of problems related to WebRequest and asynchronous I/O:
  • Fix socket I/O requests getting stuck in ThreadPool on POSIX/iOS.
  • Fix race condition in Monitor code that lead to 5 second stalls in Monitor.Exit().
  • Fix ThreadPool not re-using idle worker threads (lead to potentially very high memory consumption and bad performance).
  • Fix ThreadPool upper thread count limits being very low; now roughly the same as on Mono.
  • Fix ThreadPool.SetMinThreads() and SetMaxThreads() having no effect.
  • Share enums and their base types as generic parameters:
  • Allow partial sharing (e.g. Dictionary is shared with Dictionary)
  • Allow sharing when the type parameter constraint is an interface

New in version 5.0.1 Patch 1 (April 16th, 2015)

  • FEATURES:
  • XboxOne: The default update granularity used by XDK's makepkg tool has changed to File granularity rather than Chunk granularity. There is now a setting to control this:
  • Player Settings > Xbox One > Microsoft Xbox One Package Settings > Update Granularity. This property is set to File by default. Chunk is recommended only for games that have already been released using the Chunk granularity, which was the default prior to this build.
  • IMPROVEMENTS:
  • Mecanim: Fix direct blendtree editor slow down when there is too much motion.
  • GI: Made pig assert message human readable.
  • Substance: New Substance features introduced by Substance Designer 5.0 are now supported.
  • XboxOne: Lightmap files are now listed in the package manifest in the same chunk as the scene that uses them.
  • XboxOne: Updated docs to reflect terminology and tools in latest XDK, and added a section on Packaging.
  • Terrain: TerrainData.alphamapTextures is now public.
  • Physics: Report detailed error when generating collision meshes, also during asset import. Simplifies troubleshooting creation of non-triangle collision meshes.
  • CHANGES:
  • XboxOne: Unity is now built with the March 2015 XDK. You will need to install the March 2015 XDK onto your development PC and use the same or later recovery
  • Android: Added support for real 16bit DisplayBuffer. It can only be enabled in PlayerSettings, Handheld.use32BitDisplayBuffer is deprecated.
  • Scripting: GizmoType enum has changed (and is updated by automatic script updater). NotSelected -> NotInSelectionHierarchy. SelectedOrChild -> InSelectionHierarchy. New member NonSelected added.
  • FIXES:
  • (None) - Android: Fixed crash on Application.Quit().
  • (655263, 663232) - Android: Fixed crash in Mono caused invocation of wrong method.
  • (None) - Android: Improved soft input dialog.
  • (678854) - Android: Fixed window buffer leakage
  • (686925, 687417) - Android: Fixed issues with soft input caused by Samsung back button fix
  • (None) - D3D11: Fixed shaders that use min16float types.
  • (682933, 680503, 681749,655755, 618912) - Documentation fixes for 5.0, removed the "Overview" link.
  • (657751) - Windows Store Apps: mouse presence now is detected by mouse activity, which is much more reliable.
  • (677960) - Windows Store Apps: Build&Run disabled when using Unity CSharp projects.
  • (676489) - Mecanim: Fixed animation events not fired for non looping clip with length of 0 second.
  • (681678) - Mecanim: Fixed crash when a StateMachineBehaviour disable an animator component or change something that trigger a Rebind.
  • (667625) - Mecanim: Fixed lost transition when importing a project from 4.x to 5.0.
  • (None) - Mecanim: Fixed a bug where copy pasted states would share the same state machine behaviour instance
  • (672866) - Mecanim: Fixed cannot rename parameter in animator parameter window.
  • (677605) - Editor: Fix crash when PlayerSettings.GetPropertyString is called for not existing property.
  • (681118) - Asset Importing: Fix importing of an assembly that contains classes inherited from generic engine's classes.
  • (674666) - Windows Store Apps/Windows Phone: Fix NullReferenceException in SerializationWeaver.
  • (677718) - Windows Store Apps/Windows Phone: Fix AssemblyConverter failing due to types from other module.
  • (681778) - iOS: fix memory corruption and crash initiated by calling WebCamTexture.Stop().
  • iOS: fix assert in corner case when webcam code is trying to pick supported FPS.
  • (684028) - iOS: fix memory leak in iOS WebCamTexture.GetPixels().
  • (673918) - WebGL:/iOS: Fix crash in UnusedBytecodeStripper on BoxCollider2D/CircleCollider2D center member access.
  • (684075) - Graphics: Fixed double-fog in deferred shading + forward-only opaque objects + GlobalFog effect.
  • (683230) - Graphics: Improved rough front-to-back sorting for opaque objects, for better GPU Z culling efficiency.
  • (677823) - GI: With continuous baking enabled and baked light, light probes stop working after exiting play mode.
  • (649888) - GI: Entering play mode while baking with on demand makes bake indication get stuck and game show incorrect result.
  • (680461) - GI: Ambient light is not shown after baked data is cleared.
  • (683277) - GI: Reloading scene makes the background darker.
  • (679115) - GI: Fix crash caused by Unity reading GI files as resource files and a certain GI file had data that looked like a header but caused a huge allocation.
  • (668622) - IMGUI: Fix calculation of TextGenerator vertices position when lineSpacing is 0.
  • (676557) - Substance: It is no longer possible to dynamically create a ProceduralMaterial using 'new'.
  • (None) - Substance: Entering play mode should no longer cause a rebuild of ProceduralMaterials.
  • (660734) - iOS: Fix HTTPs problem.
  • (None) - Windows Store Apps: Fix issues with plugins in Universal apps, removed SDK property UniversalSDK81 from plugin inspector, as it didn't make sense. Also having Windows 8.1 and Windows Phone 8.1 specific plugins won't longer cause building to Universal apps to fail.
  • (682161) - iOS: Fix crash when rendering empty meshes.
  • ([679397] (http://issuetracker.unity3d.com/issues/www-forms-do-not-work-properly-in-webplayer-unity-5)) - WebPlayer: Fixed WWW form posting.
  • (672816) - WWW: WWW.Dispose sometimes hung Unity on a very slow connection.
  • (680421) - Scripting: Allow a component which derives from a type in UnityEngine.UI and is built in a custom assembly to be used in the project.
  • (684809) - Plugins: Fixed invalid plugin collisions, for ex., in cases where plugin is unsupported by OS, but was still being used.
  • (681448) - WindowsPhone8: Fixed AssemblyConverter error, where sometimes it would fail to find references.
  • (None) - XboxOne: Fixed a rare startup crash that usually manifested as a crash in the audio driver, sometimes showing up as a stack buffer overrun exception.
  • (None) - XboxOne: Made Mono's exception handler treat unexpected exceptions (ex: not a breakpoint) better. This should remove some instances where a crash dump was not created.
  • (671030) - XboxOne: Crash when using Clear Depth Only, support for capturing RTs of different bit depths
  • (679888) - XboxOne: Bloom artefact when using MSAA is now fixed.
  • (680223) - XboxOne: Bad image from Kinect fixed, YUY2 support.
  • (680229) - XboxOne: DOF image effect on fade sprites fixed.
  • (681726) - XboxOne: Now matches PC (deferred rendering with HDR related).
  • (682104) - XboxOne: Enabled support for deferred rendering and HDR.
  • (None) - Editor - Other: Fixed ScriptableObject assets to pull icons correctly from their associated script
  • (673701) - Scripting: Re-added a stub for Resources.LoadAssetAtPath which auto-upgrades to AssetDatabase.LoadAssetAtPath
  • (630866) - Asset Bundles: AssetBundle.CreateFromMemory with uncompressed bundles will no longer block the main thread for several seconds.
  • (676156) - Scripting: GizmoType works as expected
  • (679772) - Scripting: Fixed EditorGUI.FloatField and EditorGUILayout.FloatField unable to return negative and positive infinity
  • (672941) - Editor: Scene View content is no longer tinted in playmode.
  • JobSystem: Fixed issue where job system would create long stalls in some cases on processors with hyper threading.
  • (682972, 684020) - iOS: Add dummy vertex channel for missing shader channels when dynamic batching.
  • (685794) - Graphics: Fixed printing of some loops in GLSL/Metal.
  • (679023) - iOS: Fixed duplicate property value removal in certain Xcode projects.
  • (682258) - iOS/IL2CPP: Fixed a crash with StrangeIOC.
  • (None) - iOS/IL2CPP: Support Type.MakeGenericType for runtime creation of generic types where the generic arguments are reference types.
  • (None) - iOS/ILCPP: Do not emit metadata for generic types at compile time. This significantly decreases the size of the final binary in most cases.
  • (None) - iOS/IL2CPP: Type.GetType throws an ArgumentException now when the provided type name was wrong.
  • (683461) - iOS/IL2CPP: Correct the behavior of CultureInfo.CreateSpecificCulture.
  • (677402) - iOS/IL2CPP: Fix an issue with open delegates that return void.
  • (676847,680379,672199) - iOS/IL2CPP: Fixed issues with exception thrown from DateTime constructor, DateTime ToUniversalTime, DateTime ToLocalTime, DateTime IsDaylightSavingTime.
  • (673828,679044,681132) - iOS/IL2CPP: Fix crashes in socket code due to sockets being destroyed too early and prevent Thread.IsAlive from returning true after thread has terminated.
  • (683671,683658) - iOS/IL2CPP: Add a null terminator to string arrays when they are marshaled.
  • (675659) - iOS/IL2CPP: Cast non-pointer references types to System.Object for comparison in conditional statements.
  • (669606) - Scene/Game View: Fix the issue about cannot select objects after importing the legacy packages.
  • (685687) - AssetBundle: Fix the issue that prefab loaded from AssetBundle lost the reference to a material in a variant AssetBundle.
  • (681301) - AssetBundle: Make the error message more informative when building AssetBundles.
  • (687674) - Windows Store Apps: fix build from editor when C# projects are enabled.
  • (673862) - Windows Standalone: Connecting USB devices should no longer throw spurious warnings.
  • (672439) - Physics: Fix cases where HingeJoint settings, like useMotor and useLimits, were not correctly applied.
  • (674144) - Physics: Fix crash on scene load when Cloth component is missing a SkinnedMeshRenderer component.
  • (670879) - Physics: Report error when trying to create a non-convex MeshCollider with Trigger enabled.
  • (680505) - Physics: Fix crash when the transform scale on a MeshCollider had an axis set to zero. Request will now be ignored.-
  • (674914, 672089) - Physics: Fix incorrect bounds of a capsule collider.
  • (671974) - Physics: Protect SetSteerAngle from setting wheel angles that are bad for PhysX.
  • (681358) - Physics: Fix capsule height being incorrectly computed in sweeps and casts code.
  • (683712) - Physics: Don't allow to break rotational DoF lock by setting angularVelocity directly.
  • (671903) - Physics: Fix crash that could occur when a body had more than 64 contacts generated.
  • (670888) - iOS/IL2CPP: Use the Size field of the StructLayout attribute to pad marshaled types if necessary. This allows Marshal.SizeOf to return the correct value for these types.
  • (669983) - iOS/IL2CPP: Allow thread-local static fields to work correctly in generic classes. Specifically, this corrects the Parse SDK crash in 4.6.4p1.
  • (686153) - iOS/IL2CPP: Fix an infinite recursion when constructing generic type.
  • (686028) - iOS/IL2CPP: Do not write extern declarations inside p/invoke wrappers for methods that return a class or delegate.
  • (684417) - iOS/IL2CPP: Use the proper type for the result of the IL sub opcode.
  • (685735) - iOS/IL2CPP: Correct an InvalidCastException that can occur when setting an array value.
  • (672812) - iOS/IL2CPP: Fixed crash in some cases when accessing an enum inside a generic class.
  • (684147) - iOS/IL2CPP: Fixed support for type/method names using non ASCII characters.
  • (686620) - iOS/IL2CPP: Fixed occasional code generation issues when multiple local enum variables are used in conditional expressions.
  • (686477) - iOS/IL2CPP: Match the Mono behavior which allows inflated generic delegate types like System.Action to be marshaled as normal delegates.
  • (687287) - iOS/IL2CPP: Fixed File::Replace when destinationBackupFileName is null.
  • (685474) - iOS/IL2CPP: Fix issue with managed exceptions not being thrown by a method called by Method.Invoke in some cases.
  • (683290) - iOS/IL2CPP: Make Activator.CreateInstance work for arrays.
  • (675374) - iOS/IL2CPP: Fix Interlocked.Exchange and Interlocked.CompareExchange for interfaces.
  • (686168) - iOS/IL2CPP: Fix multidimensional array interfaces.
  • (687479, 681688) - iOS/IL2CPP: Fixed support for enums nested in generic types.
  • (None) VR: Fixed GearVR startup crash on Galaxy S6 devices by enabling pbuffer Context support.
  • iOS/IL2CPP: Additional code size improvements from generic sharing:
  • Share enums and their base types as generic parameters.
  • Allow partial sharing (e.g. Dictionary is shared with Dictionary).
  • Allow sharing when the type parameter constraint is an interface.
  • iOS/IL2CPP: Fix a number of problems related to WebRequest and asynchronous I/O:
  • Fix socket I/O requests getting stuck in ThreadPool on POSIX/iOS.
  • Fix race condition in Monitor code that lead to 5 second stalls in Monitor.Exit().
  • Fix ThreadPool not re-using idle worker threads (lead to potentially very high memory consumption and bad performance).
  • Fix ThreadPool upper thread count limits being very low; now roughly the same as on Mono.
  • Fix ThreadPool.SetMinThreads() and SetMaxThreads() having no effect.

New in version 5.0.1 (April 1st, 2015)

  • Improvements:
  • Android: Added framebuffer clear on devices that would prefer framebuffer discard but don't have the required GLES extension.
  • Android: Added profiling stats for blit to screen and input processing.
  • Android: Joystick input optimization, fixes slowdown on some older devices.
  • Android: Parsing device specific XML font configurations to determine system/fallback fonts in addition to the hard-coded list of font names (in 4.6.4 too).
  • Android: Splash screen is now shown in full screen mode.
  • BlackBerry: Passport device now supports landscape orientation.
  • Bug reporter: Added info about license type.
  • Editor: Android; added ability to configure JDK path in the Editor preferences (in 4.6.4 too).
  • Editor: Android TV; added configuration option for D-pad and gamepad support level.
  • GI: Added pushoff for baked lighting, can be used to fix AO artefacts.
  • GI: Allow higher AO exponent in Lighting window.
  • GI: Don't calculate AO when AO exponent is 0.
  • GI: Fixed inconsistent Enlighten build timings; now it should correspond to wall clock time (unless you move at near speed of light relative to your computer, in which case it might still be wrong).
  • GI: Moved baked tag to the proper place in UI.
  • GI: Output more stats per system and in total: vertex count, face count, chart count and texel count.
  • GI: Removed an unnecessary warning that realtime GI is not supported on PS3 and Xbox360 when finishing a bake in non-continuous mode.
  • GI: Sped up baked lightmap compositing.
  • GI: Spit out timings of the precompute and bake to the Editor log. Timer resets when clearing GI data, exiting continuous mode or cancelling a bake.
  • GI: Take texture transparency into account when calculating AO.
  • GI: Users will now be warned when building scenes with Precomputed Realtime GI ticked on platforms that do not support Realtime GI.
  • Graphics: Shaders now read consistent values across platforms for vertex properties that are missing in a Mesh. We have adopted the OpenGL standard, which is that normals default to (0,0,1) and tangents default to (1,0,0).
  • iOS: Improve launch screen support.
  • iOS: Short term fix for occasional input stuttering (in 4.6.4 too).
  • iOS/Metal: Defer [CAMetalLayer nextDrawable] until it is actually needed (helps with occasional framerate hiccups) (in 4.6.4 too).
  • Linux: Query Mesa driver for amount of video memory when feasible.
  • Physics 2D: Allow SurfaceEffector2D to control whether friction or bounce is used upon contact.
  • Physics 2D: Allow SurfaceEffector2D to control whether the impulse force is applied to the center-of-mass or contact-point.
  • Physics 2D: Improve PointEffector2D.distanceScale tooltip/documentation.
  • Physics 2D: Joint2D property 'collideConnected' renamed to 'enableCollision' to match 3D physics.
  • Physics 2D: PlatformEffector2D property renames based upon feedback: oneWay->useOneWay, sideFriction->useSideFriction and sideBounce->useSideBounce.
  • Platforms: Unity Professional users can now optionally show the builtin Unity Splash Screen on applicable platforms, in Player Settings.
  • Version Control: Added shortcut to save changeset window.
  • Version Control: Added "delete empty changesets" button.
  • Version Control: Close change window automatically on success.
  • Version Control: New changesets default to expanded now.
  • Changes:
  • GI: Disabled unused Xbox360 solver data generation.
  • Input: Changed Input.GetJoystickNames() on Windows to always match names to joystick numbers, similar to most other platforms (in 4.6.4 too).
  • iOS: Default scripting backend is set to IL2CPP on iOS.
  • Terrain: Only textures with Repeat wrap mode can be used as terrain splat textures now.
  • Terrain: Removed 'Override Smoothness' option from terrain settings. A new per-splat smoothness property is available when the splat texture has no alpha channel.
  • Fixes:
  • AI: Fixed an issue where using all navmesh area types in mask didn't work.
  • AI: Fixed an issue where warping disabled agents would leak simulated agent.
  • Android: Always enable VSync on Android non-development builds.
  • Android: Build pipeline; fixed AAR manifest merging.
  • Android: Fixed an issue with the multithreaded job system which caused battery drain and bad performance.
  • Android: Fixed Auto target graphics mode on devices which wrongly claim to support OpenGL ES 3.0.
  • Android: Fixed crashes / touch problems when applying ForwardNativeEventsToDalvik to a non-NativeActivity.
  • Android: Fixed immersive mode when returning to activity in Lollipop.
  • Android: Fixed non-hidden status bar and status bar related touch issues.
  • Android: Fixed sensor compensation issue affecting devices when rotated180 degrees.
  • Android: Input - Fixed axis stuck on Android TV after hiding keyboard.
  • Android: Reenabled SSE skinning on x86.
  • Android: Removed some bogus print-outs to the logcat regarding gles_mode and development_player.
  • API Updater: Automatic update from ParticleSystem.CollisionEvent to ParticleCollisionEvent.
  • API Updater: Fixed API updater skipping assemblies in some scenarios.
  • API Updater: Fixed the issue causing crash while checking assemblies for obsolete API usage.
  • Asset Loading: Fixed loading of GI data from an AssetBundle.
  • Asset Loading: Fixed the crash when setting the AssetBundle name in OnPreprocessAudio() callback.
  • Asset Loading: Fixed the issue that streamed scenes don't draw layered UI in canvases correctly.
  • Asset Loading: Fixed the issue whereby streamed scene asset bundles do not allow more than one scene.
  • Asset Loading: Fixed the prefab async loading issue by loading the scripts first.
  • Asset Loading: Fixed the script loading issue when the references are between scripts.
  • Asset Loading: Updated the document to indicate we wanted complete asset paths.
  • Audio: Fixed "Trying to play disposed sound!" error message.
  • Audio: Fixed the "Disable Audio" option, the flag is now correctly used by the standalone player to disable the audio system.
  • Audio: Given AudioImporter overrideSamplerate a default value that makes sense.
  • BlackBerry: Fixed platform lookup from string to be case insensitive.
  • Bug reporter: Fixed issue with submitting files when temp path includes non-ASCII characters.
  • Bug reporter: Fixed the issue causing crash when attaching files on OSX 10.8.5.
  • Bug reporter: Fixed title field validation (the title is now mandatory).
  • Bug reporter: Hidden files are now always included in bug reports.
  • Bug reporter: Make sure the bug reporter triggers from the license error popup.
  • Bug reporter: Updated links to the new Bug Reporter (when it's started from outside the Editor).
  • BugReporter: Send empty subdirectories of directory attachment. Improved filtering of unnecessary subdirectories under Unity project. Can launch when some parts of the engine might not be initialized yet.
  • Deployment Management: Prevent simultaneous launches of Unity loading wrong project.
  • Don't allow AddComponent() calls on object that is currently being destructed (leads to crashes).
  • Editor: "Missing Prefab" placeholders now respects the active state of their parents.
  • Editor: Android - Don't allow to install x86 apk on arm device.
  • Editor: Disable vsync for all views except GameView on OSX.
  • Editor: Fixed an issue where Editor fails to validate serialization layout when building to Windows Store Apps.
  • Editor: Fixed crash when compressing GI cache files with lz4.
  • Editor: Fixed crash when using UnityEditorInternal.InternalEditorUtility.LoadSerializedFileAndForget to load a scene with containing stripped prefab instance objects
  • Editor: Fixed null-ref from SceneView when having a Hierarchy search filter.
  • Editor: Fixed performing Undo on prefab instances where the prefab parent was missing.
  • Editor: Fixed reading very very big scenes with more than 32767 monobehaviours created in Unity prior to Uniy 5.
  • Editor: Fixed the issue producing fatal error when choosing unwritable drive as a GICache folder on OSX.
  • Editor: Fixed undo parenting of prefab.
  • Editor: Necessity of rebuilding .meta files detected incorrectly for projects that contain only directories in Assets/.
  • Editor: OnOpenAsset callbacks are now called for all asset types when doubled clicked in the project browser.
  • Editor: Plugin inspector-set ARMv6 Android plugins incompatible to avoid collisions.
  • Editor: Prefab connection is now broken when rearranging components, even if the components are added to the instance. This enables you to rearrange components on prefab instances without losing the order when saving the scene.
  • Editor: Stripped prefab instance objects are now marked as stripped in the scene file, so the loading code does not try to upgrade objects which would issue wrong warnings and in worst case crashes.
  • Editor: Fixed editor lockup if left in the background and profiler was open.
  • GI: Changing directional mode in lighting tab does not force reflection probe.
  • GI: Clear lightmapping state when wiping the disk cache in order to avoid errors when building lighting.
  • GI: Fixed "Mobile/Unlit (Supports Lightmap)" shader and other fixed function shaders using lightmaps.
  • GI: Fixed rare crash in realtime GI pipeline caused by textures held by worker threads being released too early.
  • GI: Made Gradient ambient mode properly affect realtime and baked GI.
  • GI: Made lightmaps be properly compressed on mobile platforms.
  • GI: Report errors from jobs correctly when run in an external process.
  • GI: Reset the texture filter mode after rendering object preview in lighting window.
  • Graphics: Fixed vertices being lit entirely black on DirectX 11 when normals are missing and the vertex position is (0,0,0).
  • iOS: Added Xcode 6.3 compatibility.
  • iOS: Disabled unnecessary copies of dll files to the Xcode project directory.
  • iOS: Exposed iOSOverrideIPodMusic in player settings.
  • iOS: Fixed a typo in UnityRegisterViewControllerListener().
  • iOS: Fixed an issue with the job system which caused battery drain and bad performance.
  • iOS: Fixed changing from autorotation to enforced screen orientation in case of this orientation being already current.
  • iOS: Report a fake Status: HTTP header for informational purposes.
  • iOS: Show an error on removal of targets in Xcode project.
  • iOS/IL2CPP: Handle 4D arrays.
  • iOS/IL2CPP: Handle delegate invoke with nested delegates where the method which is invoked on the outer delegate is a static method.
  • iOS/Metal: Fixed fixed function shaders with cubemaps.
  • iOS/Metal: Fixed vector_insert_TODO appearing in some shaders.
  • iOS/Metal: Partially fixed performance issue on A7 devices when using Standard shader.
  • Linux: Fixed crash when swapping UI sprites.
  • Oculus: Plugin initialize fixed when GfxDevice had not been Initialized yet.
  • OpenGL: Fixed crash with -force-opengl in Windows Editor when trying to enable DirectX 11 via player settings.
  • Physics 2D: Added 'forceScale' property to SurfaceEffector2D to allow scaling of the impulse force used.
  • Physics 2D: Center-of-mass and Inertia can now be set on a Rigidbody2D component even if it has no Collider2D components attached.
  • Physics 2D: Disabled PlatformEffector2D component now fully disables contact processing.
  • Physics 2D: Fixed console warning of 'm_Effector == effector' when removing an effector inside a prefab.
  • Physics 2D: Fixed PlatformEffector2D so that when stopping inside a collider it doesn't cause a collision for 'one-way'
  • Physics 2D: Stop 2D colliders falling through EdgeCollider2D components.
  • Physics 2D: Stop crash when NULL passed to Collider2D.IsTouching, Physics2D.IsTouching or Physics2D.IsTouchingLayers.
  • Physics: OnJointBreak callback now has correct breaking force magnitude supplied as a parameter.
  • Profiler: Fixed editor slowdown if GPU profiler was enabled when the profiler was stopped or closed
  • Rendering: Now the back buffer is cleared after the resolution is changed from a script in Windows standalone.
  • Samsung TV: Fixed MissingMethodException being thrown when a scene was played that used STV specific APIs.
  • Samsung TV: Fixed UEP signing for 2015 TVs.
  • Scripting: Crash on Newtonsoft.Json.DeserializeObject(string) when serialized type has generic arrays.
  • Scripting: Fixed Application.logMessageReceivedThreaded not being called in main thread.
  • Scripting: Fixed crash when trying to invoking delegate bound to open generic method.
  • Scripting: Fixed infinite loop in NetworkInterface.GetAllNetworkInterfaces()
  • Scripting: Fixed VS / MonoDevelopment project synchronization when "Editor" was the only platform selected in plugins settings.
  • Scripting: Throw DivideByZero exception instead of crashing.
  • Serialization: Fixed crash when reading file references from long property names.
  • Shaders: WPOS semantic works in shaders again (alias of VPOS, i.e. screen position).
  • Sprites: Fixed the issue whereby Unity was doubling the memory needed for the Texture Atlases.
  • Terrain: Base map generation in Linear rendering mode is now done in linear space.
  • Terrain: Fixed a crash when a terrain was using TerrainData with missing textures.
  • Terrain: Fixed an issue where modifying terrain heights would result in an inconsistency between the visual and the collision.
  • Terrain: Fixed visual inconsistency when rendering with base pass.
  • Terrain: Standard terrain shaders now correctly support spot light / point light shadows.
  • Version Control: Set correct changeset description when renaming a changeset.
  • Version Control: Use saved changeset description when submitting.
  • Video: Fixed the issue whereby ogg movie playback skipping frames at beginning and general sync improvement.
  • VR: Fixed GearVR startup crash.
  • WebGL: Fixed deleting characters in text fields.
  • WebGL: Fixed reverting to proper window size when getting out of fullscreen mode.
  • WebGL: Fixed shift-arrow-key in text fields.
  • WebGL: Fixed WWW.audioClip.
  • Windows Standalone: -parentHWND command line argument works again.
  • Windows Store Apps: Fix issue where Unity was trying to locate Microsoft.CSharp.dll when processing some of the plugins, for ex., Facebook.Client.dll.
  • Windows Store Apps: Fixed player when installed to path containing unicode characters.
  • Windows Store Apps: Fixed resource fight on hyperthreading-enabled CPUs which might cause unstable performance on Windows.
  • Windows Store Apps/Windows Phone 8: UnityPlayer pdb files will be present again for Debug/Master configs.
  • Windows Store Apps/Windows Phone 8: When unloading unused assets or switching to another scene, prefabs will be correctly reloaded and won't loose references. Previous behavior was sometimes textures, mono behaviors, etc in prefabs would be lost, this would result for e.g., in textures not showing up in objects instantiated from prefabs.
  • WWW: Fixed incorrect HTTP status 100 when POST data was relatively large.
  • Xbox One: Implemented workaround fix for rendering failure when the console is set to instant-on standby and suspend/resume flow occurs.
  • Xbox One: Lightmap files are now included in the package manifest. They are included as a part of the launch chunk.
  • Xbox One: ReadPixels glitch and performance slowdown: fixed and workaround implemented.

New in version 5.0.0 Patch 3 (March 26th, 2015)

  • FEATURES:
  • Platforms: Unity Professional users can now optionally show the builtin Unity Splash Screen on applicable platforms. Setting is in the Player Settings.
  • IMPROVEMENTS:
  • Android: Added FB clear to devices that would prefer discard FB but don't have the discard frame buffer extension.
  • Android: Added profiling stats for blit to screen and input processing.
  • Android: Joystick input optimization, fixes slowdown on some older devices.
  • Android: Parsing device specific xml font configurations to determine system/fallback fonts in addition to the hard-coded list of fontnames.
  • Android: Splash screen is now shown in full screen mode.
  • GI: Don't calculate AO when AO exponent is 0.
  • GI: Output more stats per system and in total: vertex count, face count, chart count and texel count.
  • GI: Removed an unnecessary warning that realtime GI is not supported on PS3 and Xbox360 when finishing a bake in non-continuous mode.
  • GI: Sped up baked lightmaps compositing.
  • GI: Spit out timings of the precompute and bake to the Editor log. Timer resets when clearing GI data, exiting continuous mode or cancelling a bake.
  • iOS: Improve launch screen support
  • Linux: Query Mesa driver for amount of video memory when feasible.
  • Physics 2D: Joint2D property 'collideConnected' renamed to 'enableCollision' to match 3D physics.
  • Physics 2D: PlatformEffector2D property renames based upon feedback: oneWay->useOneWay, sideFriction->useSideFriction & sideBounce->useSideBounce.
  • FIXES:
  • (666924) - AI: Fixed an issue where using all navmesh area types in mask didn't work.
  • (682031) - AI: Fixed an issue where warping disabled agents would leak simulated agent.
  • (675563) - Android: Fixed an issue with the job system which caused battery drain and bad performance.
  • (675681) - Android: Fixed Auto target graphics mode on devices which think they support ES 3.0 without proper hardware.
  • (none) - Android: Fixed crashes / touch problems when applying ForwardNativeEventsToDalvik to a non-NativeActivity.
  • (680724) - Android: Fixed non-hidden status bar and status bar related touch issues.
  • (678003) - Android: Fixed sensor compensation issue affecting devices when rotated180 degrees.
  • (681045) - Android: Input - Fixed axis stuck on Android TV after hiding keyboard.
  • (none) - Android: Removed some bogus print-outs to the logcat regarding gles_mode and development_player.
  • (676721) - Asset Loading: Fixed loading of GI data from an AssetBundle.
  • (677465) - Asset Loading: Fixed the issue that streamed scenes don't draw layered UI in canvases correctly.
  • (669690) - Audio: Fixed "Trying to play disposed sound!" error message.
  • (672225), (664705), (679685) - BugReporter: Send empty subdirectories of directory attachment. Improved filtering of unnecessary subdirectories under Unity project. Can launch when some parts of the engine might not be initialized yet.
  • (677033) - Editor: Plugin inspector - set ARMv6 Android plugins incompatible to avoid collisions.
  • (679482) - GI: Fixed "Mobile/Unlit (Supports Lightmap)" shader and other fixed function shaders using lightmaps.
  • (677475) - GI: Made Gradient ambient mode properly affect realtime and baked GI.
  • (663176) - GI: Made lightmaps be properly compressed on mobile platforms.
  • (none) - GI: Report errors from jobs correctly when run in an external process.
  • (none) - GI: Reset the texture filter mode after rendering object preview in lighting window.
  • (none) - iOS/IL2CPP: Corrected a problem with Delegate.CreateDelegate.
  • (677830) - iOS/IL2CPP: Explicitly declare generic types and array types that are created at run-time via Type.MakeGenericType and Type.MakeArrayType in the il2cpp_extra_types.txt file, so that IL2CPP will AOT compile them.
  • (669282) - iOS/IL2CPP: Handle 4D arrays.
  • (none) - iOS/IL2CPP: Handle delegate invoke with nested delegates where the method which is invoked on the outer delegate is a static method.
  • (none) - iOS/IL2CPP: Assembly.Load() now accepts assembly name in full name format.
  • (679271) - iOS/Metal: Fixed FFP codegen in case of cubemaps are used.
  • (681081) - iOS/Metal: Fixed RT mip-map generation.
  • (677604) - iOS/Metal: Fixed vector_insert_TODO appearing in some shaders.
  • (673954) - iOS: Added Xcode 6.3 compatibility.
  • (none) - iOS: Disabled unnecessary copies of dll files to the Xcode project directory.
  • (668997) - iOS: Exposed iOSOverrideIPodMusic in player settings.
  • (664563) - iOS: Fixed a typo in UnityRegisterViewControllerListener().
  • (none) - iOS: Fixed an issue with the job system which caused battery drain and bad performance.
  • (681023) - iOS: Fixed changing from autorotation to enforced screen orientation in case of this orientation being already current.
  • (674057) - iOS: Fixed iPad Mini 3rd gen detection.
  • (668511), 672455) - iOS: Improved Xcode project handling robustness.
  • (652658) - iOS: Report a fake Status: HTTP header for informational purposes.
  • (none) - iOS: Set default scripting backend to il2cpp on iOS.
  • (669467) - iOS: Show an error on removal of targets in Xcode project.
  • (675838) - Linux: Fixed crash when swapping UI sprites.
  • (675838) - Linux: Hide system cursor when using software cursor.
  • (681446) - Physics 2D: Center-of-mass and Inertia can now be set on a Rigidbody2D component even if it has no Collider2D components attached.
  • (663460) - Physics 2D: Stop 2D colliders falling through EdgeCollider2D components.
  • (680467) - Physics 2D: Stop crash when NULL passed to 'Collider2D.IsTouching', 'Physics2D.IsTouching' or 'Physics2D.IsTouchingLayers'.
  • (648782) - Rendering: Now the back buffer is cleared after the resolution is changed from a script in Windows standalone.
  • (668199) - Serialization: Fixed crash when reading file references from long property names.
  • (none) - Terrain: Fixed a crash when a terrain was using TerrainData with missing textures.
  • (677464), (675843), 677090) - Terrain: Fixed an issue where modifying terrain heights would result in an inconsistency between the visual and the collision.
  • (647126) - WWW: Fixed incorrect HTTP status 100 when POST data was relatively large.
  • (678107), (662774), (677833), (678139), (674949), (676451), (676587), (678318) - iOS/IL2CPP: Correct a number of problems related to WebRequest and ThreadPool interaction:
  • Fixed WebRequests getting stuck in socket polling stage when the stage should be skipped.
  • Fixed a queuing bug that may lead to WebRequests arriving at the same time and being used incorrectly.
  • Fixed deadlock when socket exits polling stage when I/O pool is at max capacity and worker threads are in wait state.
  • Fixed race condition in static constructor calling.
  • Fixed assert "pthread_equal (pthread_self (), m_Handle) && 'Must be called on current thread!'".
  • Fixed thread interruption logic incorrectly thinking that another thread was still waiting.
  • Fixed deadlock on shutdown if socket polling thread was still waiting for network traffic.

New in version 5.0.0 Patch 2 (March 21st, 2015)

  • Improvements:
  • GI: Taken texture transparency into account when calculating AO.
  • GI: Fixed Modelling Tolerance tooltip.
  • GI: Moved baked tag to the proper place in UI.
  • GI: Added pushoff for baked lighting, can be used to fix AO artefacts.
  • iOS/Metal: Defer [CAMetalLayer nextDrawable] till it is actually needed (should help occasional framerate hiccups).
  • iOS: Short term fix for input stuttering.
  • Fixes:
  • (674894) - Asset Loading: Fixed the crash when setting the AssetBundle name in OnPreprocessAudio() callback.
  • (673800), (672995) - Asset Loading: Fixed the issue whereby streamed scene asset bundles do not allow more than one scene.
  • (668287) - Asset Loading: Fixed the prefab async loading issue by loading the scripts first.
  • (674181) - Asset Loading: Fixed the script loading issue when the references are between scripts.
  • (671169) - Asset Loading: Updated the document to indicate we wanted complete asset paths.
  • (677232) - Bug reporter: Fixed title field validation (the title is now mandatory).
  • (677231) - Bug reporter: Make sure the bug reporter triggers from the license error popup.
  • (639460) - Don't allow AddComponent() calls on object that is currently being destructed (leads to crashes).
  • (680020) - Editor. Fixrd editor lockup if left in the background and profiler was open.
  • (675725) - Editor: "Missing Prefab" placeholders now respects the active state of their parents.
  • (676167) - Editor: Fixed an issue where Editor fails to validate serialization layout when building to Windows Store Apps.
  • (671148) - Editor: Fixed crash when using UnityEditorInternal.InternalEditorUtility.LoadSerializedFileAndForget to load a scene with containing stripped prefab instance objects
  • (677205) - Editor: Fixed reading very very big scenes with more than 32767 monobehaviours created in Unity prior to Uniy 5.
  • (674951) - Editor: Fixed undo parenting of prefab.
  • (622487) - Editor: Fixed performing Undo on prefab instances where the prefab parent was missing.
  • (667906) - Editor: OnOpenAsset callbacks are now called for all asset types when doubled clicked in the project browser.
  • (643369) - Editor: Prefab connection is now broken when rearranging components, even if the components are added to the instance. This enables you to rearrange components on prefab instances without losing the order when saving the scene.
  • (663873), (672462) - Editor: Stripped prefab instance objects are now marked as stripped in the scene file, so the loading code does not try to upgrade objects which would issue wrong warnings and in worst case crashes.
  • (676883) - GI: Clear lightmapping state when wiping the disk cache in order to avoid errors when building lighting.
  • (674783), (674629), (677286) - iOS/IL2CPP: Added support for WebRequest to HTTPS addresses when using the Api Compatibility Level setting of .NET 2.0 Subset.
  • (673217) - iOS/IL2CPP: Emit the proper metatdata for parameters static inflated generics methods.
  • (673779) - iOS/IL2CPP: Fixed order of properties returned by Type.GetProperties().
  • (674916) - iOS/IL2CPP: Fixed C++ linker error in some cases when using generic parameters.
  • (676560) - iOS/IL2CPP: Fixed crash when System.Console is included in link.xml.
  • (672283) - iOS/IL2CPP: Fixed exceptions thrown by using System.Configuration.ApplicationSettingsBase.
  • (673547) - iOS/IL2CPP: Fixed IL2CPP crash in some cases when using virtual generic methods.
  • (671582) - iOS/IL2CPP: Fixed issue with String.Intern not always returning the correct string.
  • (675067) - iOS/IL2CPP: Fixed MethodInfo.GetBaseDefinition().
  • (670410) - iOS/IL2CPP: Fixed rare crash when calling Type.GetMethods.
  • (678081) - iOS/IL2CPP: Implemented marshaling of the SafeHandle type.
  • (none) - iOS/IL2CPP: Added support for setting thread names on Darwin.
  • (none) - iOS/IL2CPP: Fixed deadlock or timeouts when C# code does BeginInvoke+EndInvoke on a worker thread and the pool has only one thread.
  • (670359) - iOS/IL2CPP: Fixed IL2CPP crash when passing null as value to array parameter in custom attribute constructor.
  • (none) - iOS/IL2CPP: Fixed single core/cpu system resulting in ThreadPool with no threads.
  • (none) - iOS/IL2CPP: Fixed crash when calling MethodInfo.ReturnTypeCustomAttributes.GetCustomAttributes on a constructor.
  • (671100) - iOS/IL2PP: Fixed ParameterInfo.Attributes always returned ParameterAttributes.None for parameters.
  • (650616) - iOS/Metal: Partially fixed performance issue on A7 devices when using Standard shader.
  • (678814) - Scripting: Crash on Newtonsoft.Json.DeserializeObject(string) when serialized type has generic arrays.
  • (658048) - Scripting: Fixed infinite loop in NetworkInterface.GetAllNetworkInterfaces()
  • (666017) - Scripting: Throw DivideByZero exception instead of crashing.
  • (669281) - Scripting: Fixed crash when trying to invoking delegate bound to open generic method.
  • (677863) - Shaders: WPOS semantic works in shaders again (alias of VPOS, i.e. screen position).
  • (645835), (675608) - Sprites: Fixed the issue whereby Unity was doubling the memory needed for the Texture Atlases.
  • (650578) - Terrain: Standard terrain shaders now correctly support spot light / point light shadows.
  • (673306) - Video: Fixed the issue whereby ogg movie playback skipping frames at beginning and general sync improvement.
  • (none) - VR: Fixed GearVR startup crash.
  • (680799) - Windows Store Apps/Windows Phone 8: Fixed a big memory leak, which was occurring in various places. For e.g., in physics collision callbacks such as OnCollisionEnter(Collision collision).
  • (680798) - Windows Store Apps/Windows Phone 8: UnityPlayer pdb files will be present again for Debug/Master configs.
  • (662200) - Windows Store Apps/Windows Phone 8: When unloading unused assets or switching to another scene, prefabs will be correctly reloaded and won't loose references. Previous behavior was - sometimes textures, mono behaviors, etc in prefabs would be lost, this would result for e.g., in textures not showing up in objects instantiated from prefabs.
  • (677882) - Windows Store Apps: Fix issue where Unity was trying to locate Microsoft.CSharp.dll when processing some of the plugins, for ex., Facebook.Client.dll.
  • (none) - Windows Store Apps: Fixed player when installed to path containing unicode characters.
  • (676570) - Windows Store Apps: Fixed VS solution generation with paths containing unicode characters.
  • (674626), (640176) - Windows Store Apps: Fixed resource fight on hyperthreading-enabled CPUs which might cause unstable performance on Windows.
  • (675394) - Windows Store Apps: Use exception log type for exceptions.
  • (none) - Xbox One: Implemented workaround fix for rendering failure when the console is set to instant-on standby and suspend/resume flow occurs.
  • (677945) - Xbox One: ReadPixels glitch and performance slowdown: Fixed and workaround implemented.

New in version 5.0.0 Patch 1 (March 16th, 2015)

  • Improvement:
  • BlackBerry: Passport device now supports landscape orientation.
  • Bug reporter: Added info about license type.
  • Editor: Android - Added the ability to configure JDK path in the Editor preferences.
  • Editor: Android TV - Added the configuration option for D-pad and gamepad support level.
  • GI: Allow higher AO exponent in Lighting window.
  • GI: Fixed inconsistent Enlighten build timings; now it should correspond to wall clock time. (Unless you move at near speed of light relative to your computer, in which case it might still be wrong).
  • GI: Users will now be warned when building scenes with Precomputed Realtime GI ticked on platforms that do not support Realtime GI.
  • Graphics: Shaders now read consistent values across platforms for vertex properties that are missing in a Mesh. We have adopted the OpenGL standard, which is that normals default to (0,0,1) and tangents default to (1,0,0).
  • Physics 2D: Allow SurfaceEffector2D to control whether friction or bounce is used upon contact.
  • Physics 2D: Allow SurfaceEffector2D to control whether the impulse force is applied to the center-of-mass or contact-point.
  • Physics 2D: Improve PointEffector2D.distanceScale tooltip/documentation.
  • Version Control: Added the "delete empty changesets" button.
  • Version Control: Added Shortcut to save changeset window.
  • Version Control: Close change window automatically on success.
  • Version Control: Now new changesets are defaulted to expanded.
  • Change:
  • GI: Disabled unused Xbox360 solver data generation.
  • Input: Changed Input.GetJoystickNames() on Windows to always match names to joystick numbers, similar to most other platforms.
  • Terrain: Only textures with Repeat wrap mode can be used as terrain splat textures now.
  • Terrain: Removed 'Override Smoothness' option from terrain settings. A new per-splat smoothness property is available when the splat texture has no alpha channel.
  • Fixes:
  • (672679) - Android: Always enable VSync on Android non-development builds.
  • (none) - Android: Buildpipe - Fixed AAR manifest merging.
  • (662911) - Android: Fixed back button crash on Samsung devices.
  • (668969) - Android: Fixed checkjni exception when passing array in JNI at ART.
  • (645846) - Android: Fixed crash on ARM devices when running x86 apk.
  • (668265) - Android: Fixed immersive mode when returning to activity in Lollipop.
  • (none) - Android: Reenabled SSE skinning.
  • (663535) - Android: Workaround for animation glitch with onscreen keyboard.
  • (669881) - API Updater: Automatic update from ParticleSystem.CollisionEvent to ParticleCollisionEvent.
  • (677054) - API Updater: Fixed the issue causing crash while checking assemblies for obsolete API usage.
  • (677346) - API Updater: Fixed API updater skipping assemblies in some scenarios.
  • (none) - Audio: Given AudioImporter overrideSamplerate a default value that makes sense.
  • (677613) - Audio: Fixed the "Disable Audio" option, the flag is now correctly used by the standalone player to disable the audio system.
  • (none) - BlackBerry: Fixed platform lookup from string to be case insensitive.
  • (665035) - Bug reporter: Fixed issue with submitting files when temp path includes non-ASCII characters.
  • (667598) - Bug reporter: Fixed the issue causing crash when attaching files on OSX 10.8.5.
  • (675706) - Bug reporter: Hidden files are now always included in bug reports.
  • (671321) - Bug reporter: Updated links to the new Bug Reporter (when it's started from outside the Editor).
  • (645316), (614238) - Deployment Management: Prevent simultaneous launches of Unity loading wrong project.
  • (645846) - Editor: Android - Don't allow to install x86 apk on arm device.
  • (674633) - Editor: Disable vsync for all views except GameView on OSX.
  • (647394) - Editor: Fixed the issue producing fatal error when choosing unwritable drive as a GICache folder on OSX.
  • (674679) - Editor: Fixed null-ref from SceneView when having a Hierarchy search filter.
  • (674055) - Editor: Fixed crash when compressing GI cache files with lz4.
  • (673707) - Editor: Necessity of rebuilding .meta files detected incorrectly for projects that contain only directories in Assets/.
  • (none) - Fixed performance load balancing issue in CullAllPerObjectLights that caused only one job to be run rather than many (occurred when high number of lights and low number of objects)
  • (672964) - GI: Changing directional mode in lighting tab does not force reflection probe.
  • (675113) - GI: Fixed rare crash in realtime GI pipeline caused by textures held by worker threads being released too early.
  • (658618) - Graphics: Fixed vertices being lit entirely black on DirectX 11 when normals are missing and the vertex position is (0,0,0).
  • (670887) - IL2CPP / Raknet : Fixed RPC call registration not working on IL2CPP backend.
  • (669983) - iOS/IL2CPP: Now allow the LogInAsync method in the ParseSDK to work correctly.
  • (667476) - iOS/IL2CPP: Always initialize type information before accessing static fields.
  • (none) - iOS/IL2CPP: Corrected the C++ compiler error in generated code: "error: cast from pointer to smaller type 'il2cpp_array_size_t' (aka 'int') loses information"
  • (669435) - iOS/IL2CPP: Correctly write include definitions for a generic class with a const field.
  • (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.
  • (671995) - iOS/IL2CPP: Fixed List.FindAll().
  • (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.
  • (none) - iOS/IL2CPP: Fixed C++ compile error in some cases when using fields with the same name in a class hierarchy.
  • (none) - iOS/IL2CPP: Fixed C++ linker error in some cases when using generic method constraints.
  • (669257) - iOS/IL2CPP: Fixed null reference exception when calling TripleDES.Create.
  • (676039), (671616) - iOS/IL2CPP: Handle code generation for an struct which has an array of enums as a field.
  • (671790) - iOS/IL2CPP: Implemented Assembly.GlobalAssemblyCache so that it always returns false.
  • (667476) - iOS/IL2CPP: Implement 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.
  • (675328) - iOS/IL2CPP: Improved support for MakeGenericMethod.
  • (none) - iOS/IL2CPP: Fixed conversion error in obscure edge case of method overrides through metadata and signature.
  • (674680), (674310) - iOS/IL2CPP: Fixed the problem with shift operators, resulting in problems with MD5 calculation and crypto, amongst other things.
  • (672704) - iOS/IL2CPP: Fixed code generation for delegates having parameters tagged with the Out attribute.
  • (669987) - iOS/IL2CPP: Handle IL code which uses one local variable as an array index more than once, with different values.
  • (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.
  • (670020) - iOS/IL2CPP: Implemented the use of SizeParamIndex for marshaling.
  • (671992), (667779) - iOS/IL2CPP: iOS/IL2CPP: Implemented marshaling of the System.Runtime.InteropServices.HandleRef type.
  • (676597) - Linux: Fixed the issue which was causing crash with native plugins using STL types.
  • (none) - Mono compiler: Fixed issue with incorrect IL being generated in some cases for iterator finally blocks.
  • (none) - Oculus: Plugin initialize fixed when GfxDevice had not been Initialized yet.
  • (669387) - OpenGL: Fixed crash with -force-opengl in Windows Editor when trying to enable DirectX 11 via player settings.
  • (676079) - Physics 2D: Added 'forceScale' property to SurfaceEffector2D to allow scaling of the impulse force used.
  • (667289) - Physics 2D: Disabled PlatformEffector2D component now fully disables contact processing.
  • (663596) - Physics 2D: Fixed console warning of 'm_Effector == effector' when removing an effector inside a prefab.
  • (661823) - Physics 2D: Fixed PlatformEffector2D so that when stopping inside a collider it doesn't cause a collision for 'one-way'.
  • (663562) - Physics 2D: Fixed incorrect double-quote usage in tool-tip for PlatformEffector2D property 'Side Angle Variance'.
  • (673261) - Physics 2D: OnJointBreak callback now has correct breaking force magnitude supplied as a parameter.
  • (675058) - Profiler: Fixed editor slowdown if GPU profiler was enabled when the profiler was stopped or closed
  • (674024) - Samsung TV: Fixed MissingMethodException being thrown when a scene was played that used STV specific APIs.
  • (676550) - Samsung TV: Fixed UEP signing for 2015 TVs.
  • (676192) - Scripting: Fixed Application.logMessageReceivedThreaded not being called in main thread.
  • (675624) - Scripting: Fixed VS / MonoDevelopment project synchronization when "Editor" was the only platform selected in plugins settings.
  • (675700) - Stripping: Fixed issue, which was making stripping completely disabled for Mono scripting backend.
  • (none) - Terrain: Base map generation in Linear rendering mode is now done in linear space.
  • (673713) - Terrain: Fixed visual inconsistency when rendering with base pass.
  • (669893), (654565) - UI: Fixed overriding/inheriting of pixel perfect status in child canvases.
  • (none) - Version Control: Set correct changeset description when renaming a changeset.
  • (none) - Version Control: Use saved changeset description when submitting.
  • (676070) - WebGL: Fixed deleting characters in text fields.
  • (669967) - WebGL: Fixed reverting to proper window size when getting out of fullscreen mode.
  • (none) - WebGL: Fixed shift-arrow-key in text fields.
  • (675095) - WebGL: Fixed WWW.audioClip.
  • (none) - Windows Standalone: Now, -parentHWND works once again.
  • (673322) - Xbox One: Lightmap files are now included in the package manifest. They are included as a part of the launch chunk.

New in version 5.0.0 (March 4th, 2015)

  • Highlights:
  • The Physically-based Standard Shader to make your materials look consistent in any lighting environment, cross platform.
  • Real-time Global Illumination, built on Geomerics Enlighten technology.
  • The Audio Mixer, to massively improve audio in your game.
  • HDR Reflection Probes to enhance visual fidelity.
  • PhysX 3.3 to bring massive performance improvements to 3D physics.
  • Major updates to the animation system.
  • WebGL preview.
  • A detailed log of all new features, changes, improvements, and fixes in the 5.0 release is available at http://unity3d.com/unity/whats-new/unity-5.0.

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