Unity 2017.4.0f1

Update now

New to Unity? Get started

Release notes

Improvements

  • 2D: Change Outline and Physics Shape module behaviour in Sprite Editor Window. The module will only show outlines only when user has customised it.
  • 2D: TextureImporter Inspector has an option to enable default Physics Shape for Sprites
  • Linux: Improved filesystem performance to handle large cache sizes.
  • XR: Improved background rendering performance in ARCore by eliminating an unnecessary OpenGL state reset.
  • XR: Updated Oculus to version 1.22.

Changes

  • Asset Import: Adjusted messaging around Substance Designer import removal.
  • XR: Android builds that enable ARCore no longer fail when the minimum Android SDK is less than 24.
  • XR: Standalone UWP applications targeting Windows Mixed Reality will now cause the OS to notify the user if the Mixed Reality components are not installed or a headset is not connected, rather than silently falling back to non-VR desktop mode.

Fixes

  • 2D: Fixed an issue that was causing the Physics Shape of a Sprite2D to not being properly set unless the 'Edit Physics Shape' tab was opened first. (990691)
  • 2D: Fixed a crash after building and loading an Asset Bundle with Tilemap in the Editor. (976411)
  • 2D: Fixed a crash when Tilemap is loaded with invalid Tiles in the Editor. (972214)
  • 2D: Fixed an error message "A script behaviour has a different serialization layout when loading" when a Tilemap was loaded in players with code stripping. (969827)
  • 2D: Fixed Physics2D.TilemapCollider.TileUpdate taking an extremely long time to update every time a script recompile happens. (966605)
  • 2D: Fixed Tilemap not setting Tiles with the correct data in players with code stripping. (965608)
  • Android: Fixed a bug causing the loading of native audio plugins to fail on Android. (992023)
  • Android: Fixed an issue where the full-screen movie player didn't autorotate. (962450)
  • Android: Fixed animation not played when screen sharing is enabled. (995841, 958223)
  • Android: Fixed a crash when a compute shader is being used that did not compile/link on a device.
  • Android: Fixed gyroscope lag issues that happen on some android devices. (912848)
  • Android: Fixed an issues when trying to use jobified rendering on certain graphics devices like GLES. (985591)
  • Android: Fixed a problem when there is no valid EGL context when running the player loop. (952769)
  • Android: Fixed Skybox distortion on specific Android devices with Vivante GC1000/GC2000 GPU. (967646)(903140)
  • Animation: Fixed a crash caused by invoking QueryComponentByType() when code stripping is enabled. (962745) (938640)
  • Animation: Fixed an issue where AnimatorOverrideController.ApplyOverrides was executing unnecessary operations, causing performance issues. (996351)
  • Animation: Fixed Animator Layer not deselected when clicking on the graph part of the UI. (996153)
  • Animation: Fixed Animator.GetBehaviours returning an empty array after saving scene. (975824) (966082)
  • Animation: Fixed a crash when calling Animator.MatchTarget without a controller. (975555)
  • Animation: Fixed a crash when importing animator controller with null transitions. (986004)
  • Animation: Fixed editor crashing on WalkTypeTree after removing any component while in Animation record mode. (978930)
  • Animation: Fixed state deselection in the Animator State Machine. (950805)
  • Animation: Fixed Timeline Sequence not firing Animation Events. (947918)
  • Asset Bundles: Fixed a crash when loading meshes from asset bundles that contain both compressed and uncompressed meshes. (984070)
  • Asset Bundles: Fixed packing AudioMixerController, AudioMixerGroup and AudioMixerSnapshot into bundles with disabled type trees. (976768)
  • Asset Import: Fixed AssetPostprocessor.OnAssignMaterialModel not being called for all models when importing materials as sub-assets. (983321)
  • Asset Import: Fixed a crash when importing fbx .meta files that contain references to non-existing scripts or when scripts ID was too large. (999833, 990267)
  • Asset Importing: Fixed an issue with MonoScripts for StateMachineBehaviour derived classes not being extracted from managed plugins. (963958)
  • Audio: Fixed a bug where AudioManager::Update was generating a small amount of garbage memory, if a spatializer was selected, that would later need to get garbage-collected. (991111)
  • Cache Server: Fixed an issue where using a Cache Server and reimporting Assembly Definition files would fail to trigger rebuilding of the assembly. (975773)
  • Cloud: Fixed exception when building in Cloud Build with Performance Reporting enabled. (996950)
  • Editor: Fixed a Windows-specific crash in YAMLMerge when trying to merge files. (1001450)
  • Editor: Fixed early flipping of login page in Mac by increasing the timeout. (980070)
  • Editor: Fixed an editor crash when renaming GameObject with long name on Windows. (991619)
  • Editor: Fixed an Editor hang when merging large changesets or large scene files with Collaborate. (971434)
  • Editor: Fixed Editor window, Panel and all related managed object leaking. (996204, 988580)
  • Editor: Fixed issue with "Rider 2017.2.1.app" not being recognized as Rider code editor. Now recognizes "Rider*.app".
  • Editor: Fixed an issue with only assemblies whose name start with "Assembly" being debuggable on IL2CPP platforms.
  • Editor: Fixed an issue with UWP build failing when using .asmdef assemblies. (979704)
  • Editor: Fixed Skinned Mesh not being removed on undo. (925835)
  • Editor: Fixed YAMLMerge performance issue when merging large files. (1001461)
  • Fixed uninstalling Unity leaving sketchupapi.dll behind. (994283)
  • GI: Fixed the intensity of baked and real-time emissive materials in Enlighten. (986160)
  • Graphics: Fixed OpenGL ES crash due to problem with cached VertexAttribArray. (989484)
  • IL2CPP: Added Windows runtime storage extensions. (992138)
  • IL2CPP: Corrected a possible build failure with IL2CPP when an attribute constructor has two arguments of type object. (993422)
  • IL2CPP: Enabled dead code stripping for clang toolchain. (976218)
  • IL2CPP: Fixed a crash in Unity Linker (System.InvalidProgramException: Failed to resolve [UnityEngine]System.Resources.NeutralResourcesLanguageAttribute) when using a managed - DLL that has a non-existing attribute on it. (969958)
  • IL2CPP: Fixed a hang on iOS devices when a socket operation is in progress and the app is put into the background with the new scripting runtime. (989536)
  • IL2CPP: Fixed a problem with the decimal to double conversion implementation with the new scripting runtime. (959791)
  • IL2CPP: Fixed an unlikely, but possible crash when default parameter values are used. (973052)
  • IL2CPP: Fixed incorrect code generation for nullable types when they are passed to a virtual function. (995663)
  • IL2CPP: Implemented sending of email via SmtpClient with .NET 4.6. (947208)
  • IL2CPP: Implemented the EnsureSufficientExecutionStack method for .NET 4.6. (976623)
  • IL2CPP: Improved the performance of code conversion when many nested generic types are used. (975496)
  • IL2CPP: Improvedthe startup performance of Unity players built with IL2CPP. (989476)
  • iOS: Fixed a problem preventing a user from being prompted to log into GameCenter. (1000658)
  • iOS: Fixed Display.SetResolution to work during first frame. (1003875, 995079)
  • iOS: Fixed UnityWebRequest instability when starting and aborting a lot of requests. (995992, 944301)
  • iOS: Metal: Fixed MSAA behavior when using RenderPass.
  • iOS: Metal: Fixed ReadPixels() crash when reading out of active textures bounds. (990595, 981074)
  • Linux: Fixed a crash on player startup in GfxDeviceVKBase::GrabIntoRenderTexture. (1002211)
  • Metal: Fixed an edge case crash when using grab-pass on metal. (973813)
  • OSX: Fixed a crash on Editor panel close on select versions of macOS. (982435)
  • OSX: Fixed a crash on Editor panel close on select versions of macOS. (982435)
  • OSX: Fixed an editor crash on certain hotkeys and menu selections during project import. (988776)
  • Package Manager: Fixed a project being stored on OneDrive resulting in a Package Manager error and preventing a project from being opened. (841172)
  • Package Manager: Fixed building as local system user failing on Windows. (960093)
  • Particles: Fixed flickering due to a floating point error when sorting by youngest/oldest. (988874)
  • Physics: Ensured that "Collider2D.Distance" with very small distances produces a valid normal. (969960)
  • Physics: Fixed Assert message being displayed when reparenting a Collider2D component that is using a CompositeCollider2D. (977687)
  • Physics: Fixed crash during simulation after destroying Rigidbody2D that has a child Kinematic Rigidbody2D. (989323)
  • Physics: Fixed disabling and enabling a collider on an inactive gameobject producing transform error messages. (977568, 968882)
  • Physics: Fixed double full stop added to the dropdown boxes in the physics settings. (998183, 958814)
  • Physics: Fixed issue where MeshCollider is added to prefab in Hierarchy when selected from the project folder. (998186, 960479)
  • Physics: Fixed PhysX crash when calling Physics.OverlapBoxNonAlloc on Android devices. (878407)
  • Physics: Increased the accuracy of rotating a tile clockwise/anti-clockwise by 90-degrees when tilemap painting. This ensures that TilemapCollider2D can be accurately composited using the CompositeCollider2D. (974119)
  • Profiler: Fixed EndThreadProfiler crashing Unity when called from main thread. (980553)
  • PS4: Fixed a crash when calling DateTime.Now whilst using il2cpp. (996508)
  • PS4: Fixed a native rendering plugin GetContext() not returning correct value. (991969)
  • Scene Management: Fixed BuildPipelineInterfaces.InitializeBuildCallbacks() being called on every scene load when loading the same scenes multiple times. (978564)
  • Scripting Upgrade: Fixed a C# compiler bug which could result in "the type cannot be used as type parameter `T' in the generic type or method" errors. (991464)
  • Scripting Upgrade: Fixed a crash on exit when script debugger is enabled. (974228)
  • Scripting Upgrade: Fixed a crash when using named pipes. (942966)
  • Scripting Upgrade: Fixed EntryPointNotFoundException when calling HTTPClient.GetAsync on Android. (935292)
  • Scripting: Fixed a crash when using named pipes. (929984)
  • Scripting: Fixed a crash when using unsafe code in an assembly built with VS2017. (990559)
  • Scripting: Fixed an incorrect value when using Math.Round with MidpointRounding.AwayFromZero. (993302)
  • Scripting: Fixed memory snapshot errors related to invalid GCHandle values. (977003)
  • Scripting: Fixed memory snapshot naming for nested types. (974042)
  • Scripting: Fixed memory snapshot naming for types without a namespace. (974031)
  • Scripting: Fixed regression with Assembly-CSharp.dll and friends referencing editor only assemblies. (982271)
  • Services: Performance Reporting: Report device model field for Managed Exceptions. (980815, 980816)
  • Shaders: Fixed bad swizzles on GLSL & Metal shader image size queries. (938614)
  • Timeline: Fixed ArgumentOutOfRangeException when shift-selecting a clip, if that clip was moved and the move operation was undo. (986871)
  • Timeline: Fixed group tracks being saved under the wrong asset when copied to a different Timeline. (991434)
  • Timeline: Fixed object binding when inline curves are opened. (998182)
  • Timeline: Fixed Playing a Timeline causing GC allocations when using the 4.6 Scripting Runtime. (998642)
  • UI: Fixed an issue where undoing the activation of a UI layout component did not undo the side effects to the children RectTransforms. (990752)
  • UI: Fixed AspectRatioFitter not driving the RectTransform on the first frame. (999338)(988706)
  • UI: Fixed crash in RectTransform::ShouldUpdateTransformBefore. (986584)
  • UI: Fixed entering playmode with profiler open and UI in the scene crashes in UI::Canvas::CaptureBatchFrame. (984325) (966106)
  • UI: Fixed instances where Font.textureRebuilt would not be called even though the internal texture was regenerated. (988311) (939853)
  • UI: Fixed issue where a driven RectTransform could cause a scene to be constantly flagged as dirty. (988136) (966172)
  • UI: Fixed issue where position and rotation specified when calling Object.Instantiate was not applied properly to a RectTransform. (992286, 980300)
  • UI: Fixed issue with UI and prefab positioning. (977959)
  • UI: Fixed OnEndDrag not being called when dragging as the app loses focus. (995452, 937370)
  • UI: iOS Fixed incorrect processing of touch canceled events. (973437)
  • UWP: Fixed .NET native compiler crash when using List or List in a serializable class. (979741)
  • UWP: Fixed Application.isMobilePlatform results to be consistent with SystemInfo.deviceType. Also update API docs for these APIs. (991466)
  • UWP: Fixed reference rewriter not fixing references for System.Net.Sockets.Socket when DLL where it's being referenced was compiled against .NET 3.5. (947209)
  • UWP: Fixed keyboard input not distinguishing left/right shift keys. (968801)
  • VR: Fixing crash involving VR Mock Device when using TrackedPoseDriver. (966990)
  • Web: Fixed file URI with host component in UnityWebRequest. (991606, 971557)
  • Web: Fixed handling special URIs in UnityWebRequest with colon in them, like blob:http. (995845, 992221)
  • Web: Fixed native UnityWebRequest not destroyed until garbage collected even if explicitly disposed. (988818)
  • WebGL: Added handling of playBuffer exception when there is no audio output on Safari. (994912, 960863)
  • Windows: Fixed an assert when stopping and then immediately destroying DictationRecognizer. (986045)
  • Windows: Fixed a crash on startup in case screen width/height player prefs in registry got corrupted. (979198)
  • Windows: Fixed default width/height not honored for 'Windowed' mode. (968584)
  • Windows: Player executable is once again large address aware. (990939)
  • XR: Fixed a crash that would occur if an application used Unity's Spatial Mapping component without VR being enabled or without using Windows Mixed Reality. (973172)
  • XR: Fixed an issue with lights failing to completely illuminate scene geometry during stereo rendering. (965494)
  • XR: Fixed build crashes when using stereo display. (987306)
  • XR: Fixed calling touch keyboard causing unhandled exception to be thrown and app closing. (993425)
  • XR: Fixed calling XRSettings.LoadDeviceByName on an already loaded device causing issues. (998801)
  • XR: Fixed a crash when connecting simulator device while running in editor. (998862, 980089)
  • XR: Fixed a crash when holographic emulation set to remote with no device connected. (952777)
  • XR: Fixed the documentation around XRSettings.LoadDeviceByName and add a warning message when we detect that a user is trying to reload an already loaded VR Device. (998801)
  • XR: Fixed errors when building for Daydream and Cardboard with Proguard enabled. (991170, 946104)
  • XR: Fixed frame rate throttling when Windows MR device loses tracking. (994652)
  • XR: Fixed losing focus causing the thread to sleep causing fps to drop. (994652)
  • XR: Fixed stabilization plane not getting set correctly via the SetFocusPointForFrame() API, resulting in poor hologram stabilization and color separation on HoloLens. (993880)
  • XR: Ported missing properties on the Pose type, which broke user code for Windows Mixed Reality when porting from 2017.2. (988571)

Revision: b5bd171ee9ba

Changeset: b5bd171ee9ba