Release notes

Known Issues

  • Connect: Need to have owner privilege to enable/disable Ads/Analytics.
  • Connect: Error when enabling Ads if you are part of more than one organization.
  • Graphics: Failed to initialize graphics crash when forcing GLES or GLCORE on a Mac.
  • Import: If importing an FBX, the editor may crash during import. Subsequent reload of project afterwards will be fine.
  • Reflection Probes: Per-pixel (deferred) reflections doesn't use weights for blending.
  • WP8: Deploying to device fails.
  • WebGL: UI non-functional

Features

  • 2D: SpritePacker got ability to rotate sprites while Sprite Packing to save atlas space.
  • Android: ETC1 Compression for Sprite Atlases. The texture is split into two RGB textures (second part containing alpha information as a grayscale) and combined in the shader. The option can be set on a per texture level, which affects the final atlas the texture lands in.
  • Audio: Ability to set custom rolloff curves for an AudioSource at runtime via script.
    • The following curves can be be set at runtime:
    • Volume Rolloff
    • Spatial Blend (2D / 3D)
    • Reverb Zone Mix
    • Spread
    • LowPass Filter Cutoff Frequency
  • Cloud Service: Access control list support.
  • Culling: Added CullingGroup API, which allows you to specify a large set of bounding spheres that are integrated into the culling pipeline and subjected to frustum and occlusion culling.
  • Graphics: Added option in player settings for configurable vertex compression. Default values: position and UV1 is uncompressed, the rest of the channels are compressed.
  • Multi Scene Lighting baking. Lightmapping.BakeMultipleScenes(string[] scenes);
    • Lets you bake lightmaps, reflection probes and realtime lightmaps for multiple scenes which together, which can be loaded additively. Data is automatically split on bake per scene.
  • Networking: Added NetworkDiscovery component to network HLAPI. This exposes the network transport layer local discovery function to HLAPI code, and allow Unity games on a local network to find each other.
  • Shaders: Fixed Function shaders work on all platforms now (including consoles).
    • They are always generated at shader import time (a button "show generated code" in shader inspector shows the code); removed all runtime support. All rendering got slightly faster (even when not using fixed function shaders); and executable sizes got slightly smaller.
    • MaterialPropertyBlocks work with them now (which means Sprites and animated materials work too).
    • Behave more consistently across platforms (specular highlights and light attenuation was slightly different before).
    • Fixed function shaders aren't rasterized at a half-pixel shift on WP8 anymore.
    • However, can not create fixed function shaders using "new Material(string)" at runtime anymore; see Changes section.
  • UI: 2D Rect Mask. A mask for 2D UI elements. Performs faster than the existing stencil buffer mask, does not require additional draw calls to prime the stencil buffer, and interacts better with deferred rendering. When an element is outside the bounds of the mask the canvas renderer is also culled which leads to faster batching performance.
  • Unity Ads: Enable and configure Ads from the Unity Connect window in the Editor.
  • WebGL: allow .jspre files to be added to the project to be prefixed to the generated JavaScript.
  • WebGL: Experimental support for WebGL 2.0 (not yet supported in any released browser).
  • Windows Store Apps: Universal Windows Platform app (Windows 10 apps) support.

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

Changeset: