Long Term Support

Unity 2022 LTS provides a stable foundation for projects that are in production or about to ship. Unity 2022.3 LTS release has the same feature set as the 2022.2 Tech Stream release.

We’re committed to supporting 2022 LTS releases with biweekly updates until mid-2024, after which updates will be monthly until mid-2025 (two years after the initial release date). These updates will only cover fixes aimed at improving the stability of the product to enable users to ship their projects.

Unity 2021.3 is now the legacy LTS. It will be updated monthly until it reaches the end of its support cycle in mid-2024.

RSS

Subscribe to our LTS feed and get access to the latest LTS as soon as it's released.

LTS Release 2017.2.0f3

Released:

LTS Release 2017.2.0f3

Released:

2017.2.0f3 Release Notes (Full. Diff from f2 at end)

System Requirements Changes

  • Removed iOS 6.0 support. The minimum supported version is now 7.0.

Features

  • 2D: Added Tilemap. description

  • Asset Import: Added support for animated custom properties from FBX. description

  • Asset Import: Added support for Stingray material import from FBX. description

  • GI: Added per-object lightmap seam stitching for Progressive Lightmapper. description

  • GI: Added profiler for Realtime Global Illumination.

  • GI: Added support for double-sided materials in Progressive Lightmapper. Added a new Material setting that causes lighting to interact with backfaces. When enabled, both sides of the geometry get accounted for when calculating Global Illumination. Backfaces do not count as invalid when seen from other GameObjects. Backface rendering is not controlled by this setting, and backfaces are not represented in the lightmaps. Backfaces bounce light using the same emission and albedo as frontfaces.

  • GI: Added support for per-object casting and receiving shadows in the Progressive Lightmapper. For "Cast Shadows", only the "On" and "Off" options are currently supported.

  • Graphics: Implemented Display-P3 color gamut support for iOS and macOS. Added "Color Gamut" property to Player Settings, which will eventually cover other platforms with wide color gamut support.

  • Multiplayer: Added new QoS options for delivery of large messages: reliable or unreliable, and un-ordered (fragmented) or ordered (fragmented sequenced).

  • OSX: Added support for Retina in macOS standalone builds.

  • Package Manager: Exposed the API for enabling internal components to be updated more frequently than the Editor. This is the first step in implementing the Unity Package Manager. We are taking an incremental approach to integrate the system into the Unity ecosystem. It will grow with more features over time. For this first release, we have avoided exposing user-facing features.

  • Particles: Added "Stop Action" option to allow Particle Systems to be destroyed or disabled when they finish playing. description

  • Particles: Added Linear Drag support for Particles. The new options are in the Limit Velocity over Lifetime Module. description

  • Services: Performance Reporting Service: Added support for native crashes on Android.

  • Timeline: Added support for Avatar Masks on Animation Tracks.

  • Video: Added pixel aspect ratio support for non-square pixels.

  • WebGL: Added linear rendering to WebGL 2.0

  • XR: Added openVR support for Mac 64bit application target that use Metal graphics.

  • XR: Added support for certain aspects of the Vive HMD to be simulated in-Editor without the need of a physical HMD. To enable this, use the "Mock HMD - Vive" virtual reality SDK in the Player Settings. The mock HMD uses the same asymmetric projection matrix, hidden occlusion mesh, field of view, aspect ratio, and eye texture size as the Vive. You can use mock HMD with both multi and single pass rendering paths. It renders as a split-screen stereo display in the Editor.

  • XR: Added support for Google ARCore augmented reality technology when targeting Android 7.0 and above on supported devices. See our blog post for more information and how to get started

  • XR: Added support for Video Async Reprojection for Daydream View. Video Async Reprojection allows an app to feed video frames directly into the Google VR Async Reprojection system without going through the main Unity render loop. This provides a fast path to direct rendering of video, regardless of the current frame rate Unity is rendering at and skips Texture filtering, providing for a much higher quality output. There is also an option to allow for the use of protected memory, for users that need to render DRM-protected content.

  • XR: Added support for Windows Mixed Reality as a Virtual Reality SDK target. This extends Unity's HoloLens support so that it more generally supports Windows Mixed Reality, both for desktop and HoloLens.

  • XR: Added the TrackedPoseDriver component, which can be added to a game object to match the position and rotation of a AR device, VR HMD, or VR controller.

  • XR: Stereo Instancing (also known as single-pass instanced) is now supported on desktops when the DirectX 11 (DX11) rendering API is in use. Stereo Instancing is only supported with forward rendering.

  • XR: Unity Editor has foundation support for EditorVR. Look for a future announcement around availability of a 2017.2 compatible EditorVR version.

  • XR: Windows Mixed Reality headsets are now supported for playing in-Editor.

  • XR: Introduced native integration for the Vuforia Augmented Reality Platform. Vuforia support can be installed through the Unity Download Assistant and enabled under PlayerSettings/XR. For more information about Vuforia see https://developer.vuforia.com.

Backwards Compatibility Breaking Changes

  • Scripting: UnityEngine.dll is now split into separate dlls for each UnityEngine module.

Changes

  • Android: "Export as ADT project" is now obsolete.

  • Android: Changed default frame rate (Application.targetFrameRate = -1) to 30 when v-sync is off, similar to iOS.

  • Audio: Made improvements to AudioMixer ducking:

    • Optimized CPU performance.
    • Changed behaviour so that ducking amount corresponds to the maximum level on each channel.
  • Editor: APIUpdater no longer runs automatically when Editor runs in batch mode. See -accept-apiupdate command argument for more information.

  • Editor: Changed the behaviour of the "members" button in the Collab toolbar. It now opens a page in the web Dashboard to add/remove project members.

  • Editor: Editor GUI tooltips are no longer suspended if the Scene is paused in Play mode.

  • Editor: Reduced the verbosity in Editor log for script recompilation.

  • Editor: The 2017 Unity Editor requires a new license version. Subscription keys will be upgraded, but 5.x license keys are not accepted by the 2017 Editor. If you have only a 5.x license, please visit https://store.unity.com/ or contact your sales representative to obtain a 2017-compatible license.

  • Graphics: When using custom shadow resolution on a light, the resolution is no longer clamped, so it can reach up to 8k shadowmap if needed.

  • Licenses: Updated the FBX license to require acceptance of FBX SDK license (see FBX SDK 2015 License and Service Agreement)

  • Package Manager: Moved the location of the project packages manifest from /UnityPackageManager/Project to /UnityPackageManager.

  • Scripting: Adding a MonoBehaviour to a GameObject in the Editor now calls MonoBehaviour.OnValidate.

  • Scripting: Serialization: Disabled support for opposite-endinanness AssetBundles.

  • Scripting: The Editor now loads precompiled managed assemblies (.dlls) on startup even if there are compile errors in other scripts.

  • Scripting: InitializeOnLoad is now invoked after deserialization. See Upgrade guide for details. (879044)

  • UI: Marked legacy (Unity 1.0) UI system components (GUILayer, GUIText, and GUITexture) as deprecated. GUILayer components are no longer added to the camera by default.

  • Universal Windows Platform: Changed the default scripting backend on Universal Windows Platform to IL2CPP.

  • XR: Camera.stereoMirrorMode is now obsolete.

Improvements

  • AI: Improved performance when synchronizing NavMesh tiles after carving.

  • AI: You can now use NavMeshEditorHelpers.DrawBuildDebug() to selectively collect and visualize debug data from the process of building a NavMesh with the NavMeshBuilder API.

  • Android: Android now renders fullscreen on super widescreen devices.

  • Android: Change to allow extractNativeLibs=false flag to be used if needed.

  • Android: Significantly improved the performance of large prefabs loading on Android (Resources.Load* or AssetBundle.LoadAsset* APIs). (904652)

  • Android: The backend ETC Texture compressor is now configurable in the Editor Settings, with different quality/compression speed tradeoffs.

  • Android: UI: Added "Aspect Ratio Mode" option to Android Player Settings > Resolution & Presentation.

  • Animation: Added ability to copy and paste transition parameters in Animator State Machine.

  • Animation: Added option to Animator States to pull normalized time from a specified Parameter rather than using Time.deltaTime.

  • Asset Import: Exposed a public API for extracting embedded textures from .FBX and SketchUp files. The materials which are embedded in the Asset will be updated automatically to reference the extracted Textures. description

  • Asset Import: Made minor improvements to the Avatar Mask and Transform Mask UI. description

  • Asset Import: Parallelized the Animation Clip keyframe reduction during import.

  • Asset Import: Updated SketchUp SDK to 17.0. (782948)

  • Audio: Added ability to get and set the audio spatializer from script via AudioSettings.GetSpatializerPluginName and AudioSettings.SetSpatializerPluginName.

  • DX12: Native Rendering Plugin improvements:

    • Exposed/implemented native RenderBuffer resource retreival.
    • Fixed multithreading issues.
  • Editor: Added toggle for color-blind-friendly mode to the context menu in the upper-right corner of the Profiler window.

  • Editor: Exposed LZ4 compression settings to the Build Player window for iOS, Android, and Standalone platforms.

  • Editor: Made usability refinements to Profiler charts:

    • You can now toggle all series types
    • Stacked chart series now have explicit reorderable affordances
    • Stacked plots now appear as solid colors
  • Editor: Unity Troubleshooter allows users to observe a list of previously reported issues and search for similar issues in Unity Knowledge base

  • GI: Added A-Trous, a new edge-aware filter for GI when using the Progressive Lightmapper.

  • GI: Added asynchronous loading of precomputed realtime GI data, by moving the GI part of file I/O into the loading thread. Exposed DynamicGI.IsConverged to public API so you can see when lighting is converging. Added timesliced albedo-emission rendering during load. (710503, 790887, 815033)

  • GI: Added support for LOD baking in Progressive Lightmapper.

  • GI: Added update to fill the empty areas in the lightmaps with content from the lower mip levels (push-pull dilation). This fixes visible dark pixels around geometry edges when rendering with lightmaps. The happens due to dark background texels bleeding in when lower MIPs are accessed.

  • GI: HDR emission: Enabled 16-bit floating point format for emission for both Realtime and Baked GI. Baked GI output is still limited by RGBM range. Increased HDR color picker limit from 99 to 64k.

  • GI: Terrain trees can now cast shadows into the baked lightmap for Terrains. Terrain Tree Probes are now in the top of the tree canopy to make sure Probes don't end up inside the tree trunk. description (685764)

  • GI: Upgraded the Enlighten SDK to 3.09. New since 3.08p1:

    Improvements:

    • The face(s) of a triangle which cast direct light shadows can now be set per material. Bug Fixes:
    • Fixed a bug where setting the update manager limiter to values greater than 0 produced incorrect reading of the input lighting buffers.
    • Fixed a crash in IPrecompute::PackGeometry() when providing an input mesh with very large UVs.
    • Fixed a crash in IPrecompPackedGeometry::Load() when running out of memory.
    • Fixed case of uninitialised data being serialised in WriteDataBlockForInPlace() and related functions.
  • Graphics: Added "Dynamic Occludee" settings in Mesh Renderer to control whether dynamic GameObjects should skip occlusion culling. (883644)

  • Graphics: Added GPU Skinning via compute on Vulkan, D3D12, PS4 and Xbox One.

  • Graphics: Added new "Metal Restricted Backbuffer Use" option to Player Settings. This allows improved performance in non-default device orientation.

  • Graphics: Frame Debugger Improvements:

    • Size, format and depth in the Texture shader properties tooltip.
    • Stencil states.
    • Subshader index, pass name and light mode tag.
  • Graphics: Reworked Rendering.CommandBuffer internals to reduce main thread cost.

  • Graphics: Texture Importer: Added support for BC5 compression format when the Texture Type is set to to Normal map. Enable the platform-specific override panel at the bottom of the Texture Importer to set the Format to BC5.

  • iOS: Added an API to retrieve existing build phases for Xcode targets.

  • iOS: Generated Notification and Spotlight icons for iOS targets. Additionally, modified the functions PlayerSettings.GetIconsForTargetGroup, PlayerSettings.GetIconSizesForTargetGroup and PlayerSettings.SetIconsForTargetGroup to take an optional IconKind parameter to get/set specific kinds of icons. (894113)

  • iOS: Implemented Xcode API for embedding frameworks.

  • iOS: Improved render thread scheduling for Metal.

  • iOS: Multithreaded rendering option is now available for iOS/tvOS.

  • Kernel: Added completion events to all return AsyncOperations.

  • Launcher: Integrated Social Sign-On into the Launcher window.

  • Particles: Added a Restart button to the Scene View overlay. description

  • Particles: Added the "Inherit Lifetime" option to the Particle System Sub-Emitter module.

  • Particles: Burst Emission now supports curve modes for the count. description

  • Particles: Custom Module labels are now editable, allowing you to give them contextual names. description

  • Physics: 3D Physics changes caused by modifying the Transform can now be deferred. They automatically synchronise before the physics simulation runs. You can use Physics3D.autoSyncTransforms and Physic3D.SyncTransforms() to control this behaviour.

  • Physics: Added edit modes for joint angular limits to Inspectors for CharacterJoint, ConfigurableJoint, HingeJoint, and HingeJoint2D. description

  • Physics: Collision2D.contacts array is now created when accessed so that it isn't allocated any memory until used.

  • Plugins: Added a rendering command buffer callback to update the contents of a Texture from inside the plug-in (D3D11/Metal/GLES).

  • Plugins: Native Rendering Plugins are now supported on Nintendo Switch.

  • Services: Updated Unity Ads to version 2.1.1.

  • Shaders: Improved compute shader import times, and eliminated some shader compiler timeouts.

  • Shaders: Improved import time of surface shaders with many similar shader_feature/multi_compile variants.

  • Substance: Added support for V6 engine; Ability to use all the nodes of Substance Designer.

  • UI: Introduced a shader keyword to all of the UI shaders, which controls the rect clipping. Rect clipping now only occurs when the Mask component is enabled. This leads to much better UI performance when Masks are not used. (784238)

  • Universal Windows Platform: IL2CPP scripting backend now defaults to using .NET 4.6 API compatiblity level.

  • VR: Updated Oculus to version 1.14.

  • Web: UnityWebRequest now has DownloadHandlerFile available for downloading files and saving them to disk with a low memory footprint.

  • Windows: Improved the crash dialog in the Windows Player; it now has more detail, and prompts the user to open an Explorer window for the crash report.

  • Windows: Split the player executable into two parts: a signed UnityPlayer.dll that has all the engine code, and a wrapper executable that calls into this DLL at startup. The source code for the executable is in Editor\Data\WindowsStandaloneSupport\Source\WindowsPlayer. You can rebuild it with VS2015 as long as you have "Common Tools for Visual C++ 2015" and "Windows XP Support for C++" installed.

  • XR: Improved rendering performance of Daydream and Gear VR apps.

  • XR: Made improvements to pause handling in XR applications. Apps which need to pause when the HMD is removed no longer resume if the window focus changes, and vice-versa.

  • XR: On VR HMDs for WindowsMR, you can now call SetTrackingSpaceType with TrackingSpaceType.RoomScale to set the floor at y = 0.

  • XR: Updated interfaces and new data for GestureRecognizer and InteractionManager (UnityEngine.VR.WSA.Input). Some of the API surface for this has breaking changes on the way and will land soon.

  • XR: UnityEngine.Experimental.VR.Boundary.TryGetGeometry now works on Windows Mixed Reality headsets.

API Changes

  • Accessibility: Added UnityEngine.Accessibility.VisionUtility.GetColorBlindSafePalette().

  • AI: Added NavMeshBuildDebugFlags, NavMeshBuildDebugSettings, NavMeshBuildSettings.debug, NavMeshEditorHelpers.DrawBuildDebug.

  • Asset Import: Added AssetPostprocessor.OnPostprocessGameObjectWithAnimatedUserProperties(GameObject go, EditorCurveBinding[] bindings) and void AssetPostprocessor.OnPostprocessAnimation(GameObject root,AnimationClip clip).

  • Asset Pipeline: AddedAssetBundle.UnloadAllAssetBundles() and AssetBundle.GetAllLoadedAssetBundles(). (904927)

  • Editor: Added AssemblyBuilder API for building managed assemblies from scripts outside of the Assets folder.

  • Editor: Added JointAngularLimitHandle to UnityEditor.IMGUI.Controls.

  • Editor: Obsoleted EditorApplication.playmodeStateChanged in favor of new EditorApplication.playModeStateChanged and EditorApplication.pauseStateChanged.

  • Editor: Removed unnecessary ArcHandle constructor taking a control ID hint.

  • Editor: Updated ArcHandle.radius so that it can now have a negative value.

  • Graphics: Added RenderPass functionality to scriptable render pipelines.

  • Graphics: Added CommandBuffer.IssuePluginEventAndData, CommandBuffer.IssuePluginCustomBlit and CommandBuffer.IssuePluginCustomTextureUpdate.

  • IMGUI: Added GUI.Toolbar/GUILayout.Toolbar method with new GUI.ToolbarButtonSize enum parameter to support Fixed and FitToContents modes for button contents.

  • IMGUI: Updated GUI.SetNextControlName() so that it now works for controls with any FocusType.

  • iOS: Modified the functions PlayerSettings.GetIconsForTargetGroup, PlayerSettings.GetIconSizesForTargetGroup and PlayerSettings.SetIconsForTargetGroup to take an optional IconKind parameter to get/set specific kinds of icons. (894113)

  • iOS: Obsoleted iOSStatusBarStyle.BlackOpaque and iOSStatusBarStyle.BlackTranslucent in favor of iOSStatusBarStyle.LightContent. (894136, 917073)

  • Kernel: Added new AssetBundle APIs LoadFromStream and LoadFromStreamAsync. The APIs let the user load AssetBundle data from a managed Stream instead of Unity native methods.

  • Kernel: Added AsyncOperation.completed event for delegate registration.

  • Mobile (Android, iOS, Metro, Tizen): Added TouchScreenKeyboard.keyboardStatus read-only value. Status can be Visible, Done, Canceled, or LostFocus. (758761)

  • Multiplayer: Added a new overload to NetworkManager.StartClient function which allows you to specify which port the local socket should be bound to. (903860)

  • Physics: Added Collision2D.GetContacts().

  • Physics: Added Physics2D.autoSyncTransforms and Physics2D.SyncTransforms().

  • Playables: Added API functions Playable.ConnectInput() and Playable.AddInput().

  • Playables: Added PlayableGraph.IsPlaying().

  • Playables: Moved AudioPlayableOutput to namespace UnityEngine.Audio.

  • Playables: Removed all *Playable.SetHandle().

  • Playables: Renamed PlayableGraph.Connect() parameters for clarity.

  • Plugins: Added new kUnityRenderingExtEventUpdateTextureBegin/kUnityRenderingExtEventUpdateTextureEnd events to UnityRenderingExtEventType.

  • Scripting: Added SerializedProperty.fixedBufferSize, SerializedProperty.isFixedBuffer and SerializedProperty.GetFixedBufferElementAtIndex.

  • Scripting: UnityEngine.dll is now split into separate dlls for each UnityEngine module.

  • Services: Added support for user-defined purchasing payouts attached to ProductDefinitions.

  • Terrain: Added Terrain.freeUnusedRenderingResources API. You can use this to turn off a "garbage collection" mechanism within the Terrain system to prevent a potential performance hiccup. See the API documentation for details. (743462)

  • Terrain: Added Terrain.freeUnusedRenderingResources. (743462)

  • VR: Added VRDevice.userPresence. This API allows applications to test whether a user is present and interacting with a VR device - e.g. wearing a HMD.

  • VR: Exposed angular velocity and angular acceleration via the UnityVR.InputTracking.GetNodeStates() API on VR platforms that supply these values.

  • Web: Added UnityWebRequestAsyncOperation UnityWebRequest.SendWebRequest() API.

  • Web: Obsoleted the following deprecated API:

    • Application.isWebplayer
    • GameViewSizeGroupType.WebPlayer
    • BuildTargetGroup.WebPlayer
    • EditorBuildSettings.webPlayerStreamed
    • EditorBuildSettings.webPlayerOfflineDeployment
    • EditorUtility.BuildResourceFile(Object[] selection, string pathName)
  • Web: Obsoleted UnityWebRequest.Send() in favor of new SendWebRequest call.

  • Web: Removed the following obsolete API:

    • BuildPipeline.WebPlayerAssetBundlesAreNoLongerSupported()
    • BuildPipeline.BuildAssetBundle(Object mainAsset, Object[] assets, string pathName, BuildAssetBundleOptions assetBundleOptions)
    • BuildPipeline.BuildAssetBundle(Object mainAsset, Object[] assets, string pathName)
    • BuildPipeline.BuildAssetBundle(Object mainAsset, Object[] assets, string pathName, out uint crc, BuildAssetBundleOptions assetBundleOptions)
    • BuildPipeline.BuildAssetBundle(Object mainAsset, Object[] assets, string pathName, out uint crc)
    • BuildPipeline.BuildAssetBundleExplicitAssetNames(Object[] assets, string[] assetNames, string pathName, BuildAssetBundleOptions assetBundleOptions)
    • BuildPipeline.BuildAssetBundleExplicitAssetNames(Object[] assets, string[] assetNames, string pathName)
    • BuildPipeline.BuildAssetBundleExplicitAssetNames(Object[] assets, string[] assetNames, string pathName, out uint crc, BuildAssetBundleOptions assetBundleOptions)
    • BuildPipeline.BuildAssetBundleExplicitAssetNames(Object[] assets, string[] assetNames, string pathName, out uint crc)
    • BuildPipeline.BuildAssetBundles(string outputPath, BuildAssetBundleOptions assetBundleOptions = BuildAssetBundleOptions.None)
    • BuildPipeline.BuildAssetBundles(string outputPath, AssetBundleBuild[] builds, BuildAssetBundleOptions assetBundleOptions = BuildAssetBundleOptions.None)
    • BuildPipeline.WebPlayerOfflineDeployment
  • Windows: Added UnityEngine.Windows.CrashReporting.crashReportFolder, a Windows-specific API that exposes the crash dump path to C#.

  • XR: Added PlayerSettings values for new Async Video Reprojection Settings. (932009)

  • XR: Added VRTextureUsage as an argument to RenderTexture.GetTemporary, with a default value. (918634)

  • XR: Added XRDevice.fovZoomFactor. (845344)

  • XR: Made Google Async Video Reprojection usable without the need to subclass UnityPlayerActivity.

  • XR: Moved types in the UnityEngine.VR.* namespaces to UnityEngine.XR.* namespaces. Renamed VR to XR across the API; for example, types like VRSettings, VRDevice, VRNode to XRSettings, XRDevice, XRNode. Configured API updater to automatically update existing scripts and assemblies.

Fixes

  • 2D: Console warning "Texture being dragged has no Sprites" is no longer printed infinitely when sprite is being dragged on Scene window. (916845)

  • 2D: Fixed case of "Unapplied Module Changes" Window appearing when navigating to Edit Outline / Edit Physics Shape but making no changes. (916747)

  • 2D: Fixed case of Aniso Level on Texture being stuck at 16 when imported as Sprite Texture and without mipmaps enabled. (909748)

  • 2D: Fixed case of sprite packer causing an Out Of Memory error. (897066)

  • 2D: Fixed case of text for "Edit Physics Shape" being cutoff in Sprite Editor window regardless of window size. (916742)

  • Android: Fix to return null for AndroidJavaObject.Get<>() and AndroidJavaObject.GetStatic<>() instead of throwing exceptions.

  • Android: Fixed issue where Time.realtimeSinceStartup would not increase while the device is in deep sleep. (867885)

  • Animation: Added an error message to SampleAnimation when attempting to sample an animation clip without an animator. (888031)

  • Animation: Disabled the Add State Machine Behaviour button while new scripts need to be recompiled on a State. (908223)

  • Animation: Fixed a crash when an animator reset was triggered during a StateMachineBehaviour awake. (907324)

  • Animation: Fixed double callback at the end of an interrupted transition. (900875)

  • Asset Import: Fix to show the progress bar immediately for large meshes. (462618)

  • Asset Import: Fixed crash when calling Object.DestroyImmediate(go) in OnPostprocessGameObjectWithUserProperties. (899383)

  • Asset Import: Fixed crash when failing to import all animation clips in an FBX file. (911612)

  • Asset Import: Fixed crash when importing FBX files that have a negative framerate value. (905817)

  • Asset Import: Fixed editor crash and visibility curves correctness on FBX with non baked animations. (940745)

  • Asset Import: Fixed issue where an imported mesh would be 'split' into only one part. (906949)

  • Asset Import: Fixed issue where visibility animation curves were created on nodes that don't have a mesh. (907964)

  • Asset Import: Fixed issue with FBX import where mesh instances with different materials were assigned the same material. (898916)

  • Asset Pipeline: (Also mentoned under API changes) Added AssetBundle.UnloadAllAssetBundles() and AssetBundle.GetAllLoadedAssetBundles(). (904927)

  • Audio: Audio Clip Preview: Fixed bug where changing the audio clip in the audio source selection dialog did not stop the previous playing clip. (874592)

  • Audio: Audio Mixer: Fixed case of mute not being applied to the child mixer of channel, or on the parent channel itself. (890139)

  • Audio: Audio Source occasionally became louder when played repeatedly. (921686)

  • Audio: AudioClip in Audio Source component only played the first selected audio clip. (901001)

  • Audio: AudioSource had short volume glitches at the beginning of playback when a Rigidbody was attached. (915586)

  • Audio: AudioSource volume was incorrect when re-enabling disabled AudioSource. (922299)

  • Audio: AudioSource were affected by AudioReverbZone even with the Bypass Reverb Zones setting enabled. (931206)

  • Audio: Changing Reverb Preset of an AudioReverbZone via script had no effect on audio. (802828)

  • Audio: Deleting a mixer asset from Audio Mixer window no longer causes deletion of the selected folder. (895642)

  • Audio: Fixed bug where all external audio clips would be unloaded upon calling AudioClip.UnloadAudioData on an external audio clip. (849564)

  • Audio: Fixed bug whereby Audio Mixer assets had no links to docs in their inspectors. (630520)

  • Audio: Fixed error when trying to undo 'Set as start Snapshot' action. (926480)

  • Audio: Fixed glitches in audio mixer group view when adding/duplicating a large number of groups. (908919)

  • Audio: Fixed incorrect display of source-listener distance when both source and listener are attached to the same game object and the game object is accelerating. (849469)

  • Audio: Fixed issue where Editor would freeze when attempting to open some .mixer assets in the Audio Mixer Window. (852029)

  • Audio: Mixer: Duplicated groups can now be undone. (907123)

  • Audio: On Windows, it was not possible to receive information about microphone devices when its name contained special characters. (895350)

  • Audio: The audio clip no longer starts to play when auto-play is enabled in the preview window and the Game/Scene view is detached. (922827)

  • Audio: The AudioListener.pause property was not reset when exiting Play mode. (917676)

  • Audio: The first AudioMixerSnapshot.TransitionTo call incorrectly started a transition from selected snapshot instead of the defined start snapshot. (905679)

  • Audio: Toggling bypass on any audio effect can now be undone. (776858)

  • Build Pipeline: Fix to prevent build files from getting generated when a build fails. (896991)

  • Build Pipeline: Fixed ability to build asset bundles for a platform other than the one setup in Build Settings. (904359)

  • Build Pipeline: Fixed bug that prevented setting of asset bundle on newly imported textures until some part of the import settings were altered. (905640)

  • Build Pipeline: Fixed bug where new builds were offering the previous project's build path by default. (909650)

  • Build Pipeline: Fixed issue where building for player for unsupported build target was crashing the editor. (900338)

  • Build Pipeline: Fixed issue where cancelling a build would result in a "Build failed" error message. A build result of Succeeded, Failed, or Canceled will now be logged as info. (907429)

  • Build Pipeline: Fixed issue where loading a GameObject from a dll in an asset bundle would cause it to lose its Monobehavior references. (741536)

  • Build Pipeline: Fixed issue where relative build path wasn't getting resolved correctly. (911830)

  • Collab: Fixed an issue where users could experience an editor freeze with collab enabled and 100% packet loss on network. (920583)

  • Editor: Added serialization of active column for Profiler GUI and CPU Hierarchy view. (892743)

  • Editor: Avatar Configuration scene now blocks creation of new scene and gives an appropriate message. (892164)

  • Editor: Error is now logged when trying to set a non-loaded scene as the active scene. (840650)

  • Editor: Fix application menu items and their shortcuts in launcher window on OSX. (921224)

  • Editor: Fix red line at the edge of a window when stretched on OSX. (931831)

  • Editor: Fix to remove suprious errors in console when logging in to Unity account with Collab enabled. (885388)

  • Editor: Fixed an issue where double-F (track selection) in the scene view could use a different focal point than single-F (frame selection). (584765)

  • Editor: Fixed an issue where the Game View ignored vsync settings when using OpenGL on macOS. (901973)

  • Editor: Fixed an issue where undoing creation of a LightProbeGroup was throwing a MissingReferenceException. (657159)

  • Editor: Fixed bug causing Scene view to only focus on the first target in a selection when entering a tool (e.g. Edit Collider) mode.

  • Editor: Fixed bug causing EditorApplication.playmodeStateChanged to be invoked continuously when scrubbing Profiler. (898172)

  • Editor: Fixed bug in progress bar code, which caused Build and Run to crash during sprite packing. (907145)

  • Editor: Fixed build window erratic scene order drag on OSX. (874335)

  • Editor: Fixed case of 'Assertion failed' when using Playmaker's Ecosystem browser. (910371)

  • Editor: Fixed case of property fields skipping child properties when HideInInspector attribute is used. (918683)

  • Editor: Fixed case of TextField changing height when entering new text, and toggles not displaying fully when no text is entered. (912001)

  • Editor: Fixed crash in GUIKeyboardState::~GUIKeyboardState() when double-clicking and draging Scene View window. (909662)

  • Editor: Fixed crash in GUIView::OnInputEvent() when closing a floating window and using the -debugallocator flag. (905960)

  • Editor: Fixed crash seen on Windows, when opting to keep a temporary project (e.g. one opened from the 'Learn' tab on the launcher) on Editor. This was caused by the directory being in use by another application. (917556)

  • Editor: Fixed crash when closing a window if it hasn't finished loading. (916113)

  • Editor: Fixed crash when selecting reflection probe background color via Color Picker. (934613)

  • Editor: Fixed crash when undocking/docking the Profiler Window. (920862)

  • Editor: Fixed error messages when opening temporary project from launcher after a project has already been loaded. (952457)

  • Editor: Fixed exception when backspacing iOS target SDK version in PlayerSettings inspector.

  • Editor: Fixed issue that user is not recognized as signed in when opening a cloud project

  • Editor: Fixed issue where creation of prefab from a GameObject would mark all scenes dirty. Now, it only does so for the scene containing the Game Object. (912271)

  • Editor: Fixed issue where gizmos where not being recalculated after scene load. (909099)

  • Editor: Fixed issue where removing all profilers from profiler window still displays hierarchy of CPU profiler. (911489)

  • Editor: Fixed issue where the 'Apply' button for prefabs would try to mark the scene as dirty in playmode. (839124)

  • Editor: Fixed issue where Unity would regard a baked lighting map named 'library' as a Unity Library folder. (799477)

  • Editor: Fixed light baking in scenes with names containing Unicode characters. (876062)

  • Editor: Fixed potential crash when calling Close() from OnGUI(). (903828)

  • Editor: Fixed transform precision issue when moving multiple objects. (907854)

  • Editor: Modified the dialog text when opening a project last saved in a different version of Unity, to avoid confusion. (886169)

  • Editor: Series labels in Profiler chart now stay inside the chart area when selecting the frame on the far left or far right of the chart. (913382)

  • Editor: Setting a custom icon on a GameObject now dirties the current open scene. (898818)

  • GI: Terrain trees now use the correct, non-interpolated light probes that are placed per tree. (911491)

  • GI: The light intensity of the sun disk procedural skybox will now match specular highlights. (895359)

  • Graphics: Added optional downscale algorithm to avoid PVRTC compression artifacts on some noise textures. (880191)

  • Graphics: Fix for miscalculating the size of the view required for a buffer that will be used as the source for an Indirect Draw/Dispatch call. (919044)

  • Graphics: Fix to allow 2D colliders to affect Lens Flares. (911429)

  • Graphics: Fixed a bug where wrong values might be reported to Frame Debugger for built-in and global shader properties. (874354)

  • Graphics: Fixed case of grid rendering incorrectly in the Animation Preview window. (903454)

  • Graphics: Fixed issue where debug GFX overlay was drawn on top of objects in Game View. (851379)

  • Graphics: Fixed issue where Halo light would go through "Opaque" and "Transparent" shaded objects. (825212)

  • Graphics: Fixed memory leak in Texture2DArray and CubeMapArrayTexture. (919162, 930677)

  • Graphics: In deferred for culling mask, we now only reserve the stencil bit used in the view currently. (879852, 910502)

  • Graphics: Metal: Fix to eliminate Z-fighting artifacts on certain devices. (950946)

  • Graphics: Metal: Fixed occassional GPU hang/crash when dispatching compute shader. (950892)

  • Graphics: Updated documentation to clarify that calling Texture*.Apply() after CopyTexture() is undefined. (856264)

  • Graphics: We now ignore a SubShader which only has a GrabPass in it after the other passes have been removed.

  • IMGUI: Fixed an issue where the Event.numeric setter would actually set Event.shift instead. (858889)

  • Installer: Windows Download Assistant now waits for Visual Studio 2017 to finish installing and reboots Windows if necessary.

  • iOS: Fixed case of queueDebuggingEnabled not being included in the Unity-iPhone XCode Scheme file. (907857)

  • iOS: Fixed PBXProjectExtensions.AddFileToEmbedFrameworks when .pbxproj contains unknown sections. (942488)

  • iOS: Removed iOS 6.0 support. The minimum supported version is therefore now 7.0.

  • Kernel: Fixed an issue on FileUtil.CopyFileOrDirectory, where it would delete the Assets folder if the destination argument is null. (910294)

  • Kernel: Fixed an issue where selecting multiple large images in the Editor could cause performance problems. (860776)

  • Kernel: Fixed Editor shutdown deadlock when specific native threads call managed code via script invocation.

  • Kernel: Fixed the YAML writer/reader so that .meta files generated for the .DLL plugins comply with the YAML specifications. (909364)

  • Licenses: Editor can now read computer names containing unicode strings. (954004)

  • Mobile (Android, iOS, Metro, Tizen): (Also mentioned under API changes) Added TouchScreenKeyboard.keyboardStatus read only value. Status can be Visible, Done, Canceled or LostFocus. (758761)

  • Mono: Prevent the package import view from showing duplicate entries with the new Mono runtime. (908704)

  • Multiplayer: Fix for case where config validation in NetworkTransform resulted in a null exception.

  • OSX: Fix for Apple filesystem (APFS) compatibility.

  • OSX: Fixed issue where game would be stretched in fullscreen on non-native aspect ratio in OSX standalone player. (793490)

  • Package Manager: Fixed case of Packages folder already used by nuGet resulting in compilation errors. (941516)

  • Package Manager: Give the option for the user to continue loading the project even though package resolution failed (no internet or wrong manifest). No packages will be loaded and a sticky error message will be displayed. (945057)

  • Particles: Added more reasons to the Frame Deubgger for why a dynamic batch may be broken. (911933)

  • Physics: Ensure no work is done if the 2D physics world is empty. (940666)

  • Player: Fix for valid float string parsed to infinity on iOS in json. (881155)

  • Plugins: Fixed an issue where plugins were not included during build even though they were shown as enabled for that platform. (914860)

  • Scripting: Fixed an exception that was thrown when a user overrides the Unity synchronization context with their own. (924070)

  • Scripting: Fixed APIUpdater crash when checking C# scripts with deep object initialization syntax. (902973)

  • Scripting: Fixed corruption in assemblies containing references to UnityEditor.Animations.AvatarMask. (904030)

  • Scripting: Fixed crash when calling DestroyImmedate on a MonoBehaviour, or its game object in MonoBehaviour.Reset, or MonoBehaviour.OnValidate during AddComponent. (720677, 900003)

  • Scripting: Fixed crash when calling DestroyImmediate on own GameObject during Awake when instantianting a prefab. (720677, 900003)

  • Scripting: Fixed memory leak in UnityWebRequest when Dispose is not called. (862095)

  • Scripting: Fixed nested types updating on local variable / parameter declarations.

  • Scripting Upgrade: Fixed an issue where assemblies built with .NET 4.6 fail to load. (922577)

  • Scripting Upgrade: Fixed crash when System.Reflection.Emit is used to generate assemblies for the AppDomain.AssemblyResolve event. (920772)

  • Scripting Upgrade: Fixed hang that could occur when displaying bug reporter. (915672)

  • Services: Collab: Fixed issue whereby renaming a large folder could result in work loss. (914442)

  • Services: Fixed bug that would make it not possible to create a new project from the Launcher when the XBOX or PS4 support modules were installed. (905684)

  • Services: Fixed crash in Unity while using Collab and doing an update, cancelling it immediately, and updating again. (912481)

  • Services: Fixed issue whereby user was not prompted to save local scene edits before updating, resulting in loss of work. (907960)

  • Services: Fixed multiple UI issues and bugs in the hub and support for online tutorials. (869503, 884626, 889584, 891480, 893650, 900532)

  • SpeedTree: Fixed an issue where the shadow of a SpeedTree mesh wasn't animated by wind if the tree itself isn't visible in any camera. (909459)

  • Terrain: Fixed an issue where undoing terrain creation would throw MissingReferenceException. (903033)

  • Timeline: Fix to not show hidden PlayableDirectors in Timeline Editor dropdown. (900307)

  • Timeline: Fixed drag and drop of Audio Source on PlayableDirector. (923278)

  • Timeline: Fixed drag and drop of items with varying height. (875990)

  • Timeline: Fixed issue where drag and drop tracks would reverse their order. (876343)

  • Timeline: Fixed Timeline Editor zoom behaviour inconsistency. (877484)

  • UI: Fixed case of object scale interfering with input.

  • UI: Fixed case of single-line input field becoming unresponsive. (948059)

  • UI: Fixed crash caused by null batch material. (935112)

  • UI: Fixed crash when undoing or applying changes on a prefab instance containing UI objects. (930503)

  • Universal Windows Platform: When simulating the HoloLens in editor, spatial mapped data will be generated in a consistent orientation. (898305)

  • Video: Added support for transcoding to tiny VP8 resolutions. Previously, attempting to do so would result in errors. (900524)

  • Video: Android: Fixed issue where 4.1/4.2, bigger resolution videos would not play. (894170)

  • Video: Android: Fixed issue whereby video would stop playback if trying to play faster than 1x. (904620)

  • Video: Fix for loss of audio when changing video playback speed on iOS/OSX with AudioSources. (938801)

  • Video: Fixed audio playback when AudioSource is disabled in VideoPlayer. (907755)

  • Video: Fixed crash for dangling render texture pointer in VideoPlayer . (930707)

  • Video: Fixed failing VP8 transcode on Windows due to unsupported audio codec. (904924)

  • Video: Fixed intermittent failure to load video tracks on iOS. (898171)

  • Video: Fixed invalid video stride evaluation on Windows. (906044)

  • Video: Fixed performance issues with VideoPlayer creation/destruction. (888745)

  • Video: Fixed MovieTexture support for Metal. (911115)

  • Video: Transcoding issues with uncompressed RGBA .mov. (948288)

  • Video: Typo in VideoPlayer editor for Audio Source property tooltip. (920816, 948289)

  • Video: (1) was added to VideoPlayer name when added with drag-and-drop. (923258, 948287)

  • VR: Fix for issue whereby Android GearVR could not change Anti-aliasing settings at runtime. (896253)

  • VR: Fixed crash when camera was selected in editor view while in playmode and VR enabled. (913980)

  • VR: The handling of a 'X' button press is now as expected:

    • Terminate the application if pressed during the splash screen.
    • Else inject 'Esc' into the event stream so that the developer can handle as needed. (908990)
  • Web: Fixed case where pinging IPv6 address would never set the done flag. (802395)

  • WebGL: Added the missing the setTempRet() function to WebAssembly. (897782)

  • WebGL: Added the missing the setThrow() function to WebAssembly. (891835)

  • WebGL: Fix to release WebCam after use so that other tabs can use it. (898210)

  • WebGL: Fixed case of Template Custom Tags not being replaced at build time. (903092)

  • WebGL: Fixed custom cursor support. (905625)

  • WebGL: Fixed IE InvalidStateError load-time error. (903767)

  • WebGL: Fixed image padding when the width does not need to be padded. (904449)

  • WebGL: Fixed Profiler connection. (901252)

  • WebGL: Fixed source of WebAssembly runtime error: "integer overflow/unrepresentable". (891431)

  • WebGL: Fixed wasm build failure on MacOS caused by special characters in the project path. (899387)

  • WebGL: Fixed wasm integer overflow on DirectorFrameTime::CalculateDSPDeltaTime. (912234)

  • WebGL: Fixed AudioSource.time return value. (904578)

  • Windows: Crash dumps for the Windows Player are now generated in a user-writable data folder. (914366)

  • Windows: Fixed 'jumping window bug' when in windowed mode and Cursor.lockState is set to Locked. (876969, 886469)

  • Windows: Fixed an issue where illegal path characters in Company Name or Product name could cause logging to not work in Low Integrity mode. (842416)

  • Windows: Fixed issue that was causing artifacts when running at non native resolution on Windows standalone player. (930948)

  • Windows: Player crash report now respects -logFile command line argument. (840149)

  • Windows: [Standalone] Fixed crash on exit when multiple instances are running. (804243)

  • XR: Android density (screen resolution) changes no longer result in a crash. (950540)

  • XR: Fix to stop dropping out of VR when render scale is set higher than texture memory will allow, and safely reverting back to the last known good scale setting. (916952)

  • XR: Fixed an issue that was causing eye flickering in Daydream. (915277)

  • XR: Fixed case of blit to temporary RT not setting _MainTex_ST correctly. (918634)

  • XR: iOS target frame rate now defaults to the device frame rate for Cardboard (previously it was incorrect by default). (950229)

  • XR: Performance and stability during in-editor remoting has been improved for the HoloLens. (901423)

Known Issues

  • Asset Import: Visibility animation curves are invalid when their target meshes are split, because of the 65534 vertices limit.

  • Asset Import: MergePrefabInstance causes a crash when reimporting Assets from Assets Store. (913659)

  • Asset Pipeline: Reverting changes on applied Prefabs crashes Unity. (825035)

  • Asset Pipeline: MoveTransformToRootOfSceneUndo causes a crash when undoing additions of RectTransform to Prefab. (912166)

  • Editor: Input fields don't immediately accept input after tabbing to them. It is necessary to click on the field. This will be fixed in a patch release soon. (952802)

  • GI: Lightmap baking for Terrain trees: Non-speedtree GameObjects do not cast shadows unless they are part of a LOD group. (955667, 955739)

  • GI: Navigating in Scene view restarts baking when trees are painted onto the Terrain. (955667, 955739)

  • OSX: [macOS][High Sierra] MonoDevelop crashes on 2nd monitor. Workarounds available:

    • delete MonoDevelop settings folder (MonoDevelop-Unity-5.0) in Preferences.
    • have only one (main) monitor and run MonoDevelop This will be fixed in a patch release soon. (955089)
  • Package Manager: When opening a project, Unity may try to alter the contents of package meta files. This can happen when opening the same project with multiple versions of Unity. Since the package cache folder is read-only, this results in an access denied error during Unity startup. Clicking 'Cancel' will allow you to continue to open the project, and the error will not appear on subsequent project loads. This will be fixed in a patch release soon. (957025)

  • Services: CollabSnapshot logs "Save to file" even when Collab is disabled. This causes the Mac Editor to take two minutes to exit Play mode. (931990)

  • XR: Daydream controller may stop working after Unity project suspend/resume if the project uses the Google VR SDK for Unity controller support. (944770)

  • XR: In single-pass stero rendering, the Occlusion Mesh is visible when rendering to an RT Camera. (936114)

  • XR: The editor will show an incorrect ""Unsupported texture format: ..." error in the editor when XR is enabled. (956693)

  • XR: [VR Oculus Compositor Splash] Particle System does not work on Build when VR is enabled. This will be addressed in a patch soon after release. (926695)

  • XR: XR applications will throw callback unregistration asserts if the VR device is changed at runtime. These callbacks relate to analytics (for the VR device) however, so your application will experience no issues.


2017.2.0f3 Release Notes (diff since 2017.2.0f2)

Changes

  • Package Manager: Moved the location of the project packages manifest from /UnityPackageManager/Project to /UnityPackageManager.

Improvements

  • Services: Updated Unity Ads to version 2.1.1.

Fixes

  • Licenses: Editor can now read computer names containing unicode strings. (954004)

  • XR: Android density (screen resolution) changes no longer result in a crash. (950540)

The following are changes and fixes to 2017.2.0 features and regressions...

Improvements

  • Multiplayer: Improved batch sending for web sockets.

Fixes

  • Editor: Fixed race condition that could cause Editor to freeze on entering play mode. (954551, 956287)

  • Editor: Resolved an issue where reverting changes to a prefab would corrupt the prefab. (696346, 864619, 883861, 931300, 931877)

  • Graphics: Fixed crash when opening Occlusion tab in a scene containing Speedtrees. (940486)

  • iOS: Fixed iOS11 crash when launching app in landscape mode. (949029)

  • iOS: Fixed startup crash on iOS 7.x and OSX 10.9.x. (957572)

  • Package Manager: VCS plugins now track the Package Manager manifest. (949497)

  • Particles: Fixed issue whereby emission bursts did not upgrade correctly when updgrading a project from an earlier version of Unity. (956329)

  • Windows: Fixed case of Windows Standalone displaying a blank icon in the corner of window. (954635)

  • XR: Fixed crashes when running Holographic Simulator in Editor. (949293)

  • XR: Fixed issues with using renderViewportScale on WindowsMR.

Revision: 46dda1414e51

LTS Release 2017.1.2f1

Released:

LTS Release 2017.1.2f1

Released:

Improvements

  • 2D: Sprite atlas packing will now spend less time reconciling sprite from cache atlas. Previously this was slow, especially in a new editor session.
  • Graphics: When using custom shadow resolution on a light, this resolution won't be clamped as usual, allowing to reach up to 8k shadowmap if needed.
  • iOS: Added an Marketing icon kind for iOS and a slot for a 1024x1024 App Store icon.
  • Tizen: Load the first scene during displaying Splash screen.

Changes

  • 2D: Sprite atlas packing will now cancel and return an error if there exist sprite(s) with size larger than the pre-determined atlas max size.
  • XR : Updated Google VR NDK to 1.80.

Fixes

  • 2D : Correctly use Sprite Atlas packed offset when calculating UVs for OverrideGeometry(). (941884)
  • 2D : Editing 2D primitive asset no longer show error in console. (937147, 946596, 937126, 946595)
  • 2D : Expose sRGB (gamma color space) option and packing padding option to Sprite Atlas inspector. (941882)
  • AI : UpdateNavMeshData will process non read/write meshes in editor when not in playmode. (935105)
  • Android : Resources.Load no longer stalls LoadScene and LoadSceneAsync. (918875)
  • Android: Buildpipe - Fixed permissions popping up when providing resources in res/ . (940999, 939414)
  • Android: Fixed a shader compile error on devices not supporting GL_FRAGMENT_PRECISION_HIGH. (945953)
  • Android: Fixed black screen on startup on Android O devices. (946059, 945338)
  • Android: Permissions - Fixed ephemeral permissions not popping up on Android Oreo. (946377, 946349)
  • Android: Removed API 16 - 19 from target sdk version selection list. (944010, 898416)
  • Android: SoftInput - Fixed the Korean input on Samsung phones. (946429, 945994)
  • Animation : Fix for events not being fired during CrossFade at 0F. (920126)
  • Animation : Fixed a case where sprite and material reference were not animatable at the same time in the SpriteRenderer. (945292)
  • Animation : Fixed a case where transition between animations made GetIKRotation and GetIKPosition return an incorrect value. (945035)
  • Animation : Fixed alpha channel being animated when in linear color mode. (935087)
  • Animation: Fixed a crash when spawning an Animator with a state machine that uses OnStateMachineEnter. (930814)
  • Animation: Fixed animation events firing twice when using Animator manual update. (938978)
  • Animation: Fixed root motion not correctly aligning avatar on WebGL. (934626)
  • Build pipeline : Fixed a regression where the working directory of a Standalone build would default to the Assets folder, which was not allowed. (934848)
  • Build pipeline : Fixed the behaviour of the build process so that all the scripts got recompiled if the build process failed. (921652, 941913)
  • Collab: Fixed an issue where renamed files with new changes were not being pushed to the server and were ignored when comparing client/server states. (916233)
  • Editor : Don't give fatal error on plugin importer query for nonexistent platform.
  • Editor : Fixed ""TLS Allocator ALLOC_TEMP_THREAD, underlying allocator ALLOC_TEMP_THREAD had unfreed allocations" while calling PluginImporter.SetPlatformData. (925589)
  • Editor : Fixed an issue where Launcher did not allow user to login and do re-activate when license was invalid. (942743)
  • Editor : Fixed the Callback registration failed kMaxCallback crash when entering playmode. (873467)
  • Editor : Fixed a crash when building splash with a portrait background but no landscape background was assigned. (913251)
  • Editor : Fixed modifiers being discarded when pressing hotkey. (936062, 942636)
  • Editor : Fixed prefab preview displaying all game objects in each individual game object preview during multi-selection. (941177)
  • Editor : Fixed sprite preview generation. (943905)
  • Editor : Plugins will be correctly excluded from player build, when using combination Any Platform = true with specific platforms excluded. (941182)
  • Editor: The crash on macOS when canceling undock of Hierarchy or Scene View has been fixed. (942253)
  • Editor: Fixed an issue where LogAssert.Expect would ignore the the logtype when finding a satisfying event when running playmode and editmode tests. (935602, 944933)
  • Editor: Fixed an issue where OnHierarchyChange() and EditorApplication.hierarchyWindowChanged events were not sent when selecting gameobjects with previews and when adding gameobjects to a scene if they had the HideInHierarchy flag. (946016, 935289)
  • Editor: Fixed incorrect lighting when switching to Metal device if Editor was started in OpenGL.
  • Editor: The generated TestResults.xml when running playmode and editmode tests is now updated to be in NUnit3 format. (910845, 940838)
  • GI : Fixed a case of object lighting preview being empty for meshes with no normals. (726487)
  • GI : Fixed an issue where creating a new scene in project window affected the lighting settings of other scenes. (919234)
  • GI : Fixed shadowmask in Forward rendering when multiple directional lights are used. (925579)
  • GI: Added A-Trous filter for the Progressive Lightmapper.
  • Graphics : Changing worldPos in gles2 to be fp32. (899729, 925179)
  • Graphics : Fixed a rare crash when dynamic batching was enabled. (938089, 944773)
  • Graphics : Fixed occlusion culling of shadows within the camera sightline. (829193)
  • Graphics : Fixed the case of Light Cookie rendering differently in Forward and Deferred mode. (923026)
  • Graphics : Fixed TrailRenderer not recording the first position when instantiated using a position and rotation value. (921297)
  • Graphics : Improved motion vectors precision when dynamic batching is disabled. (941966)
  • Graphics : Made ImageEffects always use the right source buffer, and blit to the final destination if necessary.
  • Graphics : Metal: Eliminate z-fighting artifacts on certain devices. (950945, 950947)
  • Graphics: Fixed #pragma target 4.0, 4.6, 5.0 not working on some Android devices. (933203)
  • Graphics: Fixed a crash when calling Graphics.SetRenderTarget with a RenderBuffer. (923977)
  • Graphics: Fixed an incorrect rendering on Metal after switching from a scene which called Shader.SetGlobalTexture with cubemap texture.
  • Graphics: Fixed Assert "Invalid mask passed to GetVertexDeclaration() when using post-effect" being triggered e.g. a custom post-effect. (932940)
  • Graphics: Fixed camera rendering to a temporary RenderTexture from clearing the stencil bits when it should not i.e. for HDR cameras. (932065)
  • Graphics: Fixed a crash in CameraStackRenderingState::ReleaseResources e.g. searching in Hierarchy window. (926718)
  • Graphics: Fixed a crash in player when using non RGBA32 format 3D textures. (927145)
  • Graphics: Fixed D3D11 errors in scenes with a Camera having HDR enabled and depth-only clear. (933768)
  • Graphics: Fixed sprite mode to be not a blank when texture type was change via script. (921598)
  • Graphics: Report an error instead of crashing when Mesh had invalid positions e.g. NaN. (930666)
  • IL2CPP : Allow SetSocketOption to work properly for add membership and remove membership with IPv6. (944939)
  • IL2CPP : Fixed calling System.Collections.Generic.IList1 methods on native objects that implement Windows.Foundation.Collections.IVector1 interface and calling Windows.Foundation.Collections.IVector1 methods on managed objects that implement System.Collections.Generic.IList1 interface.
  • IL2CPP : Implemented a previously unimplemented internal call method to support System.Environment.HashShutDownStarted property. (947420)
  • IL2CPP: Added an extra check for a method with a body but an empty instruction list to prevent a crash in IL2CPP. (940906)
  • IL2CPP: Avoid stack overflow from occurring in Unity liveness logic. (935563)
  • IL2CPP: Do not strip System.Reflection types used by Mono. (930414)
  • IL2CPP: Fixed calling System.Collections.Generic.IDictionary2 methods on native objects that implement Windows.Foundation.Collections.IMap2 interface from managed code and calling Windows.Foundation.Collections.IMap2 methods on managed objects that implement System.Collections.Generic.IDictionary2 interface from native code.
  • IL2CPP: Fixed calling Windows.Foundation.Collections.PropertySet methods that derive from IDictionary`2 interface from managed code. (932981)
  • IL2CPP: Prevent a NotSupportedException from occurring when System.Net.WebRequest was used with the .NET 4.6 profile on iOS. (938702)
  • iOS : Cardboard Enable Transition View fix added. (940917)
  • iOS : Fixed an occasional crash on iOS when using UnityWebRequest. (944462)
  • iOS : Fixed SetIconsForTargetGroup when settings icons for iOS. (937886)
  • iOS: Fixed a crash when Low Memory was signalled very early. (941950)
  • iOS: Fixed Metal TextureUsage crash when Metal API Validation was enabled. (947026, 940902)
  • iOS: Fixed the underlying behaviour of the iOS player in order to make the Unity window to be the key window after an orientation change. This was causing problems when, for example, an attempt was made to open an URL when launching FBlogin through the Unity Facebook SDK when in portrait only autorotate state. (936504, 933588)
  • Multiplayer : Properly traversing inheritance chain. (933033)
  • Multiplayer: Force sync internal timers internal time after io thread resuming.
  • Networking: Fixed an issue where NetworkTransport.SendMulticast caused Unity to crash. (938980)
  • OSX: Fix for memory leak in LocalFileSystemOSX::Enumerate when using AssetDatabase.CopyAsset. (945175)
  • OSX: Fixed Metal VSync on OSX 10.13 to follow Quality Settings. (948069, 926730)
  • Particles : Fixed a crash when script changes quality level at runtime while Shuriken is active. (901096)
  • Particles : Fixed an upgrade issue where prefab instance shape module values could get corrupted. (914038)
  • Particles: Fixed a performance regression when using Size modules. (930933)
  • Particles: Removed unnecessary sync between main and graphics threads improving performance when more than one camera is rendering. (925709)
  • Physics: Fixed an occasional crash due to orphaned 2D physics contacts. (938951)
  • Physics: Stop invalid warning being output to console when destroying a CompositeCollider2D component. (916584)
  • Profiler: Fixed a memory leak when connection switched from player to editor. (928582, 941997, 795258)
  • Resource Management : Optimized the loading of assets performed via Resources.Load. This addresses a performance regression reported in Android platforms. (930802)
  • Scripting Upgrade: Avoid allocating GC memory when calling List.Sort with Comparer`1. (935845)
  • Scripting Upgrade: Fixed an issue of "About" window not displaying correctly when using latest scripting runtime. (944305)
  • Scripting Upgrade: Fixed a crash when constructing delegate on null reference with virtual method target. (941391)
  • Scripting Upgrade: Fixed a crash when inspecting values in managed debugger. (926881)
  • Scripting Upgrade: Fixed a crash when using managed debugger on OSX. (941204)
  • Scripting Upgrade: Fixed a hang when closing Editor after opening bug reporter. (921175)
  • Scripting Upgrade: Fixed a hang when closing Editor. (944152)
  • Scripting Upgrade: Report GC pause time correctly in profiler. (931981)
  • Scripting: Avoid stack overflow from occurring in Unity liveness logic (asset GC). (935563)
  • Scripting: Fixed the debugger error, "Unable to step", when trying to step over dead code blocks (912607)
  • Scripting: Fix to avoid boxing of values when invoking UnityEvents if the types of the event and listener matches exactly. (932039)
  • Scripting: Fixed "Unity extensions are not yet initialized" assertions when opening a project on Windows. (923633, 944636)
  • Scripting: Fixed a crash when invalid IL code was encountered. (942459)
  • Scripting: Fixed a crash when Ldflda opcode is used and null check was missing. (918046)
  • Scripting: Fixed an alignment issue for 64-bit integers and doubles on Android and other non-iOS ARMv7 platforms. (898636)
  • Scripting: Fixed an infinite compilation caused by being unable to delete files in Library/ScriptAssemblies on Windows. (940368)
  • Scripting: Fixed an internal compiler error due to yield in a lambda statement. (634364)
  • Scripting: Fixed an issue with Unity not using the latest changes made to scripts after recompile in Unity on Windows.
  • Scripting: Fixed Marshal.StructureToPtr when a field type is a multidimensional array of blittable types. (940012)
  • Scripting: Fixed use of System.Net.WebRequest in OSX Standalone player. (940280)
  • Scripting: Raise MarshalDirectiveException rather than aborting when invalid array marshaling directive is encountered. (935726)
  • Shaders: Addressed an internal issue that was causing the same shader to be built different as part of an AssetBundle on each successive build run. This only affected certain shaders and only occurred in macOS. (933557, 931791)
  • Timeline : Fix for ExecutionEngineException being thrown at runtime when using Timeline on iOS. (937737)
  • Timeline : Fixed the issue of time ruler being inaccessible after relaunching Unity. (935900)
  • Timeline : Fix for timeline clips not properly being set as dirty. (926861)
  • Timeline : Fixed preview mode not always working for humanoid root transforms and custom clips. (931859)
  • Timeline : Fixed a crash with playable director holding a reference to a non-playable asset. (936079)
  • Timeline : Fixed Activation and Control Tracks when application was Paused. (938170)
  • Timeline : Fixed preview mode on humanoid root and custom tracks. (936047)
  • UI : Fixed memory leak caused by profiler. (946442)
  • UnityWebRequest : Allow comments in header values except when known to be unsupported. (932312)
  • UnityWebRequest : Ensure that headers are available in UnityWebRequest only after all of them are received.
  • UnityWebRequest : Fixed a possible freeze on iOS, when running multiple UnityWebRequests with custom download handler scripts. (936801)
  • UnityWebRequest : Fixed automatic scheme prepending to web address (prepend http://) (931602)
  • UnityWebRequest : Fixed early availability of status code when UnityWebRequest was still running.
  • UnityWebRequest : Fixed possible issues aborting UnityWebRequest when using a custom download handler script.
  • UWP: Fixed web request not being sent. (918041, 914981)
  • Video: (1) is added to VideoPlayer name when added with drag-and-drop. (948876, 920816)
  • Video: Fixed audio getting desynchronized from video after seek operations. (889059, 947404)
  • Video: Transcoding issues with uncompressed RGBA .mov . (948877, 856784)
  • Video: Typo in VideoPlayer editor for Audio Source property tooltip fixed. (948878, 923258)
  • VR : Fixed a flickering image on Oculus when MSAA and HDR are disabled. (949510, 950758)
  • VR : Fixed an assert IsMatrixValid (matrix) when camera's target eye was set to left or right. (899259)
  • VR : Fixed an issue were the right eye was not rendering with Single Pass rendering and camera had Allow HDR enabled. (920106, 930441)
  • VR : Fixed an issue whereby CommandBuffer.Blit did not work when used in CameraEvent.AfterEverything. (918916, 943111)
  • VR : Improved rendering performance of Daydream and Gear VR apps.
  • WebGL : Fixed back-buffer anti-aliasing on WebGL1.0. (923698)
  • WebGL : Fixed file:// protocol warning on browsers that do not allow it. (926842)
  • WebGL : Fixed Fullscreen mode on Safari. (775206)
  • WebGL : Fixed server compression configuration warning. (927459)
  • Windows Standalone: Fixed an issue that would sometimes cause recursive player loop error. (946558)
  • Windows Standalone: Fixed Windows Standalone player failing to load Mono when built to a path with non-ascii characters in it with .NET 4.6 runtime. (944408)
  • Windows Store Apps: Fixed an issue that was preventing Unity from loading if it is part of an optional store package (941345, 942736)
  • Windows Store Apps: Fixed an issue where input was being queued on scene load. (933341, 942734)
  • XR : Fixed volume buttons not adjusting sound for Google Cardboard applications after they had launched. (938063)

Revision: cc85bf6a8a04

LTS Release 2017.2.0f2

Released:

LTS Release 2017.2.0f2

Released:

2017.2.0f2 Release Notes (Full)

System Requirements Changes

  • Removed iOS 6.0 support. The minimum supported version is now 7.0.

Features

  • 2D: Added Tilemap. description

  • Asset Import: Added support for animated custom properties from FBX. description

  • Asset Import: Added support for Stingray material import from FBX. description

  • GI: Added support for per-object cast and receive shadows in the Progressive Lightmapper. For Cast Shadows, only On and Off options are supported.

  • GI: Per-object lightmap seam stitching for Progressive Lightmapper. description

  • GI: Profiler for Realtime Global Illumination.

  • GI: Support for double-sided materials in Progressive Lightmapper. Added a new material setting that causes lighting to interact with backfaces. When enabled, both sides of the geometry get accounted for when calculating Global Illumination. Backfaces do not count as invalid when seen from other objects. Backface rendering is not controlled by this setting nor will backfaces be represented in the lightmaps. Backfaces bounce light using the same emission and albedo as frontfaces.

  • Graphics: Implemented Display-P3 color gamut support for iOS and macOS. A "color gamut" player setting has been added, which will eventually cover other platforms with wide color gamut support.

  • Multiplayer: New QoS options for delivery of large messages: reliable or unreliable, and un-ordered (fragmented) or ordered (fragmented sequenced).

  • OSX: Added support for Retina in macOS standalone builds.

  • Package Manager: In 2017.2, we are introducing Unity Package Manager. This will be the first stepping stone for the system. We are taking an incremental approach to integrate the system into the Unity ecosystem. It will grow with more features over time. For this first release, we avoid exposing user facing features. Instead, we are exposing an API for enabling internal components to be updated more frequently than the editor (the first pillar of the system).

  • Particles: Added Linear Drag support for Particles. The new options can be found in the Limit Velocity over Lifetime Module. description

  • Particles: Added new option to allow Particle Systems to be destroyed or disabled when they finish playing. description

  • Services: Performance Reporting Service: Added support for native crashes on Android.

  • Timeline: Added support for Avatar Masks on Animation Tracks.

  • Video: Added pixel aspect ratio support for non-square pixel.

  • WebGL: Added linear rendering to WebGL 2.0

  • XR: Added support for certain aspects of the Vive HMD to be simulated in-Editor without the need of a physical HMD. Enable by using the "Mock HMD - Vive" virtual reality SDK in the player settings. The mock HMD uses the same asymmetric projection matrix, hidden occlusion mesh, field of view, aspect ratio, and eye texture size as the Vive. Mock HMD can be used with both multi and single pass rendering paths and will render as a split screen stereo display in Editor.

  • XR: Added support for Google ARCore augmented reality technology when targeting Android 7.0 and above on supported devices. See our blog post for more information and how to get started

  • XR: Added support for Video Async Reprojection. Video Async Reprojection allows an app to feed video frames directly into the Google VR Async Reprojection system. These frames are composited directly into the scene without going through the main Unity render loop. This provides a fast path to direct rendering of video regardless of the current frame rate Unity is rendering at. When using Async Video Reprojection, texture filtering is skipped providing for a much higher quality output. There is an option to allow for the use of protected memory for users that need to render DRM protected content.

  • XR: Added support for Windows Mixed Reality as a Virtual Reality SDK target. This extends Unity's HoloLens support so that it more generally supports Windows Mixed Reality, both for desktop and HoloLens.

  • XR: EditorVR is now supported without needing a custom build (still requires separate Unity Package download).

  • XR: Introduced native integration for the Vuforia Augmented Reality Platform: additional feature support will follow in later beta updates. Vuforia support can be installed through the Unity Download Assistant and enabled under PlayerSettings/XR. For more information about Vuforia see https://developer.vuforia.com.

  • XR: OpenVR support for Mac 64bit application target that use Metal graphics.

  • XR: The single-pass instanced rendering path is now supported on desktops when the DirectX 11 rendering API is in use. Single-pass instanced rendering is only supported with forward rendering.

  • XR: Windows Mixed Reality headsets are now supported for playing in-editor.

Backwards Compatibility Breaking Changes

  • Scripting: UnityEngine.dll is now split into separate dlls for each UnityEngine module.

Changes

  • Android: "Export as ADT project" is now obsolete.

  • Android: Changed default frame rate (Application.targetFrameRate 0) to 30 when v-sync is off, similar to iOS.

  • Audio: AudioMixer ducking improvements:

    • Optimized CPU performance.
    • Changed behaviour so that ducking amount corresponds to the maximum level on each channel.
  • Editor: 2017 Editor requires a new license version. Subscription keys will be upgraded, but 5.x license keys will not be accepted by 2017 Editor. If you have only a 5.x license, please visit https://store.unity.com/ or contact your sales representative to obtain a 2017-compatible license.

  • Editor: APIUpdater no longer runs automatically when Editor runs in batch mode. See -accept-apiupdate command argument for more information.

  • Editor: Changed the behaviour of the "members" button in the Collab toolbar: it now opens a page in the web dashboard to add/remove project members.

  • Editor: Editor GUI tooltips are no longer suspended if the scene is paused in Play mode.

  • Editor: Reduced the verbosity in editor log for script recompilation.

  • Graphics: When using custom shadow resolution on a light, this resolution won't be clamped as usual, allowing to reach up to 8k shadowmap if needed.

  • Licenses: Updated FBX license to require acceptance of FBX SDK license (https://damassets.autodesk.net/content/dam/autodesk/www/Company/docs/pdf/legal-notices-&-trademarks/Autodesk_FBX_SDK_2015_License_and_Services_Agreement.pdf)

  • Scripting: Editor: Load precompiled managed assemblies (.dlls) on startup even if there are compile errors in other scripts.

  • Scripting: Serialization: Disabled support for opposite-endinanness asset bundles.

  • Scripting: InitializeOnLoad now invoked after deserialization. See Upgrade guide for details. (879044)

  • Scripting: MonoBehaviour.OnValidate is now called when adding a MonoBehaviour to a game object in the editor.

  • UI: The legacy (Unity 1.0) UI system components - GUILayer, GUIText, and GUITexture - have been marked as deprecated. GUILayer components are no longer added to the camera by default.

  • Universal Windows Platform: The default scripting backend on Universal Windows Platform has changed to IL2CPP.

  • XR: Camera.stereoMirrorMode is now obsolete.

Improvements

  • AI: Debug data from the process of building a NavMesh with the NavMeshBuilder API can be selectively collected and visualized in the Editor using NavMeshEditorHelpers.DrawBuildDebug().

  • AI: Improved performance when synchronizing NavMesh tiles after carving.

  • Android: Change to allow extractNativeLibs=false flag to be used if needed.

  • Android: Significantly improved the performance of large prefabs loading (Resources.Load* or AssetBundle.LoadAsset* APIs) on Android. (904652)

  • Android: The backend ETC texture compressor is now configurable in the Editor Settings with different quality/compression speed tradeoffs.

  • Animation: Added copy pasting of transition parameters in Animator State Machine.

  • Animation: Added option to Animator States to pull normalized time from a specified Parameter rather than using Time.deltaTime.

  • Asset Import: Exposed a public API for extracting embedded textures from .FBX and SketchUp files. The materials which are embedded in the asset will be updated automatically to reference the extracted textures. description

  • Asset Import: Minor improvements to the Avatar Mask and Transform Mask UI. description

  • Asset Import: Parallelized the animation clip keyframe reduction during import.

  • Asset Import: Updated SketchUp SDK to 17.0 (782948)

  • Audio: Added ability to get and set the audio spatializer from script via AudioSettings.GetSpatializerPluginName and AudioSettings.SetSpatializerPluginName.

  • DX12: Native Rendering Plugin improvements:

    • Exposed/implemented native RenderBuffer resource retreival.
    • Fixed multithreading issues.
  • Editor: Added toggle for color-blind safe mode to the context menu in the upper right corner of the Profiler window.

  • Editor: Assorted usability refinements to Profiler charts: All series types can now be toggled, stacked chart series now have explicit reorderable affordances, stacked plots now appear as solid colors.

  • Editor: Exposed LZ4 compression setting to the BuildPlayer window for iOS/Android/Standalone.

  • Editor: Unity Troubleshooter allows users to observe a list of previously reported issues and search for similar issues in Unity Knowledge base

  • GI: Added A-Trous, a new edge-aware filter for GI when using the Progressive Lightmapper.

  • GI: Added support for LOD baking in Progressive Lightmapper.

  • GI: Asynchronous loading of precomputed realtime GI data, by moving the GI part of file I/O into the loading thread. Exposed DynamicGI.IsConverged to public API so user can know when lighting is converged. Timesliced albedo-emission rendering during load. (710503, 790887, 815033)

  • GI: Fill the empty areas in the lightmaps with content from the lower mip levels (push-pull dilation). This will fix the cases where dark pixels around geometry edges are visible when rendering with lightmaps. The is due to dark background texels bleeding in when lower MIPs are accessed.

  • GI: HDR emission: enabled 16 bit floating point format for emission for both realtime and baked GI. Baked GI output is still limited by RGBM range. HDR color picker limit increased from 99 to 64k.

  • GI: Terrain trees can now cast shadows into the baked lightmap for terrains. Terrain tree probes are now in the top of the tree canopy to make sure probes don't end up inside the tree trunk. description (685764)

  • GI: Upgraded the Enlighten SDK to 3.09. New since 3.08p1:

    Improvements:

    • The face(s) of a triangle which cast direct light shadows can now be set per material. Bug Fixes:
    • Fixed a bug where setting the update manager limiter to values greater than 0 produced incorrect reading of the input lighting buffers.
    • Fixed a crash in IPrecompute::PackGeometry() when providing an input mesh with very large UVs.
    • Fixed a crash in IPrecompPackedGeometry::Load() when running out of memory.
    • Fixed case of uninitialised data being serialised in WriteDataBlockForInPlace() and related functions.
  • Graphics: Added "Dynamic Occludee" settings in renderer to control whether dynamic objects should skip occlusion culling. (883644)

  • Graphics: Added "Metal Restricted backbuffer Use" that allows improved performance in non-default device orientation.

  • Graphics: Added GPU Skinning via compute on Vulkan, D3D12, PS4 and Xbox One.

  • Graphics: Frame Debugger Improvements:

    • Size, format and depth in the texture shader properties tooltip.
    • Stencil states.
    • Subshader index, pass name and light mode tag.
  • Graphics: Reworked Rendering.CommandBuffer internals to reduce main thread cost.

  • Graphics: Texture importer: Added support of BC5 format for normal map type in override option (for platforms that support it).

  • iOS: Added an API to retrieve existing build phases for Xcode targets.

  • iOS: Generate Notification and Spotlight icons for iOS targets. Additionally [also mentioned under API Changes] modified the functions PlayerSettings.GetIconsForTargetGroup, PlayerSettings.GetIconSizesForTargetGroup and PlayerSettings.SetIconsForTargetGroup to take an optional IconKind parameter to get/set specific kinds of icons. (894113)

  • iOS: Implemented Xcode API for embedding frameworks.

  • iOS: Metal: Improved render thread scheduling.

  • iOS: Multithreaded rendering option now available for iOS/tvOS.

  • Kernel: Completion events added to all return AsyncOperations.

  • Launcher: Integrated Social Sign-On into the Launcher window.

  • Particles: Added "Inherit Lifetime" option in the Sub-Emitter module.

  • Particles: Added a Restart button to the Scene View overlay. description

  • Particles: Burst Emission now supports curve modes for the count. description

  • Particles: Custom Module labels are now editable, allowing users to give them contextual names. description

  • Physics: 3D Physics changes caused by modifying the Transform can now be deferred. They will automatically sync prior to the physics simulation running. You can use Physics3D.autoSyncTransforms and Physic3D.SyncTransforms() to control this behaviour.

  • Physics: Added edit modes for joint angular limits to inspectors for CharacterJoint, ConfigurableJoint, HingeJoint, and HingeJoint2D. description

  • Physics: Collision2D.contacts array is now created lazily so as to not allocate memory until used.

  • Plugins: Added a rendering command buffer callback to update the contents of a texture from inside the plugin (D3D11/Metal/GLES).

  • Plugins: Native Rendering Plugins are now supported on Nintendo Switch.

  • Shaders: Improved compute shader import times and eliminated some shader compiler timeouts.

  • Shaders: Improved import time of surface shaders with many similar shader_feature/multi_compile variants.

  • Substance: Support V6 engine; Ability to use all the nodes of Substance Designer

  • UI: Introduced a shader keyword to all of the UI shaders, which controls the rect clipping. Rect clipping is only done when the mask component is enabled. This leads to much better UI performance when masks are not used. (784238)

  • Universal Windows Platform: IL2CPP scripting backend now defaults to using .NET 4.6 API compatiblity level

  • VR: Updated Oculus to version 1.14

  • Web: UnityWebRequesst now has DownloadHandlerFile available for downloading files and saving them to disk with low memory footprint.

  • Windows: The crash dialog in the Windows Player has been improved with more detail, and prompts the user to open an Explorer window to the crash report.

  • Windows: The player executable has been split into two parts: a signed UnityPlayer.dll that has all the engine code, and a wrapper executable that merely calls into this DLL at startup. The source code for the executable can be found under Editor\Data\WindowsStandaloneSupport\Source\WindowsPlayer. It can be rebuilt with VS2015 as long as you have "Common Tools for Visual C++ 2015" and "Windows XP Support for C++" installed.

  • XR: Improved rendering performance of Daydream and Gear VR apps.

  • XR: Improvements to pause handling in XR applications. Apps which need to pause when the HMD is removed will no longer resume if window focus changes and viceversa.

  • XR: Updated interfaces and new data for GestureRecognizer and InteractionManager (UnityEngine.VR.WSA.Input). Some of the API surface for this has breaking changes on the way and will land soon.

  • XR: UnityEngine.Experimental.VR.Boundary.TryGetGeometry now works on Windows Mixed Reality headsets.

  • XR: XRDevice.SetTrackingSpaceType will now allow users to reason about where the floor is on VR HMDs for WindowsMR.

API Changes

  • Accessibility: Added UnityEngine.Accessibility.VisionUtility.GetColorBlindSafePalette().

  • AI: Added NavMeshBuildDebugFlags, NavMeshBuildDebugSettings, NavMeshBuildSettings.debug, NavMeshEditorHelpers.DrawBuildDebug.

  • Asset Import: Added AssetPostprocessor.OnPostprocessGameObjectWithAnimatedUserProperties(GameObject go, EditorCurveBinding[] bindings) and void AssetPostprocessor.OnPostprocessAnimation(GameObject root,AnimationClip clip).

  • Asset Pipeline: (Also mentoned under Fixes) AddedAssetBundle.UnloadAllAssetBundles() and AssetBundle.GetAllLoadedAssetBundles(). (904927)

  • Editor: Added AssemblyBuilder API for building managed assemblies from scripts outside of the Assets folder. See AssemblyBuilder.Build for an example of how to use this API.

  • Editor: Added JointAngularLimitHandle to UnityEditor.IMGUI.Controls.

  • Editor: Removed unnecessary ArcHandle constructor taking a control ID hint.

  • Editor: ArcHandle.radius can now be negative.

  • Editor: EditorApplication.playmodeStateChanged obsoleted in favor of new EditorApplication.playModeStateChanged and EditorApplication.pauseStateChanged.

  • Editor: PrimitiveBoundsHandle and subclass constructors no longer require a control ID hint.

  • Graphics: Added RenderPass functionality to scriptable render pipelines. This allows efficient use of tile-based GPUs for deferred rendering for example. See the RenderPass API documentation for more information and example usage.

  • Graphics: Added CommandBuffer.IssuePluginEventAndData, CommandBuffer.IssuePluginCustomBlit and CommandBuffer.IssuePluginCustomTextureUpdate.

  • IMGUI: Added GUI/GUILayout.Toolbar method with new GUI.ToolbarButtonSize enum parameter to support Fixed and FitToContents modes for button contents.

  • IMGUI: GUI.SetNextControlName() now works for controls with any FocusType. Its previous (undocumented) behavior was to only work with controls that had FocusType.Keyboard. Previously, if you called it right before a passive control, the name would instead be applied to the next keyboard control.

  • iOS: [Also mentioned under Changes] Modified the functions PlayerSettings.GetIconsForTargetGroup, PlayerSettings.GetIconSizesForTargetGroup and PlayerSettings.SetIconsForTargetGroup to take an optional IconKind parameter to get/set specific kinds of icons. (894113)

  • iOS: iOSStatusBarStyle.BlackOpaque and iOSStatusBarStyle.BlackTranslucent are obsolete. Use iOSStatusBarStyle.LightContent instead . (894136, 917073)

  • Kernel: Added new AssetBundle APIs LoadFromStream and LoadFromStreamAsync. The APIs let the user load AssetBundle data from a managed Stream instead of Unity native methods.

  • Kernel: Added AsyncOperation.completed event for delegate registration.

  • Mobile (Android, iOS, Metro, Tizen): (Also mentioned under Fixes) Added TouchScreenKeyboard.keyboardStatus read only value. Status can be Visible, Done, Canceled or LostFocus. (758761)

  • Multiplayer: Added a new overload to NetworkManager.StartClient function which allows you to specify which port the local socket should be bound to. (903860)

  • Physics: Added Collision2D.GetContacts().

  • Physics: Added Physics2D.autoSyncTransforms and Physics2D.SyncTransforms().

  • Playables: Added API functions Playable.ConnectInput() and Playable.AddInput().

  • Playables: Added method PlayableGraph.IsPlaying().

  • Playables: Moved AudioPlayableOutput to namespace UnityEngine.Audio.

  • Playables: Remove all *Playable.SetHandle().

  • Playables: Renamed PlayableGraph.Connect() parameters for clarity.

  • Plugins: Added new kUnityRenderingExtEventUpdateTextureBegin/kUnityRenderingExtEventUpdateTextureEnd events to UnityRenderingExtEventType.

  • Scripting: Added SerializedProperty.fixedBufferSize, SerializedProperty.isFixedBuffer and SerializedProperty.GetFixedBufferElementAtIndex.

  • Scripting: UnityEngine.dll is now split into separate dlls for each UnityEngine module.

  • Services: Purchasing: Added support for user-defined payouts attached to ProductDefinitions.

  • Terrain: Added Terrain.freeUnusedRenderingResources API, that can be used to turn off a "garbage collection" mechnism within the terrain system to prevent a potential performance hiccup. See the API documentation for details. (743462)

  • Terrain: Added Terrain.freeUnusedRenderingResources. (743462)

  • VR: Added VRDevice.userPresence. This API allows applications to test whether a user is present and interacting with a VR device - e.g. wearing a HMD.

  • VR: Angular velocity and angular acceleration are now exposed via the UnityVR.InputTracking.GetNodeStates() API on VR platforms that supply these values.

  • Web: Added UnityWebRequestAsyncOperation UnityWebRequest.SendWebRequest() API.

  • Web: The following API has been deprecated and is marked as obsolete: Application.isWebplayer, GameViewSizeGroupType.WebPlayer, BuildTargetGroup.WebPlayer, EditorBuildSettings.webPlayerStreamed, EditorBuildSettings.webPlayerOfflineDeployment, EditorUtility.BuildResourceFile(Object[] selection, string pathName).

  • Web: The following obsolete API has been removed: BuildPipeline.WebPlayerAssetBundlesAreNoLongerSupported(), BuildPipeline.BuildAssetBundle(Object mainAsset, Object[] assets, string pathName, BuildAssetBundleOptions assetBundleOptions), BuildPipeline.BuildAssetBundle(Object mainAsset, Object[] assets, string pathName), BuildPipeline.BuildAssetBundle(Object mainAsset, Object[] assets, string pathName, out uint crc, BuildAssetBundleOptions assetBundleOptions), BuildPipeline.BuildAssetBundle(Object mainAsset, Object[] assets, string pathName, out uint crc), BuildPipeline.BuildAssetBundleExplicitAssetNames(Object[] assets, string[] assetNames, string pathName, BuildAssetBundleOptions assetBundleOptions), BuildPipeline.BuildAssetBundleExplicitAssetNames(Object[] assets, string[] assetNames, string pathName), BuildPipeline.BuildAssetBundleExplicitAssetNames(Object[] assets, string[] assetNames, string pathName, out uint crc, BuildAssetBundleOptions assetBundleOptions), BuildPipeline.BuildAssetBundleExplicitAssetNames(Object[] assets, string[] assetNames, string pathName, out uint crc), BuildPipeline.BuildAssetBundles(string outputPath, BuildAssetBundleOptions assetBundleOptions = BuildAssetBundleOptions.None), BuildPipeline.BuildAssetBundles(string outputPath, AssetBundleBuild[] builds, BuildAssetBundleOptions assetBundleOptions = BuildAssetBundleOptions.None), BuildPipeline.WebPlayerOfflineDeployment.

  • Web: UnityWebRequest.Send() obsoleted in favor of new SendWebRequest call.

  • Windows: Added a Windows-specific API that exposes the crash dump path to C#: UnityEngine.Windows.CrashReporting.crashReportFolder.

  • XR: Added PlayerSettings values for new Async Video reprojection Settings. (932009)

  • XR: Added XRDevice.fovZoomFactor. (845344)

  • XR: Made Google Async Video Reprojection usable without the need to subclass UnityPlayerActivity.

  • XR: Types in the UnityEngine.VR.* namespaces have been moved to UnityEngine.XR.* namespaces. Types such as VRSettings, VRDevice, VRNode, etc. have also been renamed to XRSettings, XRDevice, XRNode, etc. The API updater is configured to automatically update existing scripts and assemblies.

  • XR: VRTextureUsage has been added as angument to RenderTexture.GetTemporary with a default value. (918634)

Fixes

  • 2D: Console warning "Texture being dragged has no Sprites" is no longer printed infinitely when sprite is being dragged on Scene window. (916845)

  • 2D: Fixed case of "Unapplied Module Changes" Window appearing when navigating to Edit Outline / Edit Physics Shape but making no changes. (916747)

  • 2D: Fixed case of Aniso Level on Texture being stuck at 16 when imported as Sprite Texture and without mipmaps enabled. (909748)

  • 2D: Fixed case of sprite packer causing an Out Of Memory error. (897066)

  • 2D: Fixed case of text for "Edit Physics Shape" being cutoff in Sprite Editor window regardless of window size. (916742)

  • Android: Fix to return null for AndroidJavaObject.Get<>() and AndroidJavaObject.GetStatic<>() instead of throwing exceptions.

  • Android: Fixed issue where Time.realtimeSinceStartup would not increase while the device is in deep sleep. (867885)

  • Animation: Added an error message to SampleAnimation when attempting to sample an animation clip without an animator. (888031)

  • Animation: Disabled the Add State Machine Behaviour button while new scripts need to be recompiled on a State. (908223)

  • Animation: Fixed a crash when an animator reset was triggered during a StateMachineBehaviour awake. (907324)

  • Animation: Fixed double callback at the end of an interrupted transition. (900875)

  • Asset Import: Fix to show the progress bar immediately for large meshes. (462618)

  • Asset Import: Fixed crash when calling Object.DestroyImmediate(go) in OnPostprocessGameObjectWithUserProperties. (899383)

  • Asset Import: Fixed crash when failing to import all animation clips in an FBX file. (911612)

  • Asset Import: Fixed crash when importing FBX files that have a negative framerate value. (905817)

  • Asset Import: Fixed editor crash and visibility curves correctness on FBX with non baked animations. (940745)

  • Asset Import: Fixed issue where an imported mesh would be 'split' into only one part. (906949)

  • Asset Import: Fixed issue where visibility animation curves were created on nodes that don't have a mesh. (907964)

  • Asset Import: Fixed issue with FBX import where mesh instances with different materials were assigned the same material. (898916)

  • Asset Pipeline: (Also mentoned under API changes) Added AssetBundle.UnloadAllAssetBundles() and AssetBundle.GetAllLoadedAssetBundles(). (904927)

  • Audio: Audio Clip Preview: Fixed bug where changing the audio clip in the audio source selection dialog did not stop the previous playing clip. (874592)

  • Audio: Audio Mixer: Fixed case of mute not being applied to the child mixer of channel, or on the parent channel itself. (890139)

  • Audio: Audio Source occasionally became louder when played repeatedly. (921686)

  • Audio: AudioClip in Audio Source component only played the first selected audio clip. (901001)

  • Audio: AudioSource had short volume glitches at the beginning of playback when a Rigidbody was attached. (915586)

  • Audio: AudioSource volume was incorrect when re-enabling disabled AudioSource. (922299)

  • Audio: AudioSource were affected by AudioReverbZone even with the Bypass Reverb Zones setting enabled. (931206)

  • Audio: Changing Reverb Preset of an AudioReverbZone via script had no effect on audio. (802828)

  • Audio: Deleting a mixer asset from Audio Mixer window no longer causes deletion of the selected folder. (895642)

  • Audio: Fixed bug where all external audio clips would be unloaded upon calling AudioClip.UnloadAudioData on an external audio clip. (849564)

  • Audio: Fixed bug whereby Audio Mixer assets had no links to docs in their inspectors. (630520)

  • Audio: Fixed error when trying to undo 'Set as start Snapshot' action. (926480)

  • Audio: Fixed glitches in audio mixer group view when adding/duplicating a large number of groups. (908919)

  • Audio: Fixed incorrect display of source-listener distance when both source and listener are attached to the same game object and the game object is accelerating. (849469)

  • Audio: Fixed issue where Editor would freeze when attempting to open some .mixer assets in the Audio Mixer Window. (852029)

  • Audio: Mixer: Duplicated groups can now be undone. (907123)

  • Audio: On Windows, it was not possible to receive information about microphone devices when its name contained special characters. (895350)

  • Audio: The audio clip no longer starts to play when auto-play is enabled in the preview window and the Game/Scene view is detached. (922827)

  • Audio: The AudioListener.pause property was not reset when exiting Play mode. (917676)

  • Audio: The first AudioMixerSnapshot.TransitionTo call incorrectly started a transition from selected snapshot instead of the defined start snapshot. (905679)

  • Audio: Toggling bypass on any audio effect can now be undone. (776858)

  • Build Pipeline: Fix to prevent build files from getting generated when a build fails. (896991)

  • Build Pipeline: Fixed ability to build asset bundles for a platform other than the one setup in Build Settings. (904359)

  • Build Pipeline: Fixed bug that prevented setting of asset bundle on newly imported textures until some part of the import settings were altered. (905640)

  • Build Pipeline: Fixed bug where new builds were offering the previous project's build path by default. (909650)

  • Build Pipeline: Fixed issue where building for player for unsupported build target was crashing the editor. (900338)

  • Build Pipeline: Fixed issue where cancelling a build would result in a "Build failed" error message. A build result of Succeeded, Failed, or Canceled will now be logged as info. (907429)

  • Build Pipeline: Fixed issue where loading a GameObject from a dll in an asset bundle would cause it to lose its Monobehavior references. (741536)

  • Build Pipeline: Fixed issue where relative build path wasn't getting resolved correctly. (911830)

  • Collab: Fixed an issue where users could experience an editor freeze with collab enabled and 100% packet loss on network. (920583)

  • Editor: Added serialization of active column for Profiler GUI and CPU Hierarchy view. (892743)

  • Editor: Avatar Configuration scene now blocks creation of new scene and gives an appropriate message. (892164)

  • Editor: Error is now logged when trying to set a non-loaded scene as the active scene. (840650)

  • Editor: Fix application menu items and their shortcuts in launcher window on OSX. (921224)

  • Editor: Fix red line at the edge of a window when stretched on OSX. (931831)

  • Editor: Fix to remove suprious errors in console when logging in to Unity account with Collab enabled. (885388)

  • Editor: Fixed an issue where double-F (track selection) in the scene view could use a different focal point than single-F (frame selection). (584765)

  • Editor: Fixed an issue where the Game View ignored vsync settings when using OpenGL on macOS. (901973)

  • Editor: Fixed an issue where undoing creation of a LightProbeGroup was throwing a MissingReferenceException. (657159)

  • Editor: Fixed bug causing Scene view to only focus on the first target in a selection when entering a tool (e.g. Edit Collider) mode.

  • Editor: Fixed bug causing EditorApplication.playmodeStateChanged to be invoked continuously when scrubbing Profiler. (898172)

  • Editor: Fixed bug in progress bar code, which caused Build and Run to crash during sprite packing. (907145)

  • Editor: Fixed build window erratic scene order drag on OSX. (874335)

  • Editor: Fixed case of 'Assertion failed' when using Playmaker's Ecosystem browser. (910371)

  • Editor: Fixed case of property fields skipping child properties when HideInInspector attribute is used. (918683)

  • Editor: Fixed case of TextField changing height when entering new text, and toggles not displaying fully when no text is entered. (912001)

  • Editor: Fixed crash in GUIKeyboardState::~GUIKeyboardState() when double-clicking and draging Scene View window. (909662)

  • Editor: Fixed crash in GUIView::OnInputEvent() when closing a floating window and using the -debugallocator flag. (905960)

  • Editor: Fixed crash seen on Windows, when opting to keep a temporary project (e.g. one opened from the 'Learn' tab on the launcher) on Editor. This was caused by the directory being in use by another application. (917556)

  • Editor: Fixed crash when closing a window if it hasn't finished loading. (916113)

  • Editor: Fixed crash when selecting reflection probe background color via Color Picker. (934613)

  • Editor: Fixed crash when undocking/docking the Profiler Window. (920862)

  • Editor: Fixed error messages when opening temporary project from launcher after a project has already been loaded. (952457)

  • Editor: Fixed exception when backspacing iOS target SDK version in PlayerSettings inspector.

  • Editor: Fixed issue that user is not recognized as signed in when opening a cloud project

  • Editor: Fixed issue where creation of prefab from a GameObject would mark all scenes dirty. Now, it only does so for the scene containing the Game Object. (912271)

  • Editor: Fixed issue where gizmos where not being recalculated after scene load. (909099)

  • Editor: Fixed issue where removing all profilers from profiler window still displays hierarchy of CPU profiler. (911489)

  • Editor: Fixed issue where the 'Apply' button for prefabs would try to mark the scene as dirty in playmode. (839124)

  • Editor: Fixed issue where Unity would regard a baked lighting map named 'library' as a Unity Library folder. (799477)

  • Editor: Fixed light baking in scenes with names containing Unicode characters. (876062)

  • Editor: Fixed potential crash when calling Close() from OnGUI(). (903828)

  • Editor: Fixed transform precision issue when moving multiple objects. (907854)

  • Editor: Modified the dialog text when opening a project last saved in a different version of Unity, to avoid confusion. (886169)

  • Editor: Series labels in Profiler chart now stay inside the chart area when selecting the frame on the far left or far right of the chart. (913382)

  • Editor: Setting a custom icon on a GameObject now dirties the current open scene. (898818)

  • GI: Terrain trees now use the correct, non-interpolated light probes that are placed per tree. (911491)

  • GI: The light intensity of the sun disk procedural skybox will now match specular highlights. (895359)

  • Graphics: Added optional downscale algorithm to avoid PVRTC compression artifacts on some noise textures. (880191)

  • Graphics: Fix for miscalculating the size of the view required for a buffer that will be used as the source for an Indirect Draw/Dispatch call. (919044)

  • Graphics: Fix to allow 2D colliders to affect Lens Flares. (911429)

  • Graphics: Fixed a bug where wrong values might be reported to Frame Debugger for built-in and global shader properties. (874354)

  • Graphics: Fixed case of grid rendering incorrectly in the Animation Preview window. (903454)

  • Graphics: Fixed issue where debug GFX overlay was drawn on top of objects in Game View. (851379)

  • Graphics: Fixed issue where Halo light would go through "Opaque" and "Transparent" shaded objects. (825212)

  • Graphics: Fixed memory leak in Texture2DArray and CubeMapArrayTexture. (919162, 930677)

  • Graphics: In deferred for culling mask, we now only reserve the stencil bit used in the view currently. (879852, 910502)

  • Graphics: Metal: Fix to eliminate Z-fighting artifacts on certain devices. (950946)

  • Graphics: Metal: Fixed occassional GPU hang/crash when dispatching compute shader. (950892)

  • Graphics: Updated documentation to clarify that calling Texture*.Apply() after CopyTexture() is undefined. (856264)

  • Graphics: We now ignore a SubShader which only has a GrabPass in it after the other passes have been removed.

  • IMGUI: Fixed an issue where the Event.numeric setter would actually set Event.shift instead. (858889)

  • Installer: Windows Download Assistant now waits for Visual Studio 2017 to finish installing and reboots Windows if necessary.

  • iOS: Fixed case of queueDebuggingEnabled not being included in the Unity-iPhone XCode Scheme file. (907857)

  • iOS: Fixed PBXProjectExtensions.AddFileToEmbedFrameworks when .pbxproj contains unknown sections. (942488)

  • iOS: Removed iOS 6.0 support. The minimum supported version is therefore now 7.0.

  • Kernel: Fixed an issue on FileUtil.CopyFileOrDirectory, where it would delete the Assets folder if the destination argument is null. (910294)

  • Kernel: Fixed an issue where selecting multiple large images in the Editor could cause performance problems. (860776)

  • Kernel: Fixed Editor shutdown deadlock when specific native threads call managed code via script invocation.

  • Kernel: Fixed the YAML writer/reader so that .meta files generated for the .DLL plugins comply with the YAML specifications. (909364)

  • Mobile (Android, iOS, Metro, Tizen): (Also mentioned under API changes) Added TouchScreenKeyboard.keyboardStatus read only value. Status can be Visible, Done, Canceled or LostFocus. (758761)

  • Mono: Prevent the package import view from showing duplicate entries with the new Mono runtime. (908704)

  • Multiplayer: Fix for case where config validation in NetworkTransform resulted in a null exception.

  • OSX: Fix for Apple filesystem (APFS) compatibility.

  • OSX: Fixed issue where game would be stretched in fullscreen on non-native aspect ratio in OSX standalone player. (793490)

  • Package Manager: Fixed case of Packages folder already used by nuGet resulting in compilation errors. (941516)

  • Package Manager: Give the option for the user to continue loading the project even though package resolution failed (no internet or wrong manifest). No packages will be loaded and a sticky error message will be displayed. (945057)

  • Particles: Added more reasons to the Frame Deubgger for why a dynamic batch may be broken. (911933)

  • Physics: Ensure no work is done if the 2D physics world is empty. (940666)

  • Player: Fix for valid float string parsed to infinity on iOS in json. (881155)

  • Plugins: Fixed an issue where plugins were not included during build even though they were shown as enabled for that platform. (914860)

  • Scripting: Fixed an exception that was thrown when a user overrides the Unity synchronization context with their own. (924070)

  • Scripting: Fixed APIUpdater crash when checking C# scripts with deep object initialization syntax. (902973)

  • Scripting: Fixed corruption in assemblies containing references to UnityEditor.Animations.AvatarMask. (904030)

  • Scripting: Fixed crash when calling DestroyImmedate on a MonoBehaviour, or its game object in MonoBehaviour.Reset, or MonoBehaviour.OnValidate during AddComponent. (720677, 900003)

  • Scripting: Fixed crash when calling DestroyImmediate on own GameObject during Awake when instantianting a prefab. (720677, 900003)

  • Scripting: Fixed memory leak in UnityWebRequest when Dispose is not called. (862095)

  • Scripting: Fixed nested types updating on local variable / parameter declarations.

  • Scripting Upgrade: Fixed an issue where assemblies built with .NET 4.6 fail to load. (922577)

  • Scripting Upgrade: Fixed crash when System.Reflection.Emit is used to generate assemblies for the AppDomain.AssemblyResolve event. (920772)

  • Scripting Upgrade: Fixed hang that could occur when displaying bug reporter. (915672)

  • Services: Collab: Fixed issue whereby renaming a large folder could result in work loss. (914442)

  • Services: Fixed bug that would make it not possible to create a new project from the Launcher when the XBOX or PS4 support modules were installed. (905684)

  • Services: Fixed crash in Unity while using Collab and doing an update, cancelling it immediately, and updating again. (912481)

  • Services: Fixed issue whereby user was not prompted to save local scene edits before updating, resulting in loss of work. (907960)

  • Services: Fixed multiple UI issues and bugs in the hub and support for online tutorials. (869503, 884626, 889584, 891480, 893650, 900532)

  • SpeedTree: Fixed an issue where the shadow of a SpeedTree mesh wasn't animated by wind if the tree itself isn't visible in any camera. (909459)

  • Terrain: Fixed an issue where undoing terrain creation would throw MissingReferenceException. (903033)

  • Timeline: Fix to not show hidden PlayableDirectors in Timeline Editor dropdown. (900307)

  • Timeline: Fixed drag and drop of Audio Source on PlayableDirector. (923278)

  • Timeline: Fixed drag and drop of items with varying height. (875990)

  • Timeline: Fixed issue where drag and drop tracks would reverse their order. (876343)

  • Timeline: Fixed Timeline Editor zoom behaviour inconsistency. (877484)

  • UI: Fixed case of object scale interfering with input.

  • UI: Fixed case of single-line input field becoming unresponsive. (948059)

  • UI: Fixed crash caused by null batch material. (935112)

  • UI: Fixed crash when undoing or applying changes on a prefab instance containing UI objects. (930503)

  • Universal Windows Platform: When simulating the HoloLens in editor, spatial mapped data will be generated in a consistent orientation. (898305)

  • Video: Added support for transcoding to tiny VP8 resolutions. Previously, attempting to do so would result in errors. (900524)

  • Video: Android: Fixed issue where 4.1/4.2, bigger resolution videos would not play. (894170)

  • Video: Android: Fixed issue whereby video would stop playback if trying to play faster than 1x. (904620)

  • Video: Fix for loss of audio when changing video playback speed on iOS/OSX with AudioSources. (938801)

  • Video: Fixed audio playback when AudioSource is disabled in VideoPlayer. (907755)

  • Video: Fixed crash for dangling render texture pointer in VideoPlayer . (930707)

  • Video: Fixed failing VP8 transcode on Windows due to unsupported audio codec. (904924)

  • Video: Fixed intermittent failure to load video tracks on iOS. (898171)

  • Video: Fixed invalid video stride evaluation on Windows. (906044)

  • Video: Fixed performance issues with VideoPlayer creation/destruction. (888745)

  • Video: Fixed MovieTexture support for Metal. (911115)

  • Video: Transcoding issues with uncompressed RGBA .mov. (948288)

  • Video: Typo in VideoPlayer editor for Audio Source property tooltip. (920816, 948289)

  • Video: (1) was added to VideoPlayer name when added with drag-and-drop. (923258, 948287)

  • VR: Fix for issue whereby Android GearVR could not change Anti-aliasing settings at runtime. (896253)

  • VR: Fixed crash when camera was selected in editor view while in playmode and VR enabled. (913980)

  • VR: The handling of a 'X' button press is now as expected:

    • Terminate the application if pressed during the splash screen.
    • Else inject 'Esc' into the event stream so that the developer can handle as needed. (908990)
  • Web: Fixed case where pinging IPv6 address would never set the done flag. (802395)

  • WebGL: Added the missing the setTempRet() function to WebAssembly. (897782)

  • WebGL: Added the missing the setThrow() function to WebAssembly. (891835)

  • WebGL: Fix to release WebCam after use so that other tabs can use it. (898210)

  • WebGL: Fixed case of Template Custom Tags not being replaced at build time. (903092)

  • WebGL: Fixed custom cursor support. (905625)

  • WebGL: Fixed IE InvalidStateError load-time error. (903767)

  • WebGL: Fixed image padding when the width does not need to be padded. (904449)

  • WebGL: Fixed Profiler connection. (901252)

  • WebGL: Fixed source of WebAssembly runtime error: "integer overflow/unrepresentable". (891431)

  • WebGL: Fixed wasm build failure on MacOS caused by special characters in the project path. (899387)

  • WebGL: Fixed wasm integer overflow on DirectorFrameTime::CalculateDSPDeltaTime. (912234)

  • WebGL: Fixed AudioSource.time return value. (904578)

  • Windows: Crash dumps for the Windows Player are now generated in a user-writable data folder. (914366)

  • Windows: Fixed 'jumping window bug' when in windowed mode and Cursor.lockState is set to Locked. (876969, 886469)

  • Windows: Fixed an issue where illegal path characters in Company Name or Product name could cause logging to not work in Low Integrity mode. (842416)

  • Windows: Fixed issue that was causing artifacts when running at non native resolution on Windows standalone player. (930948)

  • Windows: Player crash report now respects -logFile command line argument. (840149)

  • Windows: [Standalone] Fixed crash on exit when multiple instances are running. (804243)

  • XR: Fix to stop dropping out of VR when render scale is set higher than texture memory will allow, and safely reverting back to the last known good scale setting. (916952)

  • XR: Fixed an issue that was causing eye flickering in Daydream. (915277)

  • XR: Fixed case of blit to temporary RT not setting _MainTex_ST correctly. (918634)

  • XR: iOS target frame rate now defaults to the device frame rate for Cardboard (previously it was incorrect by default). (950229)

  • XR: Performance and stability during in-editor remoting has been improved for the HoloLens. (901423)

Known Issues in 2017.2.0f2

  • Asset Pipeline: Reverting model back to a prefab and then undoing these changes creates an additional broken non-prefab object. (864619)

  • Editor: rootTransform != NULL assert followed by a crash when undoing/redoing. (883861)

  • Particles: Unity crashes after deleting a particle system and undoing the delete. (923711)

  • XR: Building a Daydream player from the Unity Editor will fail, if the GVR audio spatializer plugins are included in the project from the Google VR SDK. To work around this issue, delete or rename the spatializer plugin libraries.

  • XR: Data from headPose is incorrect on GestureRecognizer events. (944108)

  • XR: [SPS] Occlusion mesh is visible when rendering to an RT. (936114)

Known Issues - won't be fixed in 2017.2.0

  • Asset Import: Visibility animation curves are invalid when their target meshes are split because of the 65534 vertices limit.

  • Asset Import: MergePrefabInstance crash when reimporting assets from Assets Store. (913659)

  • Asset Pipeline: Crash at MoveTransformToRootOfSceneUndo when undoing addition of RectTransform to prefab. (912166)

  • Asset Pipeline: Reverting changes on applied prefab crashes Unity. (825035)

  • GI: Lightmap baking for terrain trees: non-speedtree objects will not cast shadows unless they are part of a LOD group. (955667, 955739)

  • GI: Navigating in scene view restarts baking when trees are painted on terrain (955667, 955739)

  • Services: Collab "Save to file" logs with Collab disabled. Mac Editor takes 2 minutes to exit Play mode. (931990)

  • XR: [VR Oculus Compositor Splash] Particle System does not work on Build when VR is enabled. Will be addressed in a patch soon after release. (926695)

2017.2.0f2 Release Notes (diff since 2017.2.0f1)

Improvements

  • iOS: Metal: Improved render thread scheduling.

Fixes

  • Editor: Fixed error messages when opening temporary project from launcher after a project has already been loaded. (952457)

  • Graphics: Metal: Fix to eliminate Z-fighting artifacts on certain devices. (950946)

  • Graphics: Metal: Fixed occassional GPU hang/crash when dispatching compute shader. (950892)

  • OSX: Fixed issue where game would be stretched in fullscreen on non-native aspect ratio in OSX standalone player. (793490)

  • Package Manager: Fixed case of Packages folder already used by nuGet resulting in compilation errors. (941516)

  • UI: Fixed crash when undoing or applying changes on a prefab instance containing UI objects. (930503)

  • Windows: Fixed issue that was causing artifacts when running at non native resolution on Windows standalone player. (930948)

  • XR: iOS target frame rate now defaults to the device frame rate for Cardboard (previously it was incorrect by default). (950229)

The following are changes and fixes to 2017.2.0 features and regressions...

Changes

  • Asset Import: Changed the default import material location to use the external materials (legacy option). (951018)

Fixes

  • Animation: Fixed a crash when opening an animator controller with a circular reference through StateMachineBehaviour instances. (930354)

  • Animation: Fixed a crash when spawning an Animator with a state machine that used OnStateMachineEnter. (930814)

  • Animation: Fixed case of animation events firing twice when using animator manual update. (938978)

  • Editor: Fix to avoid throwing a fatal error on plugin importer query for nonexistent platform.

  • Editor: Fixed an issue where notifications from the Collaborate service were not received sometimes. (952696)

  • Editor: Fixed sprite preview generation. (943905)

  • Editor: Unit tests in custom assemblies are again loaded by the test runner as playmode and editmode tests when the assembly is placed inside the assets folder. (926540, 927122)

  • GI: Fixed case of Reflection Probe Preview not rendering in scene view. (928456)

  • Graphics: Fixed iOS native plugin .c compilation failure. (948164, 948330)

  • Graphics: Fixed issue where Sprite Mode would be blank after changing texture type via script. (890468, 921598)

  • iOS: Fixed possible freeze on iOS when running multiple UnityWebRequest instances with custom download handler scripts. (936801)

  • Multiplayer: Fix to force sync of internal timers to internal time after io thread resume.

  • Physics: Fix to ensure that re-parenting is taken into account for a kinematic Rigidbody2D tracking any parent Rigidbody2D. (946765)

  • Video: Fixed case of audio getting desynchronized from video after seek operations. (889059, 947403)

  • Web: Fix to ensure that headers are available in UnityWebRequest only after they are all received.

  • Web: Fixed early availability of status code when UnityWebRequest is still running.

  • Web: Fixed issues that could lead UnityWebRequest to abort when reading local file or using custom download handler script.

  • XR: Co-ordinate system usage for interaction sources in Windows Mixed Reality has been fixed, correcting data such as rotation. (948568)

  • XR: Controller pose data in Windows Mixed Reality is now resampled in time for onPreRender to reduce controller transform latency and avoid unnecessary jitter. (948954)

  • XR: Fixed an issue where resuming a backgrounded GearVR app would result in a black screen. (942464)

  • XR: Fixed case of assert IsMatrixValid (matrix) being thrown on dual camera setup with camera's target eyes set to left and right. (899259)

  • XR: Fixed issue with Camera.stereoTargetEye when used with single pass rendering. (895976)

LTS Release 2017.2.0f1

Released:

LTS Release 2017.2.0f1

Released:

2017.2.0f1 Release Notes (Full)

System Requirements Changes

  • Removed iOS 6.0 support. The minimum supported version is now 7.0.

Features

  • 2D: Added Tilemap.

  • Asset Import: Added support for animated custom properties from FBX. description

  • Asset Import: Added support for Stingray material import from FBX. description

  • GI: Added support for per-object cast and receive shadows in the Progressive Lightmapper. For Cast Shadows, only On and Off options are supported.

  • GI: Per-object lightmap seam stitching for Progressive Lightmapper. description

  • GI: Profiler for Realtime Global Illumination.

  • GI: Support for double-sided materials in Progressive Lightmapper. Added a new material setting that causes lighting to interact with backfaces. When enabled, both sides of the geometry get accounted for when calculating Global Illumination. Backfaces do not count as invalid when seen from other objects. Backface rendering is not controlled by this setting nor will backfaces be represented in the lightmaps. Backfaces bounce light using the same emission and albedo as frontfaces.

  • Graphics: Implemented Display-P3 color gamut support for iOS and macOS. A "color gamut" player setting has been added, which will eventually cover other platforms with wide color gamut support.

  • Multiplayer: New QoS options for delivery of large messages: reliable or unreliable, and un-ordered (fragmented) or ordered (fragmented sequenced).

  • OSX: Added support for Retina in macOS standalone builds.

  • Package Manager: In 2017.2, we are introducing Unity Package Manager. This will be the first stepping stone for the system. We are taking an incremental approach to integrate the system into the Unity ecosystem. It will grow with more features over time. For this first release, we avoid exposing user facing features. Instead, we are exposing an API for enabling internal components to be updated more frequently than the editor (the first pillar of the system).

  • Particles: Added Linear Drag support for Particles. The new options can be found in the Limit Velocity over Lifetime Module. description

  • Particles: Added new option to allow Particle Systems to be destroyed or disabled when they finish playing. description

  • Services: Performance Reporting Service: Added support for native crashes on Android.

  • Timeline: Added support for Avatar Masks on Animation Tracks.

  • Video: Added pixel aspect ratio support for non-square pixel.

  • WebGL: Added linear rendering to WebGL 2.0

  • XR: Added support for certain aspects of the Vive HMD to be simulated in-Editor without the need of a physical HMD. Enable by using the "Mock HMD - Vive" virtual reality SDK in the player settings. The mock HMD uses the same asymmetric projection matrix, hidden occlusion mesh, field of view, aspect ratio, and eye texture size as the Vive. Mock HMD can be used with both multi and single pass rendering paths and will render as a split screen stereo display in Editor.

  • XR: Added support for Google ARCore augmented reality technology when targeting Android 7.0 and above on supported devices. See our blog post for more information and how to get started https://blogs.unity3d.com/2017/08/29/ar-comes-to-android-with-the-arcore-sdk/

  • XR: Added support for Video Async Reprojection. Video Async Reprojection allows an app to feed video frames directly into the Google VR Async Reprojection system. These frames are composited directly into the scene without going through the main Unity render loop. This provides a fast path to direct rendering of video regardless of the current frame rate Unity is rendering at. When using Async Video Reprojection, texture filtering is skipped providing for a much higher quality output. There is an option to allow for the use of protected memory for users that need to render DRM protected content.

  • XR: Added support for Windows Mixed Reality as a Virtual Reality SDK target. This extends Unity's HoloLens support so that it more generally supports Windows Mixed Reality, both for desktop and HoloLens.

  • XR: EditorVR is now supported without needing a custom build (still requires separate Unity Package download).

  • XR: Introduced native integration for the Vuforia Augmented Reality Platform: additional feature support will follow in later beta updates. Vuforia support can be installed through the Unity Download Assistant and enabled under PlayerSettings/XR. For more information about Vuforia see https://developer.vuforia.com.

  • XR: OpenVR support for Mac 64bit application target that use Metal graphics.

  • XR: The single-pass instanced rendering path is now supported on desktops when the DirectX 11 rendering API is in use. Single-pass instanced rendering is only supported with forward rendering.

  • XR: Windows Mixed Reality headsets are now supported for playing in-editor.

Backwards Compatibility Breaking Changes

  • Scripting: UnityEngine.dll is now split into separate dlls for each UnityEngine module.

Changes

  • Android: "Export as ADT project" is now obsolete.

  • Android: Changed default frame rate (Application.targetFrameRate 0) to 30 when v-sync is off, similar to iOS.

  • Audio: AudioMixer ducking improvements:

    • Optimized CPU performance.
    • Changed behaviour so that ducking amount corresponds to the maximum level on each channel.
  • Editor: 2017 Editor requires a new license version. Subscription keys will be upgraded, but 5.x license keys will not be accepted by 2017 Editor. If you have only a 5.x license, please visit https://store.unity.com/ or contact your sales representative to obtain a 2017-compatible license.

  • Editor: APIUpdater no longer runs automatically when Editor runs in batch mode. See -accept-apiupdate command argument for more information.

  • Editor: Changed the behaviour of the "members" button in the Collab toolbar: it now opens a page in the web dashboard to add/remove project members.

  • Editor: Editor GUI tooltips are no longer suspended if the scene is paused in Play mode.

  • Editor: Reduced the verbosity in editor log for script recompilation.

  • Graphics: When using custom shadow resolution on a light, this resolution won't be clamped as usual, allowing to reach up to 8k shadowmap if needed.

  • Licenses: Updated FBX license to require acceptance of FBX SDK license (https://damassets.autodesk.net/content/dam/autodesk/www/Company/docs/pdf/legal-notices-&-trademarks/Autodesk_FBX_SDK_2015_License_and_Services_Agreement.pdf)

  • Scripting: Editor: Load precompiled managed assemblies (.dlls) on startup even if there are compile errors in other scripts.

  • Scripting: Serialization: Disabled support for opposite-endinanness asset bundles.

  • Scripting: InitializeOnLoad now invoked after deserialization. See Upgrade guide for details. (879044)

  • Scripting: MonoBehaviour.OnValidate is now called when adding a MonoBehaviour to a game object in the editor.

  • UI: The legacy (Unity 1.0) UI system components - GUILayer, GUIText, and GUITexture - have been marked as deprecated. GUILayer components are no longer added to the camera by default.

  • Universal Windows Platform: The default scripting backend on Universal Windows Platform has changed to IL2CPP.

  • XR: Camera.stereoMirrorMode is now obsolete.

Improvements

  • AI: Debug data from the process of building a NavMesh with the NavMeshBuilder API can be selectively collected and visualized in the Editor using NavMeshEditorHelpers.DrawBuildDebug().

  • AI: Improved performance when synchronizing NavMesh tiles after carving.

  • Android: Change to allow extractNativeLibs=false flag to be used if needed.

  • Android: Significantly improved the performance of large prefabs loading (Resources.Load* or AssetBundle.LoadAsset* APIs) on Android. (904652)

  • Android: The backend ETC texture compressor is now configurable in the Editor Settings with different quality/compression speed tradeoffs.

  • Animation: Added copy pasting of transition parameters in Animator State Machine.

  • Animation: Added option to Animator States to pull normalized time from a specified Parameter rather than using Time.deltaTime.

  • Asset Import: Exposed a public API for extracting embedded textures from .FBX and SketchUp files. The materials which are embedded in the asset will be updated automatically to reference the extracted textures. description

  • Asset Import: Minor impovements to the Avatar Mask and Transform Mask UI. description

  • Asset Import: Parallelized the animation clip keyframe reduction during import.

  • Asset Import: Updated SketchUp SDK to 17.0 (782948)

  • Audio: Added ability to get and set the audio spatializer from script via AudioSettings.GetSpatializerPluginName and AudioSettings.SetSpatializerPluginName.

  • DX12: Native Rendering Plugin improvements:

    • Exposed/implemented native RenderBuffer resource retreival.
    • Fixed multithreading issues.
  • Editor: Added toggle for color-blind safe mode to the context menu in the upper right corner of the Profiler window.

  • Editor: Assorted usability refinements to Profiler charts: All series types can now be toggled, stacked chart series now have explicit reorderable affordances, stacked plots now appear as solid colors.

  • Editor: Exposed LZ4 compression setting to the BuildPlayer window for iOS/Android/Standalone.

  • Editor: Unity Troubleshooter allows users to observe a list of previously reported issues and search for similar issues in Unity Knowledge base

  • GI: Added A-Trous, a new edge-aware filter for GI when using the Progressive Lightmapper.

  • GI: Added support for LOD baking in Progressive Lightmapper.

  • GI: Asynchronous loading of precomputed realtime GI data, by moving the GI part of file I/O into the loading thread. Exposed DynamicGI.IsConverged to public API so user can know when lighting is converged. Timesliced albedo-emission rendering during load. (710503, 790887, 815033)

  • GI: Fill the empty areas in the lightmaps with content from the lower mip levels (push-pull dilation). This will fix the cases where dark pixels around geometry edges are visible when rendering with lightmaps. The is due to dark background texels bleeding in when lower MIPs are accessed.

  • GI: HDR emission: enabled 16 bit floating point format for emission for both realtime and baked GI. Baked GI output is still limited by RGBM range. HDR color picker limit increased from 99 to 64k.

  • GI: Terrain trees can now cast shadows into the baked lightmap for terrains. Terrain tree probes are now in the top of the tree canopy to make sure probes don't end up inside the tree trunk. (685764)

  • GI: Upgraded the Enlighten SDK to 3.09. New since 3.08p1:

    Improvements:

    • The face(s) of a triangle which cast direct light shadows can now be set per material. Bug Fixes:
    • Fixed a bug where setting the update manager limiter to values greater than 0 produced incorrect reading of the input lighting buffers.
    • Fixed a crash in IPrecompute::PackGeometry() when providing an input mesh with very large UVs.
    • Fixed a crash in IPrecompPackedGeometry::Load() when running out of memory.
    • Fixed case of uninitialised data being serialised in WriteDataBlockForInPlace() and related functions.
  • Graphics: Added "Dynamic Occludee" settings in renderer to control whether dynamic objects should skip occlusion culling. (883644)

  • Graphics: Added "Metal Restricted backbuffer Use" that allows improved performance in non-default device orientation.

  • Graphics: Added GPU Skinning via compute on Vulkan, D3D12, PS4 and Xbox One.

  • Graphics: Frame Debugger Improvements:

    • Size, format and depth in the texture shader properties tooltip.
    • Stencil states.
    • Subshader index, pass name and light mode tag.
  • Graphics: Reworked Rendering.CommandBuffer internals to reduce main thread cost.

  • Graphics: Texture importer: Added support of BC5 format for normal map type in override option (for platforms that support it).

  • iOS: Added an API to retrieve existing build phases for Xcode targets.

  • iOS: Generate Notification and Spotlight icons for iOS targets. Additionally [also mentioned under API Changes] modified the functions PlayerSettings.GetIconsForTargetGroup, PlayerSettings.GetIconSizesForTargetGroup and PlayerSettings.SetIconsForTargetGroup to take an optional IconKind parameter to get/set specific kinds of icons. (894113)

  • iOS: Implemented Xcode API for embedding frameworks.

  • iOS: Multithreaded rendering option now available for iOS/tvOS.

  • Kernel: Completion events added to all return AsyncOperations.

  • Launcher: Integrated Social Sign-On into the Launcher window.

  • Particles: Added "Inherit Lifetime" option in the Sub-Emitter module.

  • Particles: Added a Restart button to the Scene View overlay. description

  • Particles: Burst Emission now supports curve modes for the count. description

  • Particles: Custom Module labels are now editable, allowing users to give them contextual names. description

  • Physics: 3D Physics changes caused by modifying the Transform can now be deferred. They will automatically sync prior to the physics simulation running. You can use Physics3D.autoSyncTransforms and Physic3D.SyncTransforms() to control this behaviour.

  • Physics: Added edit modes for joint angular limits to inspectors for CharacterJoint, ConfigurableJoint, HingeJoint, and HingeJoint2D. description

  • Physics: Collision2D.contacts array is now created lazily so as to not allocate memory until used.

  • Plugins: Added a rendering command buffer callback to update the contents of a texture from inside the plugin (D3D11/Metal/GLES).

  • Plugins: Native Rendering Plugins are now supported on Nintendo Switch.

  • Shaders: Improved compute shader import times and eliminated some shader compiler timeouts.

  • Shaders: Improved import time of surface shaders with many similar shader_feature/multi_compile variants.

  • Substance: Support V6 engine; Ability to use all the nodes of Substance Designer

  • UI: Introduced a shader keyword to all of the UI shaders, which controls the rect clipping. Rect clipping is only done when the mask component is enabled. This leads to much better UI performance when masks are not used. (784238)

  • Universal Windows Platform: IL2CPP scripting backend now defaults to using .NET 4.6 API compatiblity level

  • VR: Updated Oculus to version 1.14

  • Web: UnityWebRequesst now has DownloadHandlerFile available for downloading files and saving them to disk with low memory footprint.

  • Windows: The crash dialog in the Windows Player has been improved with more detail, and prompts the user to open an Explorer window to the crash report.

  • Windows: The player executable has been split into two parts: a signed UnityPlayer.dll that has all the engine code, and a wrapper executable that merely calls into this DLL at startup. The source code for the executable can be found under Editor\Data\WindowsStandaloneSupport\Source\WindowsPlayer. It can be rebuilt with VS2015 as long as you have "Common Tools for Visual C++ 2015" and "Windows XP Support for C++" installed.

  • XR: Improved rendering performance of Daydream and Gear VR apps.

  • XR: Improvements to pause handling in XR applications. Apps which need to pause when the HMD is removed will no longer resume if window focus changes and viceversa.

  • XR: Updated interfaces and new data for GestureRecognizer and InteractionManager (UnityEngine.VR.WSA.Input). Some of the API surface for this has breaking changes on the way and will land soon.

  • XR: UnityEngine.Experimental.VR.Boundary.TryGetGeometry now works on Windows Mixed Reality headsets.

  • XR: XRDevice.SetTrackingSpaceType will now allow users to reason about where the floor is on VR HMDs for WindowsMR.

API Changes

  • Accessibility: Added UnityEngine.Accessibility.VisionUtility.GetColorBlindSafePalette().

  • AI: Added NavMeshBuildDebugFlags, NavMeshBuildDebugSettings, NavMeshBuildSettings.debug, NavMeshEditorHelpers.DrawBuildDebug.

  • Asset Import: Added AssetPostprocessor.OnPostprocessGameObjectWithAnimatedUserProperties(GameObject go, EditorCurveBinding[] bindings) and void AssetPostprocessor.OnPostprocessAnimation(GameObject root,AnimationClip clip).

  • Asset Pipeline: (Also mentoned under Fixes) AddedAssetBundle.UnloadAllAssetBundles() and AssetBundle.GetAllLoadedAssetBundles(). (904927)

  • Editor: Added AssemblyBuilder API for building managed assemblies from scripts outside of the Assets folder. See AssemblyBuilder.Build for an example of how to use this API.

  • Editor: Added JointAngularLimitHandle to UnityEditor.IMGUI.Controls.

  • Editor: Removed unnecessary ArcHandle constructor taking a control ID hint.

  • Editor: ArcHandle.radius can now be negative.

  • Editor: EditorApplication.playmodeStateChanged obsoleted in favor of new EditorApplication.playModeStateChanged and EditorApplication.pauseStateChanged.

  • Editor: PrimitiveBoundsHandle and subclass constructors no longer require a control ID hint.

  • Graphics: Added RenderPass functionality to scriptable render pipelines. This allows efficient use of tile-based GPUs for deferred rendering for example. See the RenderPass API documentation for more information and example usage.

  • Graphics: Added CommandBuffer.IssuePluginEventAndData, CommandBuffer.IssuePluginCustomBlit and CommandBuffer.IssuePluginCustomTextureUpdate.

  • IMGUI: Added GUI/GUILayout.Toolbar method with new GUI.ToolbarButtonSize enum parameter to support Fixed and FitToContents modes for button contents.

  • IMGUI: GUI.SetNextControlName() now works for controls with any FocusType. Its previous (undocumented) behavior was to only work with controls that had FocusType.Keyboard. Previously, if you called it right before a passive control, the name would instead be applied to the next keyboard control.

  • iOS: [Also mentioned under Changes] Modified the functions PlayerSettings.GetIconsForTargetGroup, PlayerSettings.GetIconSizesForTargetGroup and PlayerSettings.SetIconsForTargetGroup to take an optional IconKind parameter to get/set specific kinds of icons. (894113)

  • iOS: iOSStatusBarStyle.BlackOpaque and iOSStatusBarStyle.BlackTranslucent are obsolete. Use iOSStatusBarStyle.LightContent instead . (894136, 917073)

  • Kernel: Added new AssetBundle APIs LoadFromStream and LoadFromStreamAsync. The APIs let the user load AssetBundle data from a managed Stream instead of Unity native methods.

  • Kernel: Added AsyncOperation.completed event for delegate registration.

  • Mobile (Android, iOS, Metro, Tizen): (Also mentioned under Fixes) Added TouchScreenKeyboard.keyboardStatus read only value. Status can be Visible, Done, Canceled or LostFocus. (758761)

  • Multiplayer: Added a new overload to NetworkManager.StartClient function which allows you to specify which port the local socket should be bound to. (903860)

  • Physics: Added Collision2D.GetContacts().

  • Physics: Added Physics2D.autoSyncTransforms and Physics2D.SyncTransforms().

  • Playables: Added API functions Playable.ConnectInput() and Playable.AddInput().

  • Playables: Added method PlayableGraph.IsPlaying().

  • Playables: Moved AudioPlayableOutput to namespace UnityEngine.Audio.

  • Playables: Remove all *Playable.SetHandle().

  • Playables: Renamed PlayableGraph.Connect() parameters for clarity.

  • Plugins: Added new kUnityRenderingExtEventUpdateTextureBegin/kUnityRenderingExtEventUpdateTextureEnd events to UnityRenderingExtEventType.

  • Scripting: Added SerializedProperty.fixedBufferSize, SerializedProperty.isFixedBuffer and SerializedProperty.GetFixedBufferElementAtIndex.

  • Scripting: UnityEngine.dll is now split into separate dlls for each UnityEngine module.

  • Services: Purchasing: Added support for user-defined payouts attached to ProductDefinitions.

  • Terrain: Added Terrain.freeUnusedRenderingResources API, that can be used to turn off a "garbage collection" mechnism within the terrain system to prevent a potential performance hiccup. See the API documentation for details. (743462)

  • Terrain: Added Terrain.freeUnusedRenderingResources. (743462)

  • VR: Added VRDevice.userPresence. This API allows applications to test whether a user is present and interacting with a VR device - e.g. wearing a HMD.

  • VR: Angular velocity and angular acceleration are now exposed via the UnityVR.InputTracking.GetNodeStates() API on VR platforms that supply these values.

  • Web: Added UnityWebRequestAsyncOperation UnityWebRequest.SendWebRequest() API.

  • Web: The following API has been deprecated and is marked as obsolete: Application.isWebplayer, GameViewSizeGroupType.WebPlayer, BuildTargetGroup.WebPlayer, EditorBuildSettings.webPlayerStreamed, EditorBuildSettings.webPlayerOfflineDeployment, EditorUtility.BuildResourceFile(Object[] selection, string pathName).

  • Web: The following obsolete API has been removed: BuildPipeline.WebPlayerAssetBundlesAreNoLongerSupported(), BuildPipeline.BuildAssetBundle(Object mainAsset, Object[] assets, string pathName, BuildAssetBundleOptions assetBundleOptions), BuildPipeline.BuildAssetBundle(Object mainAsset, Object[] assets, string pathName), BuildPipeline.BuildAssetBundle(Object mainAsset, Object[] assets, string pathName, out uint crc, BuildAssetBundleOptions assetBundleOptions), BuildPipeline.BuildAssetBundle(Object mainAsset, Object[] assets, string pathName, out uint crc), BuildPipeline.BuildAssetBundleExplicitAssetNames(Object[] assets, string[] assetNames, string pathName, BuildAssetBundleOptions assetBundleOptions), BuildPipeline.BuildAssetBundleExplicitAssetNames(Object[] assets, string[] assetNames, string pathName), BuildPipeline.BuildAssetBundleExplicitAssetNames(Object[] assets, string[] assetNames, string pathName, out uint crc, BuildAssetBundleOptions assetBundleOptions), BuildPipeline.BuildAssetBundleExplicitAssetNames(Object[] assets, string[] assetNames, string pathName, out uint crc), BuildPipeline.BuildAssetBundles(string outputPath, BuildAssetBundleOptions assetBundleOptions = BuildAssetBundleOptions.None), BuildPipeline.BuildAssetBundles(string outputPath, AssetBundleBuild[] builds, BuildAssetBundleOptions assetBundleOptions = BuildAssetBundleOptions.None), BuildPipeline.WebPlayerOfflineDeployment.

  • Web: UnityWebRequest.Send() obsoleted in favor of new SendWebRequest call.

  • Windows: Added a Windows-specific API that exposes the crash dump path to C#: UnityEngine.Windows.CrashReporting.crashReportFolder.

  • XR: Added PlayerSettings values for new Async Video reprojection Settings. (932009)

  • XR: Added XRDevice.fovZoomFactor. (845344)

  • XR: Made Google Async Video Reprojection usable without the need to subclass UnityPlayerActivity.

  • XR: Types in the UnityEngine.VR.* namespaces have been moved to UnityEngine.XR.* namespaces. Types such as VRSettings, VRDevice, VRNode, etc. have also been renamed to XRSettings, XRDevice, XRNode, etc. The API updater is configured to automatically update existing scripts and assemblies.

  • XR: VRTextureUsage has been added as angument to RenderTexture.GetTemporary with a default value. (918634)

Fixes

  • 2D: Console warning "Texture being dragged has no Sprites" is no longer printed infinitely when sprite is being dragged on Scene window. (916845)

  • 2D: Fixed case of "Unapplied Module Changes" Window appearing when navigating to Edit Outline / Edit Physics Shape but making no changes. (916747)

  • 2D: Fixed case of Aniso Level on Texture being stuck at 16 when imported as Sprite Texture and without mipmaps enabled. (909748)

  • 2D: Fixed case of sprite packer causing an Out Of Memory error. (897066)

  • 2D: Fixed case of text for "Edit Physics Shape" being cutoff in Sprite Editor window regardless of window size. (916742)

  • Android: Fix to return null for AndroidJavaObject.Get<>() and AndroidJavaObject.GetStatic<>() instead of throwing exceptions.

  • Android: Fixed issue where Time.realtimeSinceStartup would not increase while the device is in deep sleep. (867885)

  • Animation: Added an error message to SampleAnimation when attempting to sample an animation clip without an animator. (888031)

  • Animation: Disabled the Add State Machine Behaviour button while new scripts need to be recompiled on a State. (908223)

  • Animation: Fixed a crash when an animator reset was triggered during a StateMachineBehaviour awake. (907324)

  • Animation: Fixed double callback at the end of an interrupted transition. (900875)

  • Asset Import: Fix to show the progress bar immediately for large meshes. (462618)

  • Asset Import: Fixed crash when calling Object.DestroyImmediate(go) in OnPostprocessGameObjectWithUserProperties. (899383)

  • Asset Import: Fixed crash when failing to import all animation clips in an FBX file. (911612)

  • Asset Import: Fixed crash when importing FBX files that have a negative framerate value. (905817)

  • Asset Import: Fixed editor crash and visibility curves correctness on FBX with non baked animations. (940745)

  • Asset Import: Fixed issue where an imported mesh would be 'split' into only one part. (906949)

  • Asset Import: Fixed issue where visibility animation curves were created on nodes that don't have a mesh. (907964)

  • Asset Import: Fixed issue with FBX import where mesh instances with different materials were assigned the same material. (898916)

  • Asset Pipeline: (Also mentoned under API changes) Added AssetBundle.UnloadAllAssetBundles() and AssetBundle.GetAllLoadedAssetBundles(). (904927)

  • Audio: Audio Clip Preview: Fixed bug where changing the audio clip in the audio source selection dialog did not stop the previous playing clip. (874592)

  • Audio: Audio Mixer: Fixed case of mute not being applied to the child mixer of channel, or on the parent channel itself. (890139)

  • Audio: Audio Source occasionally became louder when played repeatedly. (921686)

  • Audio: AudioClip in Audio Source component only played the first selected audio clip. (901001)

  • Audio: AudioSource had short volume glitches at the beginning of playback when a Rigidbody was attached. (915586)

  • Audio: AudioSource volume was incorrect when re-enabling disabled AudioSource. (922299)

  • Audio: AudioSource were affected by AudioReverbZone even with the Bypass Reverb Zones setting enabled. (931206)

  • Audio: Changing Reverb Preset of an AudioReverbZone via script had no effect on audio. (802828)

  • Audio: Deleting a mixer asset from Audio Mixer window no longer causes deletion of the selected folder. (895642)

  • Audio: Fixed bug where all external audio clips would be unloaded upon calling AudioClip.UnloadAudioData on an external audio clip. (849564)

  • Audio: Fixed bug whereby Audio Mixer assets had no links to docs in their inspectors. (630520)

  • Audio: Fixed error when trying to undo 'Set as start Snapshot' action. (926480)

  • Audio: Fixed glitches in audio mixer group view when adding/duplicating a large number of groups. (908919)

  • Audio: Fixed incorrect display of source-listener distance when both source and listener are attached to the same game object and the game object is accelerating. (849469)

  • Audio: Fixed issue where Editor would freeze when attempting to open some .mixer assets in the Audio Mixer Window. (852029)

  • Audio: Mixer: Duplicated groups can now be undone. (907123)

  • Audio: On Windows, it was not possible to receive information about microphone devices when its name contained special characters. (895350)

  • Audio: The audio clip no longer starts to play when auto-play is enabled in the preview window and the Game/Scene view is detached. (922827)

  • Audio: The AudioListener.pause property was not reset when exiting Play mode. (917676)

  • Audio: The first AudioMixerSnapshot.TransitionTo call incorrectly started a transition from selected snapshot instead of the defined start snapshot. (905679)

  • Audio: Toggling bypass on any audio effect can now be undone. (776858)

  • Build Pipeline: Fix to prevent build files from getting generated when a build fails. (896991)

  • Build Pipeline: Fixed ability to build asset bundles for a platform other than the one setup in Build Settings. (904359)

  • Build Pipeline: Fixed bug that prevented setting of asset bundle on newly imported textures until some part of the import settings were altered. (905640)

  • Build Pipeline: Fixed bug where new builds were offering the previous project's build path by default. (909650)

  • Build Pipeline: Fixed issue where building for player for unsupported build target was crashing the editor. (900338)

  • Build Pipeline: Fixed issue where cancelling a build would result in a "Build failed" error message. A build result of Succeeded, Failed, or Canceled will now be logged as info. (907429)

  • Build Pipeline: Fixed issue where loading a GameObject from a dll in an asset bundle would cause it to lose its Monobehavior references. (741536)

  • Build Pipeline: Fixed issue where relative build path wasn't getting resolved correctly. (911830)

  • Collab: Fixed an issue where users could experience an editor freeze with collab enabled and 100% packet loss on network. (920583)

  • Editor: Added serialization of active column for Profiler GUI and CPU Hierarchy view. (892743)

  • Editor: Avatar Configuration scene now blocks creation of new scene and gives an appropriate message. (892164)

  • Editor: Error is now logged when trying to set a non-loaded scene as the active scene. (840650)

  • Editor: Fix application menu items and their shortcuts in launcher window on OSX. (921224)

  • Editor: Fix red line at the edge of a window when stretched on OSX. (931831)

  • Editor: Fix to remove suprious errors in console when logging in to Unity account with Collab enabled. (885388)

  • Editor: Fixed an issue where double-F (track selection) in the scene view could use a different focal point than single-F (frame selection). (584765)

  • Editor: Fixed an issue where the Game View ignored vsync settings when using OpenGL on macOS. (901973)

  • Editor: Fixed an issue where undoing creation of a LightProbeGroup was throwing a MissingReferenceException. (657159)

  • Editor: Fixed bug causing Scene view to only focus on the first target in a selection when entering a tool (e.g. Edit Collider) mode.

  • Editor: Fixed bug causing EditorApplication.playmodeStateChanged to be invoked continuously when scrubbing Profiler. (898172)

  • Editor: Fixed bug in progress bar code, which caused Build and Run to crash during sprite packing. (907145)

  • Editor: Fixed build window erratic scene order drag on OSX. (874335)

  • Editor: Fixed case of 'Assertion failed' when using Playmaker's Ecosystem browser. (910371)

  • Editor: Fixed case of property fields skipping child properties when HideInInspector attribute is used. (918683)

  • Editor: Fixed case of TextField changing height when entering new text, and toggles not displaying fully when no text is entered. (912001)

  • Editor: Fixed crash in GUIKeyboardState::~GUIKeyboardState() when double-clicking and draging Scene View window. (909662)

  • Editor: Fixed crash in GUIView::OnInputEvent() when closing a floating window and using the -debugallocator flag. (905960)

  • Editor: Fixed crash seen on Windows, when opting to keep a temporary project (e.g. one opened from the 'Learn' tab on the launcher) on Editor. This was caused by the directory being in use by another application. (917556)

  • Editor: Fixed crash when closing a window if it hasn't finished loading. (916113)

  • Editor: Fixed crash when selecting reflection probe background color via Color Picker. (934613)

  • Editor: Fixed crash when undocking/docking the Profiler Window. (920862)

  • Editor: Fixed exception when backspacing iOS target SDK version in PlayerSettings inspector.

  • Editor: Fixed issue that user is not recognized as signed in when opening a cloud project

  • Editor: Fixed issue where creation of prefab from a GameObject would mark all scenes dirty. Now, it only does so for the scene containing the Game Object. (912271)

  • Editor: Fixed issue where gizmos where not being recalculated after scene load. (909099)

  • Editor: Fixed issue where removing all profilers from profiler window still displays hierarchy of CPU profiler. (911489)

  • Editor: Fixed issue where the 'Apply' button for prefabs would try to mark the scene as dirty in playmode. (839124)

  • Editor: Fixed issue where Unity would regard a baked lighting map named 'library' as a Unity Library folder. (799477)

  • Editor: Fixed light baking in scenes with names containing Unicode characters. (876062)

  • Editor: Fixed potential crash when calling Close() from OnGUI(). (903828)

  • Editor: Fixed transform precision issue when moving multiple objects. (907854)

  • Editor: Modified the dialog text when opening a project last saved in a different version of Unity, to avoid confusion. (886169)

  • Editor: Series labels in Profiler chart now stay inside the chart area when selecting the frame on the far left or far right of the chart. (913382)

  • Editor: Setting a custom icon on a GameObject now dirties the current open scene. (898818)

  • GI: Terrain trees now use the correct, non-interpolated light probes that are placed per tree. (911491)

  • GI: The light intensity of the sun disk procedural skybox will now match specular highlights. (895359)

  • Graphics: Added optional downscale algorithm to avoid PVRTC compression artifacts on some noise textures. (880191)

  • Graphics: Fix for miscalculating the size of the view required for a buffer that will be used as the source for an Indirect Draw/Dispatch call. (919044)

  • Graphics: Fix to allow 2D colliders to affect Lens Flares. (911429)

  • Graphics: Fixed a bug where wrong values might be reported to Frame Debugger for built-in and global shader properties. (874354)

  • Graphics: Fixed case of grid rendering incorrectly in the Animation Preview window. (903454)

  • Graphics: Fixed issue where debug GFX overlay was drawn on top of objects in Game View. (851379)

  • Graphics: Fixed issue where Halo light would go through "Opaque" and "Transparent" shaded objects. (825212)

  • Graphics: Fixed memory leak in Texture2DArray and CubeMapArrayTexture. (919162, 930677)

  • Graphics: In deferred for culling mask, we now only reserve the stencil bit used in the view currently. (879852, 910502)

  • Graphics: Updated documentation to clarify that calling Texture*.Apply() after CopyTexture() is undefined. (856264)

  • Graphics: We now ignore a SubShader which only has a GrabPass in it after the other passes have been removed.

  • IMGUI: Fixed an issue where the Event.numeric setter would actually set Event.shift instead. (858889)

  • Installer: Windows Download Assistant now waits for Visual Studio 2017 to finish installing and reboots Windows if necessary.

  • iOS: Fixed case of queueDebuggingEnabled not being included in the Unity-iPhone XCode Scheme file. (907857)

  • iOS: Fixed PBXProjectExtensions.AddFileToEmbedFrameworks when .pbxproj contains unknown sections. (942488)

  • iOS: Removed iOS 6.0 support. The minimum supported version is therefore now 7.0.

  • Kernel: Fixed an issue on FileUtil.CopyFileOrDirectory, where it would delete the Assets folder if the destination argument is null. (910294)

  • Kernel: Fixed an issue where selecting multiple large images in the Editor could cause performance problems. (860776)

  • Kernel: Fixed Editor shutdown deadlock when specific native threads call managed code via script invocation.

  • Kernel: Fixed the YAML writer/reader so that .meta files generated for the .DLL plugins comply with the YAML specifications. (909364)

  • Mobile (Android, iOS, Metro, Tizen): (Also mentioned under API changes) Added TouchScreenKeyboard.keyboardStatus read only value. Status can be Visible, Done, Canceled or LostFocus. (758761)

  • Mono: Prevent the package import view from showing duplicate entries with the new Mono runtime. (908704)

  • Multiplayer: Fix for case where config validation in NetworkTransform resulted in a null exception.

  • OSX: Fix for Apple filesystem (APFS) compatibility.

  • Package Manager: Give the option for the user to continue loading the project even though package resolution failed (no internet or wrong manifest). No packages will be loaded and a sticky error message will be displayed. (945057)

  • Particles: Added more reasons to the Frame Deubgger for why a dynamic batch may be broken. (911933)

  • Physics: Ensure no work is done if the 2D physics world is empty. (940666)

  • Player: Fix for valid float string parsed to infinity on iOS in json. (881155)

  • Plugins: Fixed an issue where plugins were not included during build even though they were shown as enabled for that platform. (914860)

  • Scripting: Fixed an exception that was thrown when a user overrides the Unity synchronization context with their own. (924070)

  • Scripting: Fixed APIUpdater crash when checking C# scripts with deep object initialization syntax. (902973)

  • Scripting: Fixed corruption in assemblies containing references to UnityEditor.Animations.AvatarMask. (904030)

  • Scripting: Fixed crash when calling DestroyImmedate on a MonoBehaviour, or its game object in MonoBehaviour.Reset, or MonoBehaviour.OnValidate during AddComponent. (720677, 900003)

  • Scripting: Fixed crash when calling DestroyImmediate on own GameObject during Awake when instantianting a prefab. (720677, 900003)

  • Scripting: Fixed memory leak in UnityWebRequest when Dispose is not called. (862095)

  • Scripting: Fixed nested types updating on local variable / parameter declarations.

  • Scripting Upgrade: Fixed an issue where assemblies built with .NET 4.6 fail to load. (922577)

  • Scripting Upgrade: Fixed crash when System.Reflection.Emit is used to generate assemblies for the AppDomain.AssemblyResolve event. (920772)

  • Scripting Upgrade: Fixed hang that could occur when displaying bug reporter. (915672)

  • Services: Collab: Fixed issue whereby renaming a large folder could result in work loss. (914442)

  • Services: Fixed bug that would make it not possible to create a new project from the Launcher when the XBOX or PS4 support modules were installed. (905684)

  • Services: Fixed crash in Unity while using Collab and doing an update, cancelling it immediately, and updating again. (912481)

  • Services: Fixed issue whereby user was not prompted to save local scene edits before updating, resulting in loss of work. (907960)

  • Services: Fixed multiple UI issues and bugs in the hub and support for online tutorials. (869503, 884626, 889584, 891480, 893650, 900532)

  • SpeedTree: Fixed an issue where the shadow of a SpeedTree mesh wasn't animated by wind if the tree itself isn't visible in any camera. (909459)

  • Terrain: Fixed an issue where undoing terrain creation would throw MissingReferenceException. (903033)

  • Timeline: Fix to not show hidden PlayableDirectors in Timeline Editor dropdown. (900307)

  • Timeline: Fixed drag and drop of Audio Source on PlayableDirector. (923278)

  • Timeline: Fixed drag and drop of items with varying height. (875990)

  • Timeline: Fixed issue where drag and drop tracks would reverse their order. (876343)

  • Timeline: Fixed Timeline Editor zoom behaviour inconsistency. (877484)

  • UI: Fixed case of object scale interfering with input.

  • UI: Fixed case of single-line input field becoming unresponsive. (948059)

  • UI: Fixed crash caused by null batch material. (935112)

  • Universal Windows Platform: When simulating the HoloLens in editor, spatial mapped data will be generated in a consistent orientation. (898305)

  • Video: Added support for transcoding to tiny VP8 resolutions. Previously, attempting to do so would result in errors. (900524)

  • Video: Android: Fixed issue where 4.1/4.2, bigger resolution videos would not play. (894170)

  • Video: Android: Fixed issue whereby video would stop playback if trying to play faster than 1x. (904620)

  • Video: Fix for loss of audio when changing video playback speed on iOS/OSX with AudioSources. (938801)

  • Video: Fixed audio playback when AudioSource is disabled in VideoPlayer. (907755)

  • Video: Fixed crash for dangling render texture pointer in VideoPlayer . (930707)

  • Video: Fixed failing VP8 transcode on Windows due to unsupported audio codec. (904924)

  • Video: Fixed intermittent failure to load video tracks on iOS. (898171)

  • Video: Fixed invalid video stride evaluation on Windows. (906044)

  • Video: Fixed performance issues with VideoPlayer creation/destruction. (888745)

  • Video: Fixed MovieTexture support for Metal. (911115)

  • Video: Transcoding issues with uncompressed RGBA .mov. (948288)

  • Video: Typo in VideoPlayer editor for Audio Source property tooltip. (920816, 948289)

  • Video: (1) was added to VideoPlayer name when added with drag-and-drop. (923258, 948287)

  • VR: Fix for issue whereby Android GearVR could not change Anti-aliasing settings at runtime. (896253)

  • VR: Fixed crash when camera was selected in editor view while in playmode and VR enabled. (913980)

  • VR: The handling of a 'X' button press is now as expected:

    • Terminate the application if pressed during the splash screen.
    • Else inject 'Esc' into the event stream so that the developer can handle as needed. (908990)
  • Web: Fixed case where pinging IPv6 address would never set the done flag. (802395)

  • WebGL: Added the missing the setTempRet() function to WebAssembly. (897782)

  • WebGL: Added the missing the setThrow() function to WebAssembly. (891835)

  • WebGL: Fix to release WebCam after use so that other tabs can use it. (898210)

  • WebGL: Fixed case of Template Custom Tags not being replaced at build time. (903092)

  • WebGL: Fixed custom cursor support. (905625)

  • WebGL: Fixed IE InvalidStateError load-time error. (903767)

  • WebGL: Fixed image padding when the width does not need to be padded. (904449)

  • WebGL: Fixed Profiler connection. (901252)

  • WebGL: Fixed source of WebAssembly runtime error: "integer overflow/unrepresentable". (891431)

  • WebGL: Fixed wasm build failure on MacOS caused by special characters in the project path. (899387)

  • WebGL: Fixed wasm integer overflow on DirectorFrameTime::CalculateDSPDeltaTime. (912234)

  • WebGL: Fixed AudioSource.time return value. (904578)

  • Windows: Crash dumps for the Windows Player are now generated in a user-writable data folder. (914366)

  • Windows: Fixed 'jumping window bug' when in windowed mode and Cursor.lockState is set to Locked. (876969, 886469)

  • Windows: Fixed an issue where illegal path characters in Company Name or Product name could cause logging to not work in Low Integrity mode. (842416)

  • Windows: Player crash report now respects -logFile command line argument. (840149)

  • Windows: [Standalone] Fixed crash on exit when multiple instances are running. (804243)

  • XR: Fix to stop dropping out of VR when render scale is set higher than texture memory will allow, and safely reverting back to the last known good scale setting. (916952)

  • XR: Fixed an issue that was causing eye flickering in Daydream. (915277)

  • XR: Fixed case of blit to temporary RT not setting _MainTex_ST correctly. (918634)

  • XR: Performance and stability during in-editor remoting has been improved for the HoloLens. (901423)

Known Issues

  • Asset Import: Visibility animation curves are invalid when their target meshes are split because of the 65534 vertices limit.

  • Asset Import: MergePrefabInstance crash when reimporting assets from Assets Store. (913659)

  • Asset Pipeline: Crash at MoveTransformToRootOfSceneUndo when undoing addition of RectTransform to prefab. (912166)

  • Asset Pipeline: Reverting changes on applied prefab crashes Unity. (825035)

  • Asset Pipeline: Reverting model back to a prefab and then undoing these changes creates an additional broken non-prefab object. (864619)

  • Editor: rootTransform != NULL assert followed by a crash when undoing/redoing. (883861)

  • GI: Reflection Probe Preview is not rendered in scene view (928456)

  • Particles: Unity crashes after deleting a particle system and undoing the delete. (923711)

  • Services: Collab "Save to file" logs with Collab disabled. Mac Editor takes 2 minutes to exit Play mode. (931990)

  • XR: Data from headPose is incorrect on GestureRecognizer events. (944108)

  • XR: [SPS] Occlusion mesh is visible when rendering to an RT. (936114)

  • XR: [VR Oculus Compositor Splash] Particle System does not work on Build when VR is enabled. (926695)

2017.2.0f1 Release Notes (diff since 2017.2.0b11)

Fixes

  • UI: Fixed case of object scale interfering with input.

  • UI: Fixed case of single-line input field becoming unresponsive. (948059)

  • UI: Fixed crash caused by null batch material. (935112)

The following are changes and fixes to 2017.2.0 features and regressions...

Improvements

  • XR: Updated Vuforia to Version 6.5.22.

Fixes

  • Animation: Further fixed case of alpha channel being animated when in linear color mode. (935087)

  • Asset Import: We now check for normal maps when importing embedded materials. (944362)

  • Editor: Fix to make generated VS solutions reference monolithic UnityEngine.dll instead of all the modules.

  • Editor: Fixed case of modifiers being discarded when pressing hotkey (936062, 944783)

  • Editor: Fixed case of prefab preview displaying all game objects in each individual game object preview during multi-selection. (941177)

  • Editor: Fixed editor crashes in Transform::CountNodesDeep when loading a new scene. (919023, 950116)

  • OSX: Fix for Metal Vsync for OSX 10.13 to follow Quality Settings. (948068)

  • Scripting Upgrade: Fixed issue whereby upgrade of Unity project could lose references to components in the UnityEngine.VR namespace. (949587)

  • UI: Fixed case of hierarchy order not representing the UI render order. (935540)

  • UI: Fixed memory leak in UI Shared Mesh. (946442)

  • Universal Windows Platform: Fixed issue that would cause input to be queued during scene load. (933341, 942733)

  • Universal Windows Platform: Fixed issue where GetApplicationFolder would return an incorrect path. (942735)

  • XR: Fix to ensure that the y-axis values reported for touchpad and thumbstick on WindowsMR match the Unity convention. (950156)

  • XR: Fixed positionAccuracy and TryGetAngularVelocity for InteractionSourcePose on WindowsMR. (949184)

LTS Release 2017.1.1f1

Released:

LTS Release 2017.1.1f1

Released:

Improvements

  • Android: Gradle - Support custom library build.gradle files. (887824)
  • DX12: Native Rendering Plugin improvements - exposed extra functionality for working with backbuffers.
  • Editor: Added editor strings (profiler, Unity remote & etc.) for 2nd gen. iPad Pro.
  • Editor: New special search filter for folder: "t:folder"
  • Linux: Print log file path before redirecting.
  • Windows Player: Improved "Oops!" crash dialog.
  • Windows: Added API to expose crash dump report path: UnityEngine.Windows.CrashReporting.

Changes

  • Editor: On Material inspector "Enable Instancing" is changed to "Enable GPU Instancing".
  • Graphics: Fix for a crash (922996 in 2017.1.0p5) has been removed. - (946068)
  • Licenses: Updated FBX license to require acceptance of FBX SDK license (https://damassets.autodesk.net/content/dam/autodesk/www/Company/docs/pdf/legal-notices-&-trademarks/Autodesk_FBX_SDK_2015_License_and_Services_Agreement.pdf).
  • Timeline: Tagged BasicPlayableBehaviour as Obsolete.

Fixes

  • 2D: Fixed an issue where adjusting Collider2D's Offset when Using Tiled Draw Mode and Auto Tiling would result in inconsistent behaviour. - (917931)
  • 2D: Fixed an issue where Sprite from the same atlas not hashed & packed correctly. - (927372)
  • 2D: Fixed an issue where the Editor became unresponsive when switching from OpenGL to Metal with a tiled sprite in the scene. - (918524)
  • 2D: Fixed an issue whereby Sprite Atlas variant would pack without an error when master was compressed with crunched. - (935388)
  • 2D: Fixed console showing error when multiple selecting asset while locking Sprite Atlas inspector and Pack. - (920773)
  • Android: [VideoPlayer] H264 video doesn't loop on HTC One (OS 4.2.2) - (925738)
  • Android: Apps no longer signed with signature scheme v2 when building for oculus.
  • Android: Buildpipe - Correctly split resources between APK and OBB when building with LZ4. - (920359)
  • Android: Fixed a development build crash on Android 4.2.2 with VideoCore GPU. - (922553)
  • Android: Fixed a Vulkan error when trying to use anisotropic filtering on Mali GPUs.
  • Android: Fixed an issue having lots of VBOs allocated even for an empty scene on Android during application startup. - (937875)
  • Android: Fixed an issue where spot and point lights were too bright on low-end devices. - (918785)
  • Android: Fixed an issue where spot and point lights were too bright on low-end devices. - (918785)
  • Android: Fixed an issue with alpha texture size in ETC1 texture compression with split alpha. - (918605)
  • Android: Fixed the issue where OBB was not available after installing from Google Play on some phones until device was restarted.
  • Android: Gradle - Do not explicitly set debuggable attribute when building with Gradle to avoid lint security warning. - (910280)
  • Android: Gradle - Handle too many errors; filter out warnings and detect too long error list.
  • Android: Gradle - Make sure unity3d and other files from raw/ are uncompressed in the APK. - (924518)
  • Android: SoftInput - Fixed the autocorrection not being disabled on Samsung phones. - (906014)
  • Android: SoftInput - Fixed the NamePhonePad flag. - (924515)
  • Animation: Fixed a crash in Animator Editor window when closing Unity. - (918033)
  • Animation: Fixed a crash in Animator Editor window when closing Unity. - (918032)
  • Animation: Fixed a crash that was caused during the assignment of an incomplete AnimatorController stored in an AssetBundle. - (927443)
  • Animation: Fixed a crash when changing number of input in AnimationLayerMixerPlayable at runtime. - (922283)
  • Animation: Fixed a crash when changing OverrideController during interrupted transition. - (928601)
  • Animation: Fixed a glitch that was causing a stuttering in the Animation curve when rotating a GameObject in the Animation window. - (930335)
  • Animation: Fixed a regression that was preventing Math symbols from being evaluated in the Animation window's input field. - (930987)
  • Animation: Fixed an issue of AnimatorState's WriteDefaults not working properly on very specific setups. - (893779)
  • Animation: Fixed an issue where the Animation events would not trigger if animation had less than two frames. - (921121)
  • Animation: Fixed an issue where the Animator's State Machine would start to flicker in Playmode if the Animator window was too small to display the active State. - (917195)
  • Animation: Fixed an issue whereby AnimatorState's WriteDefaults was not working properly on very specific setups. - (893779)
  • Animation: Fixed bad frame when changing Playable Graph during StateMachineBehaviours.
  • Animation: Fixed Generic animation layers affecting base humanoid root motion. - (928562)
  • Asset Bundles: Fixed an issue where calling LoadAllAssets with a type parameter could cause loading errors. - (930819)
  • Asset Bundles: Fixed an issue where IK float values weren't blending. - (920973)
  • Build Pipeline: Fixed an assert and potential crash when building projects with Materials or Shader Variant Collections which reference missing shaders ie deleted. - (885275)
  • Build Pipeline: Fixed an issue with enabling Split Application Binary flag in Android player settings would affect other platforms. - (919307)
  • Build Pipeline: Fixed incorrect mesh channel stripping when mesh was used as a shape emitter in particle systems. - (917568)
  • Collab: Added softlocks to project browser in single-column mode. - (918761)
  • Collab: Fixed an issue where user was not prompted to save local scene edits before updating. - (907960)
  • Collab: Fixed update, immediately cancel, update again, crash. - (923508)
  • Collaborate: Fixed an issue with the initial collaborate publish where it will continuously retry upon failure. - (932469)
  • Editor: Calculate mipmap count properly when importing NPOT textures with '-nographics'. - (925913)
  • Editor: Ensure that an asset preview is always provided. - (858928)
  • Editor: Fixed a case of "Generate Lighting" drop down menu being hidden when inspector was resized to minimal width. - (915524)
  • Editor: Fixed a crash when loading scenes created in Unity versions before 2017.1 with specific lighting setup. - (932793)
  • Editor: Fixed a performance regression that cause very long startup time when invoking a test run. - (900957)
  • Editor: Fixed an issue in the Inspector Window that prevented the 'Nothing Selected' component from being shown. - (925505)
  • Editor: Fixed in-launcher names of projects loaded via relative path. - (873823)
  • Editor: Fixed LookDev rendering issues: Frame to object feature, Initial position of prefabs in LookDev. -
  • Editor: Fixed one case of importing projects from very old Unity versions.
  • Editor: Fixed player build success notification.
  • Editor: Fixed screen capture. - (932630)
  • Editor: Fixed Security Vulnerability UNITYSEC-844-https://unity3d.com/security
  • Editor: Fixed the inability to rename a objects in the Hierarchy view if LookDev was open. - (908324)
  • GI: Fix to only show clustering view when realtime GI is on, or when baking is on with Enlighten. - (911953)
  • GI: Progressive Lightmapper: Fixed a crash in light probe rendering occurring when changing or removing probes.
  • GI: Progressive Lightmapper: Fixed an issue where alpha cutoff was not properly converting values.
  • GI: Progressive Lightmapper: Fixed an issue where auto-mode did not detect when changing material values for alpha cutoff.
  • Graphics: Changed every instance of the string "Custom Texture" to "Custom Render Texture" in menus and tooltips. - (924625)
  • Graphics: Cubemap Custom Render Texture initialization is now applied to all faces (regardless of active face update flags).
  • Graphics: Don't enable blending on unsupported pixel formats on Metal. - (920781)
  • Graphics: Ensure textures are not created with too high mip count on Metal. - (915959)
  • Graphics: Fixed "Tiled GPU perf. warning: RenderTexture color surface was not cleared/discarded doing..." in Unity when emulating OpenGL ES 2.0 or 3.0. - (909148)
  • Graphics: Fixed a crash in Custom Render Texture when switching target platforms in the Editor. - (925171)
  • Graphics: Fixed a crash on exit from fullscreen player when using OpenGLCore graphics API. - (922715)
  • Graphics: Fixed a crash when a valid Mesh had no submeshes. - (918642)
  • Graphics: Fixed a crash when adding CommandBuffers during OnPreCull callabck and visualizing occlusion data with lighting enabled. - (902870)
  • Graphics: Fixed a crash when instancing is enabled on specific Material. - (911654)
  • Graphics: Fixed a crash when using Compute Shader with very large number of thread groups i.e. greater than 500,000. - (826751)
  • Graphics: Fixed a crash when Vulkan loader was installed but no drivers were installed and Vulkan was used as the default API. - (898184)
  • Graphics: Fixed a deadlock when building lighting in Editor or during a player build. - (918993)
  • Graphics: Fixed a rare (could happen in very complex scenes) crash/hang when graphics jobs were enabled. - (918788)
  • Graphics: Fixed a rare case when shader compilation failed with error message "Failed to find parameters of a compiled D3D9 shader". - (918636)
  • Graphics: Fixed a rare crash caused by recursive rendering ie. Camera.Render() or Water rendering. - (878317)
  • Graphics: Fixed an issue where lights did not render correctly when using a camera with a RenderTexture and non-fullscreen viewport. - (910659)
  • Graphics: Fixed an issue where overlapping cameras drawing to the same target would not composite correctly. - (923842)
  • Graphics: Fixed an issue whereby Terrain not showing wireframe in shaded-wireframe mode. - (922739)
  • Graphics: Fixed an issue which after clearing occlusion data occlusion view volumes were still visible. - (911910)
  • Graphics: Fixed an occasional glitch when rendering lines/trails. - (903807)
  • Graphics: Fixed different sampling on sRGB RenderTextures compared to non-sRGB RenderTextures when in Gamma space in standalone players. - (909829)
  • Graphics: Fixed dynamic batching overwriting the vertex colour stream on untextured meshes. - (803067)
  • Graphics: Fixed GPU profiler block for Custom Texture Update.
  • Graphics: Fixed importing of single channel uint16 textures. - (909569)
  • Graphics: Fixed incorrect shadows appearing in the scene view when visualizing occlusion culling. - (694728)
  • Graphics: Fixed lighting rendering when using multiple cameras and at least one camera renders to a RenderTexture. - (903537)
  • Graphics: Fixed loading shaders in a variant collection not loading the variants from all passes which match.
  • Graphics: Fixed memory leak in Editor scene view. - (916425)
  • Graphics: Fixed memory leak in Texture2DArray and CubeMapArrayTexture. - (920547)
  • Graphics: Fixed Mesh becoming offset and scaled when accessing 'mesh' property on a MeshFilter on a static GameObject and static batching was enabled. - (733687)
  • Graphics: Fixed Nav Mesh Preview in Scene View being affected by lighting. - (913612)
  • Graphics: Fixed OpenGL debug labels when using OpenGL ES.
  • Graphics: Fixed OpenGL ES debug labels.
  • Graphics: Fixed rendering issues when using a camera with a RenderTexture and non-fullscreen viewport. - (910036)
  • Graphics: Fixed runtime crash when modifying skinned mesh and GPU Skinning is enabled. - (811757)
  • Graphics: Fixed sRGB flag returning false on the LDR target texture from a HDR to LDR image effect in a linear project. - (912603)
  • Graphics: Fixed the scale and rotation matrix on the PreviewRenderUnility Camera having no effect. - (914676)
  • Graphics: Improved line and trail rendering, when trying to display overlapping/nearby points - (848934, 827583)
  • Graphics: Rendering optimistion for GLES graphics API. - (917105)
  • IL2CPP: Fixed a crash in QueryComponentByType when animation was used with engine code stripping enabled and there was no Sprite Renderer component in any scene in the build. - (919058)
  • IL2CPP: Fixed various crashes. - (929802, 930163, 930252)
  • IL2CPP: Prevent a compilation error in the generated code for some Windows Store apps.
    • Prevent a failure during code conversion when a constrained method call is made on a volatile type.
    • Prevent a possible crash in List.AddRange. - (921467, 936096, 929802, 930163)
  • iOS: Fixed 'Stale touch detected!' error message that showed up after minimizing, re-opening an app and immediate start tapping the screen with multiple fingers. - (934901)
  • iOS: Fixed an issue where Unity would not generate icons for Spotlight and Notifications in a Xcode project. - (918406)
  • iOS: Fixed auto-rotation on ReplayKit. - (911935)
  • iOS: Fixed trampoline compilation issues for iOS 11 simulator.
  • iOS: Rewrote the internal clock system and replaced it with a system that took into account the time when the device was asleep. Also, the startup time is now calculated more accurately. - (912594)
  • iOS: Use YIELD for atomic_pause on ARM. - (938975)
  • Launcher: Fixed an issue that Web Signin would print loading error in Editor.log (with access token). - (938693)
  • Launcher: Fixed the issue where Remember me did not work when using the Web hosted sign in.
  • Launcher: Fixed the issue where Remember me did not work when using the Web hosted sign in.
  • Launcher: Fixed the launcher offline issue. - (938742)
  • Linux: Addiitonal fix for initializing screen dimensions (mouse input). - (880426)
  • Linux: Associate provided icon with player window now. - (912675)
  • Linux: Fallback to xinerama/xvidmode for video modes initialization if xrandr fails.
  • Linux: Use default player icon when none is provided. - (912675)
  • Mono: Restored the "Use micro mscorlib" stripping option for Android. - (916064)
  • Multiplayer: Fixed an issue where reliable messages exchanging had been staled after a couple of hours.
  • Multiplayer: Fixed an issue where reliable messages exchanging had been staled after couple of hours.
  • Networking: UnityWebRequest: Fixed an issues where cookies were not sent on redirect. - (832192)
  • OSX: Fixed a crash when WebCamTexture is used. - (917133)
  • Particles: Detect when a new mesh is selected in the Shape Module, and update the Scene View preview accordingly. - (900928)
  • Particles: Ensure trails are properly initialized when particles are being manipulated via script. - (899881)
  • Particles: Fixed an issue where bounding boxes were too small on some systems, causing culling problems. - (914333)
  • Particles: Fixed mesh particles becoming inverted when using render alignment- View. - (927395)
  • Particles: Fixed use of Unscaled delta time in Edit Mode. - (910018)
  • Physics: Fixed an issue where ContactPoint2D.normalImpulse and ContactPoint2D.tangentImpulse were always zero when accessing via callbacks. - (927637)
  • Platforms: Fixed a crash when '-cleanedLogFile' was passed but no log file name was given. - (859361)
  • Scripting Upgrade: Fixed a crash when System.Reflection.Emit was used to generate assemblies for the AppDomain.AssemblyResolve event. - (920772)
  • Scripting Upgrade: Fixed an exception when calling 'System.Reflection.MonoProperty.GetterAdapterFrame' on AOT platforms. - (930594)
  • Scripting Upgrade: Fixed export package window tree structure. - (934518)
  • Scripting Upgrade: Fixed memory corruption/crash after domain reload when using Assembly.Load(Byte[]). - (923165)
  • Scripting Upgrade: Improved distribution of Guid.GetHashCode(). - (930644)
  • Scripting: Fixed a crash when invoking LINQ expressions in Editor. - (920085)
  • Scripting: Fixed a potential domain reload issue in play mode when trying to validate scripts. - (926516)
  • Scripting: Fixed an issue when using SimplifyPoints and the provided array was too small.
  • Scripting: Fixed an issue where the send function from our synchronization context would fail to execute on the main thread. - (934819)
  • Scripting: Fixed managed debugger on Windows hanging when all scripts with OnAudioFilterRead have been disabled. - (918651)
  • Scripting: Fixed scripting exception being logged as Info instead of Error. - (912719)
  • Scripting: Fixed WWW class being unsafe for multiple invocations of Dispose(). - (931213)
  • Services: Fixed an issue where Performance Reporting symbol upload tool could crash. - (927884)
  • Shaders: Fixed GLSL shader compile errors due to lack of default precision specifier. - (899502)
  • Shaders: Vulkan - Fixed a rare incorrect shader generation on expressions with write masks. - (908903)
  • Terrain: Fixed a crash that could happen when you have a very large number of terrains with SpeedTree trees on them. - (929987)
  • Terrain: Fixed an issue where error messages about JobTempAlloc would appear in player output log if trees were used on a terrain. - (898262)
  • Timeline: Fixed a crash when using Timeline with a MacOS player. - (926710)
  • Timeline: Fixed inconsistencies in root motion position between Editor and Player. - (926701)
  • Timeline: Fixed root motion on humanoid characters when there were no base animation clips. - (934535)
  • Timeline: Fixed View Settings in Timeline getting reset when going into Play Mode. - (923506)
  • Timeline: Rebuild Graph performances improvements.
    • Preventing clips from drawing outside of the visible area.
  • UI: Fixed memory leaks caused by unreleased Meshs in the UI Profiler. - (912789)
  • UI: GraphicRaycaster and EventSystem performance improvements. - (934842)
  • UI: InputField - For Name content type, use NamePhonePad touch screen keyboard type - (924515)
  • UI: Sprite Atlas variant will display correct on Image component. - (935390)
  • Universal Windows Platform: Fixed building generated UWP projects with Visual Studio 2017.3 when using .NET scripting backend.
  • UWP: Fixed the issue where locking the mouse in UWP player would cause wrong values returned from Input.GetAxis() on the next Update. - (911008)
  • Video: Fixed MovieTexture support for Metal. - (911115)
  • WebGL: Fixed compilation crashing with node on windows 7 64 bits. - (929988)
  • WebGL: Fixed Corrupted Sprites on MS Edge. - (904449)
  • WebGL: Fixed Corrupted Sprites on MS Edge. - (904449)
  • Windows: Crash dumps are written to users' Persistent Data Path, resolving an issue where installing Unity games to Program Files caused crash dumps to fail. - (928646)
  • WWW: Return null from WWW.error if there's no error, now. This was causing issues in Android when attempting to display information fetched from Facebook. - (934502)
  • XR: Added missing Editor icons for world anchor, spatial mapping, touch input, and audio spatialization components. - (857023)
  • XR: Added VRUsage parameter to GetTemporary(). This fixes an issue with blitting to a temporary renderTexture. - (918634)
  • XR: Fixed an issue where stereo Convergence setting had no actual impact. - (923806)

Revision: 5d30cf096e79

LTS Release 2017.1.0f3

Released:

LTS Release 2017.1.0f3

Released:

2017.1.0f3 Release Notes (Full, diff from f2 at end)

Known Issues

  • Audio: On Windows, AudioSource attached to VideoPlayer produces choppy sound when game iterations are overrunning. Will be fixed in future Unity release. (895458)
  • GI: Lit clustering debug visualization does not show (to be fixed in patch) (911953)
  • xR: Rendering problems on Pixel Daydream when using 4x or 8x MSAA with single-pass stereo. This is due to driver issues, so the problem will be addressed via a driver update, independently of Unity releases.

Features

  • 2D: Added Sprite Physics Shape to Sprite Editor, to allow users to set a custom default shape for a Sprite for generating collider shapes with a PolygonCollider2D.
  • 2D: Introduced 2D Sprite Atlas, a new asset that will supplant the Sprite Packer. With it comes new and improved workflows that gives the developer more control on how to pack sprites and use them at runtime. description
  • 2D: Sprite Mask. Mask Sprites in world space using the new SpriteMask component. description
  • Animation: Manual Keyframing Workflow. Separate Recording and Preview modes in the Animation Window. Contextual menus added to all animatable properties in the inspector.
  • Animation: New GameObjectRecorder in UnityEditor.Experimental.Animations description
  • Audio: Added support for ambisonic audio clips and ambisonic decoder plugins.
  • Audio: Timeline Editor Audio Track support. Audio clips are now enabled in Timeline, using a scheduling API.
  • Build Pipeline: The Asset Bundle Browser comes out of beta with Unity 2017.1. This tool enables the user to view and edit the configuration of Asset Bundles for their Unity project. It is intended to replace the current workflow of selecting assets and setting their Asset Bundle manually in the inspector. description
  • Collab: In-Progress. In-Progress allows developers using Unity Collaborate to see who else on their team has made local changes to a Scene or Prefab before those changes have been published. description
  • Editor: Added new ArcHandle class in UnityEditor.IMGUI.Controls to interactively edit arcs in the Scene View. description
  • Editor: Experimental feature : retained-mode UI system for the Editor (UI Elements)
  • GI: Added support for baked LODs in Progressive Lightmapper
  • GI: Support for double sided materials in Progressive Lightmapper. Added a new material setting that causes lighting to interact with backfaces. When enabled, both sides of the geometry get accounted for when calculating Global Illumination. Backfaces do not count as invalid when seen from other objects. Backface rendering is not controlled by this setting nor will backfaces be represented in the lightmaps. Backfaces bounce light using the same emission and albedo as frontfaces.
  • Graphics: Added Custom Render Texture asset. A Custom Render Texture is a new type of Render Texture that can be easily updated with a shader. It provides a user interface and a scripting framework. description
  • Graphics: Added LineUtility class and 'LineRenderer.Simplify' function. Optimize your lines and curves by using the LineUtility to create a simplified version with a similar shape.
  • Graphics: Added partial update/readback of compute buffers
  • Graphics: The latest version of the Post-processing stack is available in beta. This new version offers improved effects and a complete framework for custom effects. It also comes with a volume-based blending feature, so you can define areas in the scene and set up specific looks when the player enters them. Unity will automatically blend between volumes to allow for smooth look transitions. Final release is expected this summer.
  • Graphics: Updated Splash screen logo and style
  • IMGUI: Added SearchField, a new IMGUI Control. It comes with Normal and Toolbar UI styles but can also be customized.
  • Input: Added new Player Settings property 'Input Manager' for enabling backend of new input system preview feature. The front-end is supplied separately and is not included with the release.
  • iOS: Enable deferred shading rendering path for Metal and OpenGL ES 3.0 for A8 and later iOS devices.
  • Particles: Added support for using Sprites in the Particle System, via the Texture Sheet Animation Module description
  • Particles: Apply Noise Module data to particles sizes and rotations, and also send the noise data to your shaders via new Custom Vertex Streams. description description
  • Particles: New Donut emission shape. description
  • Playables: Playable Assets added to Playable API.
  • Playables: Playable Director added to play Playable Assets
  • Playables: Timeline Editor and Runtime API. A tool for sequencing animation, scripts and audio. description
  • Scripting: Experimental support for new scripting runtime. This includes Mono 4.8 and IL2CPP with support for C# 6 and .NET 4.6 description
  • Shaders: Added support for "inline" sampler states.
    • HLSL SamplerState objects that aren't taking sampling state from any texture (like what "sampler"+TextureName samplers do), but where sampling state is instead derived from the name.
    • For example, "MyLinearClampSampler" sets up bilinear filtering and clamp wrap mode; while "point_repeat_sampler" sets up point filtering and repeat wrap mode.
    • This allows e.g. doing both PCF depth comparison and reading raw depth value from a shadow map in a single shader.
    • Note that generally only modern graphics APIs support separate textures & samplers. You might therefore want to specify #pragma target 3.5 or similar in your shaders for this.
    • Implemented on DX11, DX12, PS4, XB1, Metal (Vulkan not yet).
  • Windows: Multi-display support for UWP.

Changes

  • Asset Import: Upgraded FBX SDK to 2016.1.2
  • Build Pipeline: Added new function SwitchActiveBuildTargetAsync. This defers switching so that scripts can be imported first.
  • Build Pipeline: Event EditorBuildSettings.activeBuildTargetChanged has been deprecated as events do not survive script reloading. Replaced with interface class IActiveBuildTargetChanged and attribute ActiveBuildTargetChanged.
  • Editor: 2017 Editor now needs a new version of license. Subscription key will be upgraded. 5.x license key will not be accepted by 2017 Editor.
  • Editor: Added new GameObject sub menu - 'GameObject/Effects/. This menu includes a Line andTrail creation. The particle system has also been moved to this menu.
  • Editor: Added requirement for Visual C++ Runtime 2013 and 2015 to be installed when installing Windows Editor (i.e. the check is performed by Windows Editor installer).
  • Editor: AssetServer version control support has been removed from the editor.
  • Editor: Moved particle system rigidbody info message to top of the system as it does not just apply to inherit velocity
  • Editor: New projects now default to text-based serialization
  • Editor: Particle trail material slot is now always visible even if it is not used.
  • Editor: RenderDoc enabled for DX12 Editor mode.
  • Light modes: Shadowmask and Distance shadowmask modes are now a Quality Setting and can be changed at runtime.
  • OSX: Disabled Metal on macOS 10.12.2 and 10.12.3 for stability reasons if GLCore is also present in API list
  • Universal Windows Platform: DX11 feature level 9.3 GPU support is required now. In practice this probably does not affect anything, as all Windows Phones that ever existed support 9.3 level already.
  • Universal Windows Platform: Removed support for building Windows 8.1 and Windows Phone 8.1 applications.
  • VR: Added OpenVR to the default PC VR SDK list. The default behavior is to try initializing Oculus first, followed by OpenVR if an Oculus device isn't detected.
  • VR: GPU skinning can be enabled for Android VR. This is experimental, and behavior and performance should be verified on target devices.
  • VR: Updated Google NDK for Android and iOS to 1.40
  • Windows: "Visible In Background" player setting now defaults to on.
  • Windows: Renamed "Windows Store" to "Universal Windows Platform"

Improvements

  • Android: Add default equals, hashCode and toString implementations to AndroidJavaProxy
  • Android: Apk files are now signed using the new APK Signature Scheme v2.
  • Android: OBB compatibility is now done using build id rather than a hash of the OBB file
  • Animation: Statemachinebehaviour can now be debugged in play mode in the editor
  • Asset Import: Added ability to import visibility from FBX files to ModelImporter
  • Asset Import: Added the option of computing weighted normals when importing FBX files. Fixed normal generation for hard edges.
  • Asset Import: Changing tabs in the Model Importer inspector does not force users to apply changes anymore
  • Asset Import: Reduced the import time for FBX assets with humanoid animations
  • Asset Import: Support Segment Scale Compensate for models exported from Maya.
  • Asset Pipeline: Enabled asynchronous texture uploading from non-scene Asset Bundles on all platforms
  • Asset Pipeline: In batchmode the FailedAssetImports.txt file is now ignored because there's no way to cancel or notify the user when the asset importer fails.
  • Build Pipeline: Added delegates to BuildPlayerWindow that allow overriding the default Build button behavior
  • Build Pipeline: Scripts-only build is now available on all platforms.
  • Build Pipeline: Unified assembly stripping code used for IL2CPP and Mono builds - which should result in more consistent behaviour between IL2CPP and Mono and in smaller build sizes for platforms supporting assembly stripping on Mono.
  • Collab: Project Browser Filters including 'All Modified', 'All Excluded', 'All Conflicts', 'All In Progress' description
  • Collab: Right Click Menu Options in the Project Browser including See Differences, Revert, Conflict Resolution description description
  • Editor: Added "Called From" and "Calls To" view to the Hierarchy View of Profiler Window.
  • Editor: Added a pre-drop style to particle system Object fields so it highlights if something can be dropped.
  • Editor: Added callbacks for assembly reload events: two events are dispatched: one before and one after reloading all assemblies. See: class AssemblyReloadEvents.
  • Editor: Added profiler labels to all player loop stages
  • Editor: Defines in mcs.rsp are added to .csproj files generated for MonoDevelop, Xamarin Studio, Visual Studio Code & JetBrains Rider
  • Editor: DX12 Editor is more responsive and little bit faster.
  • Editor: Improvements to Package Export loading state
  • Editor: Log messages from connected players will now show in Editor console for easier debugging.
  • Editor: macOS: Show Visual Studio for Mac in External Script Editor Lists if installed in default "/Applications/Visual Studio.app/" location
  • Editor: MacOS: Support Visual Studio for Mac as an External Script Editor. Opens .sln (solution) file when double clicking a script.
  • Editor: Scripts willl be opened correctly in JetBrains Rider when selecting it as external script editor.
  • Editor: Simplify dragging code setup: Getting rid of the requirement of setting DragAndDrop.objectReferences = new UnityEngine.Object[] {} when using DragAndDrop.SetGenericData()
  • GI: Support for per object cast and receive shadows in the Progressive Lightmapper. For Cast Shadows only On and Off options are supported.
  • GI: Upgrade Enlighten SDK to version 3.08p1
  • Graphics: Added a batch break cause (material disables instancing) to Frame Debugger.
  • Graphics: Added a new surface shader option "dithercrossfade", generating the screen-door dithering effect code automatically for being used in LOD cross-fade mode.
  • Graphics: Added memoryless mode to RenderTexture, accessed through new property RenderTexture.memorylessMode.
  • Graphics: Added Mirror and MirrorOnce texture wrapping modes, in addition to existing Repeat and Clamp ones.
  • Graphics: Added new default material for trails. 'Default-Trail'
  • Graphics: Frame Debugger is now capable of showing array shader properties.
  • Graphics: Optimized conversions between float32 and float16 image formats on Editor for a x2 to x4 performance improvement.
  • Graphics: Texture wrapping modes can be set separately on each U,V,W axis.
  • Graphics: The default names for Graphics Quality Levels have been changed to be a little clearer, and more in line with what is common across other games. This will only affect newly created projects; existing projects will have the same Quality Level names as before (though, as always, you can edit the names via Edit -> Project Settings -> Quality).
  • Graphics: Unity can now accept and use a pointer to an externally created cubemap
  • IL2CPP: Improved IL2CPP code conversion time on OSX. Conversion times may improve by as much as 2x.
  • iOS: Added support for Watch apps and Watch app extensions in the Xcode extension API.
  • Mobile: Added TouchScreenKeyboardType.Social and TouchScreenKeyboardType.Search for iOS/tvOS, Android, WindowsPhone and Tizen platforms.
  • OSX: Added Appstore category field to player settings and improved info.plist generation
  • OSX: Added support for loading the first scene asynchronously when showing the splash screen.
  • OSX: Metal: [MTLDevice recommendedMaxWorkingSetSize] is now used to query VRAM size when available.
  • Particles: Added edit modes for Particle system collision mode planes.
  • Particles: Align Particles to their velocity direction description
  • Particles: Allow Emit over Distance to be used for Local Space systems description
  • Particles: Allow users to disable the use-rigid-body physics functionality
  • Particles: Edge emission is now more flexible, allowing you to choose the thickness of the edge used for generating particles.
  • Particles: Improved particle system culling mode supported tooltip messages. These now contain more details on why the culling mode is unsupported.
  • Particles: It is now possible to animate both the min and max constants, when using Random Between 2 Constants mode.
  • Particles: Mesh particles now support the same Render Alignment options are billboarded particles
  • Particles: Particles can now apply forces to the Colliders they hit description description
  • Particles: Play Particle Systems when your game is paused, by choosing to use either Scaled or Unscaled time for the simulation.
  • Particles: Randomize the spawn positions of particles, with a new option in the Shape Module. description
  • Particles: Scene lighting can now affect Lines and Trails.
  • Particles: The Shape Module now contains an additional Transform, for applying custom transformations to the emitter shape.
  • Particles: The speed range of a Particle System is now displayed in the Scene View GUI, when previewing a Particle System.
  • Physics: Add ability to manually simulate 2D physics using "Physics2D.Simulate(time)" and turn auto simulation on/off with "Physics2D.autoSimulation=true/false".
  • Physics: Expose Physics.Simulate and Physics.autoSimulation. This allows stepping the physics simulation manually, from scripts. Useful for customising the server-side physics, in-editor simulation, and more.
  • Physics: When setting 'Rigidbody2D.simulated' to false, Editor inspector shows information about its effect.
  • SamsungTV: UnityWebRequest is now supported on SamsungTV
  • Shaders: Optimized game data build time for shaders with massive ("millions or billions") potential variant counts. Fixed shader inspector popup menu to display variant counts larger than 2 billion properly.
  • Shaders: Pass platform caps keyword defines to compute shaders
  • Shaders: SystemInfo.graphicsShaderLevel now reports more accurate shader models that better match shader #pragma target levels (now can report values 25, 35, 45, 46).
  • Shadows: Improved shadow culling for stable fit directional shadows.
  • Shadows: Improved shadow filtering for directional and spot lights.
  • UI: Added support for selecting multiple files in the "Assets/Import New Asset..." dialog, on all platforms
  • Universal Windows Platform: Unity player binaries are now signed.
  • VR: Updated to Oculus version 1.14
  • Web: (Also mentioned under API Changes) UnityWebRequest now has built-in support for downloading MovieTexture on platforms that do support it. A new helper class WebRequestMultimedia has been introduced for simple download of MovieTexture or AudioClip. WebRequest.GetAudioClip() has been deprecated in favor of WebRequestMultimedia.GetAudioClip().
  • Web: It is now allowed to override User-Agent header in UnityWebRequest

API Changes

  • Animation: AnimationLayerMixerPlayable scripting API added.
  • Area: Description (FogBugz ID)
  • Asset Import: Added ModelImporter.extraUserProperties
  • Asset Import: Added ModelImporter.importVisibility
  • Asset Pipeline: Added methods AssetBundle.GetAllLoadedAssetBundles and AssetBundle.UnloadAllAssetBundles. (920140)
  • Build Pipeline: Added delegates to BuildPlayerWindow that allow overriding the default Build button behavior
  • Editor: ArcHandle.radius can now be negative
  • Editor: PrimitiveBoundsHandle and subclass constructors no longer require a control ID hint
  • Editor: Removed unnecessary ArcHandle constructor taking a control ID hint
  • GI: Added new API for setting Light falloff per Light. Added API for setting all Lights to use physically correct inverse squared falloff or the Unity legacy falloff model. Only used for Enlighten lightmaps so far, realtime and progressive will be supported later.
  • Graphics: Added RenderTextureDescriptor struct that allows you to copy and create RenderTextures by passing a single value.
  • iOS: Added API to change iOS splashscreens.
  • iOS: iOSStatusBarStyle.BlackOpaque and iOSStatusBarStyle.BlackTranslucent are obsolete use iOSStatusBarStyle.LightContent instead (894136)
  • Light modes: Added QualitySettings.shadowmaskMode
  • Physics: Added 'Joint2D.attachedRigidbody' property to retrieve the Rigidbody2D attached to the Joint2D.
  • Physics: Exposed Joint.massScale & Joint.connectedMassScale. This allows adjusting masses and inertia tensors of the connected bodies as perceived by the solver. It's mostly useful for ragdolls that have high forces applied to their limbs and thus experiencing unpleasant stretchiness. This should also help avoiding setting the same mass for all the body parts of a ragdoll, as recommended before. See more in the API docs.
  • Playables: - Changed C# Playable classes to structures: new and better approach for the API, it uses less memory and is in line with the future job system.
    • Remove properties in favor of getters and setters: since we're using class extensions that can't have properties, we decided to only use methods to have a consistent API (i.e. not properties there and methods here just because reasons).
    • Rename ScriptPlayableData to PlayableBehaviour: the PlayableBehaviour is the user side of the ScriptPlayable, it is where the user puts its logic.
    • Documentation is in progress expect a better one in a few weeks.
  • Playables: Moved Playable out of Experimental namespace.
  • Playables: New method PlayableGraph.IsPlaying()
  • Playables: Renamed PlayableGraph.Connect() parameters for clarity
  • Scripting: Add serialization support for unsafe fixed size buffers. See SerializedProperty.GetFixedBufferElementAtIndex docs for example code.
  • Scripting: Made GameObject.CalculateBounds() internal after it was accidentally made public in the 2017.1 beta cycle. This API is in the wrong place and will be moved/removed entirely in a future release
  • Scripting: Rename to Debug.logger to Debug.unityLogger (852000)
  • UI: Change isPaused to isFocused to better represent what it is. Only Effects 2017.1 betas
  • Web: (Also mentioned under Changes/Improvements) UnityWebRequest now has built-in support for downloading MovieTexture on platforms that do support it. A new helper class WebRequestMultimedia has been introduced for simple download of MovieTexture or AudioClip. WebRequest.GetAudioClip() has been deprecated in favor of WebRequestMultimedia.GetAudioClip().
  • Web: A new UnityWebRequest.timeout property that gives the user some coarse-grain control over the time a webrequest can take before unity attempts to cancel it.
  • Web: Added timeout property to UnityWebRequest. (823903)
  • Web: Moved UnityWebRequest.GetTexture() to UnityWebRequestTexture.GetTexture().

Fixes

  • 2D: A quad mesh will be generated when generating Sprite from a blank texture. (890845)
  • 2D: Add back POT option when in TextureImporter for Sprites (884926)
  • 2D: Fix "Register Undo object is not a ScriptableObject" error message when editing Sprite in SpriteEditorWindow after entering and exit PlayMode (900436)
  • 2D: Fix NullReferenceException error when entering PlayMode with SpriteEditorWindow opened (900419)
  • 2D: Fix occasional crash when SpriteRenderer.size is set multiple times in a single frame (898946)
  • 2D: Fix Sprite UV not updated when data is copied via EditorUtility.CopySerialized (884970)
  • 2D: Fix SpriteRenderer not rendering Sprite in TileMode when mesh generation exceeds max vertex limit (888884)
  • 2D: Rephrase warning message to include Sprite generated in PolygonMode in SpriteRenderer when TileMode is set (889106)
  • AI: Add missing API for minimum region area when building navmesh using the runtime API. (906017)
  • AI: Fix for NavMesh.SamplePosition returning inconsistent position depending on slope and tessellation of the navmesh (702030)
  • AI: Fix internal limitation of slope maximum of 60 degrees when building navmesh using the runtime API. (906012)
  • AI: Fix issue where carving obstacles could create wrongly shaped holes on navmesh instances of arbitrary rotation. (902956)
  • AI: Fix issue where the NavMeshAgent would sometimes jitter when moving over a navmesh that has been carved by obstacles (886529)
  • AI: Fix missing support for triangulating navmesh instances with arbitrary rotation. (886302)
  • AI: Fix occasional inconsistent carving near tile boundaries (833089)
  • AI: Fix rare truncation of paths - making the NavMeshAgent oscillate instead of completing movement. (908027)
  • AI: Fix regression where a NavMeshAgent with 'autoTraverseOffMeshLink' set to false would not move freely. (905621)
  • AI: Fixed a crash happening when Warp() is called many times for a NavMeshAgent. (904910)
  • Android: Fix crash when playing non-existing webcam texture (912742)
  • Android: SoftInput - Disable suggestions when autocorrect is false to make the behavior consistent with iOS (906014)
  • Animation: Animator.Rebind should reset AnimatorController ( for backward compatibility's sake. (899553)
  • Animation: Clarified documentation on Translation DoF settings for Humanoids (847234)
  • Animation: Display "Update reference clips" button for Generic rig too (871684)
  • Animation: Fixed "Key Modified" hotkey in the animation window that did not add keys for Euler Angles (Quaternion) and Quaternion interpolations (898957)
  • Animation: Fixed a bug where AnimationClipPlayables connected after the first frame never played
  • Animation: Fixed adding State/StateMachines with invalid names. (882122)
  • Animation: Fixed an issue where Optimize Game Objects would cause invalid scale being applied with some animations (879368)
  • Animation: Fixed an issue where previewing animations with an exit time of zero would prevent the previewer from showing (883536)
  • Animation: Fixed an issue where results were incorrect when the only layer of a state machine was set to additive (862998)
  • Animation: Fixed an issue where the Rig importer Mask's transform list was populated even though the definition was set to None (874995)
  • Animation: Fixed animation event remaining selected when clicking on dopesheet. (899032)
  • Animation: Fixed Animator being frozen when modifying Controller when in PlayMode with disabled Animator (894617)
  • Animation: Fixed Audio Source nested curve editor getting stuck while dragging keys. (881723)
  • Animation: Fixed crash in AnimatorLayerMixerPlayable when initializing a mixer with non-connected input
  • Animation: Fixed crash when deoptimizing optimized game object hierarchy containing nested skinned mesh renderer hierarchies (895840)
  • Animation: Fixed crash when disabling GameObject in OnStateMachineExit. (912808)
  • Animation: Fixed crash when moving StateMachine into SubStateMachine (875068)
  • Animation: Fixed crash when previewing empty clips (909671)
  • Animation: Fixed crash when saving while transition previewer is running (910640)
  • Animation: Fixed disabled Animator affecting scene objects (901268)
  • Animation: Fixed error message when undoing key edit of standalone animation clip asset in animation window (898963)
  • Animation: Fixed game object selection loss issues in the animation window
  • Animation: Fixed Interrupted transition and Write defaults. (903556)
  • Animation: Fixed missing keyboard focus on animation window property fields. (879985)
  • Animation: Fixed out of sync linear tangents when editing a curve in the curve editor. (881861)
  • Animation: Fixed performance issue with GetLayerWeight.
  • Animation: Fixed selection box display issue in the animation event timeline of the animation window (899010)
  • Animation: Fixed standalone curve editor window association to its serialized property. (860540)
  • Animation: Fixed Transition previewer playhead's getting desynced (871160)
  • Animation: Performance optmization with complex blendtrees.
  • Animation: Proper deprecation of Animator.Stop() (903787)
  • Asset Import: Fix incorrect Animation help bubble in ModelImporter UI when Animation Type is None (899008)
  • Asset Import: Fix issue with strings sometimes having the wrong value when importing a binary package and editor serialization is set to Force Text. (857486)
  • Asset Import: Mesh importer now displays an error for invalid polygons that cannot be triangulated without introducing a new vertex. (677375)
  • Asset Pipeline: Fixed import failure when FBX take name contained invalid characters. (873720)
  • Build Pipeline: Fix crash when building a scenes containing any long chains of connected objects (865522)
  • Build Pipeline: Fix issue where the the icon of an OSX standalone player can be corrupted under certain circumstances (815319)
  • Build Pipeline: Fixed asset bundle loading issue causing the error "The referenced script on this Behavior is missing!" under certain circumstances (905561)
  • Build Pipeline: Fixed asset bundle statistics that are printed to the editor log when building bundles (890644)
  • Build Pipeline: Fixed issue where the selected build target wasn't being changed on projects created from command line. This affected changes made to player settings via scripts in these projects. (901407)
  • DX12: Behaviour of the VFACE semantic now consistent on DX12 with the editor and other platforms (895474)
  • Editor: Added graceful handling if the Unity shader compiler socket times out whilst compiling shaders. The Unity shader compiler process is terminated and a new Unity shader compiler process is spawned. (900500)
  • Editor: Added missing component icons for the HoloLens WorldAnchor, SpatialMappingRenderer, SpatialMappingCollider, InputModule, and AudioSpatializer (858525, 858531, 858530, 858522, 905399)
  • Editor: Don't ignore remote input if gameview is out of focus (911082)
  • Editor: Fix crash when calling EditorSceneManager.NewScene in a DidReloadScripts callback (891856)
  • Editor: Fix focused Game View not always receiving input (macOS) (895460)
  • Editor: Fix gameobject set to HideInHierarchy and moved to DontDestroyOnLoad scene made the scene header show in the Hierarcy Window; with no objects (893148)
  • Editor: Fix issue with "Type Mismatch" error not always showing in inspector when changing an object type from a game object to a component (837920)
  • Editor: Fix recursive rendering error with Package export window when Verified Save Assets is enabled (820395)
  • Editor: Fix repeated duplication of object being undone together if modifier key is not released (Windows) (877421)
  • Editor: Fix transform precision issue when moving multiple objects. (907854)
  • Editor: Fix vertex snapping having inconsistent accuracy at different zoom levels (738371)
  • Editor: Fix: 'Enum not handled' error message when selecting game objects while some of them are expanded (875406)
  • Editor: Fix: Hierarchy will properly animate foldouts when using custom hierarchy drawers (885708)
  • Editor: Fix: Missing scripts are now titled "Nothing Selected" and enabling them throws ArgumentNullException (900631)
  • Editor: Fix: project browser view is in sync when duplicating folders (875831)
  • Editor: Fix: Rect transform updates properly when manipulating it's parent rect transform (856034)
  • Editor: Fix: Selecting different types of elements not being displayed in inspector and throwing errors (899307)
  • Editor: Fix: the player settings' package name is properly updated when focusing another window (879071)
  • Editor: Fixed 1-dimensional sphere bounds handle had no wireframe representation (also being back ported to 5.6)
  • Editor: Fixed a bug where EditorGUIUtility.SetIconSize would affect already rendered GUI. (913018)
  • Editor: Fixed a crash in Editor caused by null Handles. Graphics.DrawMeshNow will now throw an exception if the mesh is null. (893112)
  • Editor: Fixed an issue that prevented the user from reordering the scenes in the build settings window (874335)
  • Editor: Fixed an issue where locking the Inspector on subscene objects causes their disappearance, coupled with a group of 'Failed to unpersist' error messages. (874301)
  • Editor: Fixed an issue where the Game View would render without vsync regardless of player settings (macOS OpenGL) (901973)
  • Editor: Fixed an offline upgrade license issue (924763)
  • Editor: Fixed bug in progress bar code, which caused Build&Run to crash during sprite packing (907145)
  • Editor: Fixed bug introduced in 5.6.0f3 that broke holding alt to pin center of PrimitiveBoundsHandle (affects edit modes for BoxCollider, CapsuleCollider, BoxCollider2D, CapsuleCollider2D, etc.); also back ported to 5.6.0p4
  • Editor: Fixed bug with CapsuleCollider and CapsuleCollider2D edit mode where some control handles could appear incorrect when multi-editing
  • Editor: Fixed case of errors spamming the console when taking detailed memory sample of 32 bit player. (886135)
  • Editor: Fixed case of Handles.PositionHandle() throwing NullReferenceException when no SceneView is in the current editor layout. (874248)
  • Editor: Fixed Copying color from component throws NullReferenceException (904723)
  • Editor: Fixed crash when using the SavePanel path bar on Windows. (839912)
  • Editor: Fixed crash whilst reloading scene(s) after using version control merge and resolve operations. (876733)
  • Editor: Fixed erroneous IMGUI clipping with non-trivial GUI.matrix (896013)
  • Editor: Fixed HDR Color Picker to preserve alpha when changing brightness field. (883476)
  • Editor: Fixed incorrect placement of BoxCollider2D manipulator in scene view when using composite (916455)
  • Editor: Fixed issue where play mode wouldn't maximize if a curve editor window was on an object in the hierarchy (921114)
  • Editor: Fixed low Normals quality issue with low mesh compression settings. (709609)
  • Editor: Fixed NullReferenceException when cancelling file browser after a popup prompt (874140)
  • Editor: Fixed NullReferenceException when deleting the last remaining quality setting (also being back ported to 5.6) (903620)
  • Editor: Fixed PrimitiveBoundsHandle.DrawHandle() not resetting Handles.color if alt-clicking to rotate camera (also being back ported to 5.6)
  • Editor: Fixed SerializedObject.maxArraySizeForMultiEditing not being respected when using default property drawer (also being back ported to 5.6) (817640)
  • Editor: Optimize log entry insertion (862257)
  • Editor: Reset global handle direction when changing tool using toolbar buttons (864054)
  • Editor: Show single info message instead of multiple errors messages when there's an issue loading a layout (825848)
  • Editor: Version Control System: More detailed reasons why Perforce connection failed ie incorrect server, username, password, workspace.
  • Editor: Version Control System: Set default version control log level to be "Notice" instead of "Info" to reduce log spam. (873454)
  • Editor: Version Control Sytstem: Added provider name and failure reason to error messages about failed connections to make it clearer what has failed. (873396)
  • GI: Fixed light being considered in shadow range even though it's fully culled away. (888704)
  • GI: GI Scene Modes Not Fetching Visualization Data After Quitting Play Mode. (849063)
  • GI: Light sources incorrectly identified as realtime when in Auto mode. (815031)
  • GI: LoadLevelAdditive loads baked lighting as (no GI) realtime if it was baked using Auto. (709362)
  • GI: Progressive lightmapper now honors GraphicsSettings.LightsUseLinearIntensity.
  • GI: Support quads in progressive lightmapper (890651)
  • Graphics: Clarify when shadow cascade parameters are set in regard to command buffer (818448)
  • Graphics: ComputeScreenSpaceShadowMap after first initialization of s_CollectMaterial never returns NULL, which may create inconsistent behavior after startup. Now returns NULL if screenspace shadows are disabled. (767050)
  • Graphics: Display an error message and disallow subregion copying of a depth-stencil texture. (883393)
  • Graphics: Fix assertion when setting updateWhenOffscreen on a disabled SkinnedMeshRenderer (912722)
  • Graphics: Fix Editor crash by ensuring the camera and camera stack are valid after a PreCull message. (876867)
  • Graphics: Fix grid rendering incorrectly in the Animation Preview window. (903454)
  • Graphics: Fix incorrect warning about using instancing and static batching simultaneously.
  • Graphics: Fix looping line discontinuity (904622)
  • Graphics: Fixed crash trying to use a compute buffer which failed to be created. (886290)
  • Graphics: Fixed crash when Unity loses focus caused by a camera being removed whilst it is being rendered. (869109)
  • Graphics: Fixed flickering game view window when resizing the window. (880788)
  • Graphics: Fixed instancing mesh sorting when custom properties are set on renderers.
  • Graphics: Fixed metal editor game view resize leak (918940)
  • Graphics: Fixed metal editor shader warmup (916950)
  • Graphics: Fixed render target becoming white or black on stop if set to don't clear. (884057)
  • Graphics: Increased batching limits to 65,000 vertices. (810600)
  • Graphics: Make sure wrap modes are valid before setting them on a texture to fix assert message spam "Assertion failed on expression: 'translated != kInvalidEnum'" (883459)
  • Graphics: Re-generate real-time Reflection Probe cubemap when screen resolution is changed. (868638)
  • Graphics: Removing support for screenspace shadow shader when it should be used based on tier settings will deactive directional shadow for consistency (867797)
  • Graphics: Throw an exception if script tries to set a random write target texture and the texture does not have random write enabled.
  • IMGUI: Fixed an issue where buttons were not working in the Save Asset Dialog. (909021)
  • iOS: Fix to hide the status bar while playing movies with CancelOnInput or Hidden modes. (871989)
  • iOS: Metal: Fixed unnecessary half to float casts in generated shaders (898788)
  • iOS: Removed deprecated calls to wantsFullScreenLayout. Status bar stype option values updated. (894136)
  • iOS: Removed extra notification sent on application launch (875180)
  • iOS: UnityEngine.iOS.Device.SetNoBackupFlag can now be called from background threads. (851113)
  • Kernel: Fixed log message filtering for LogType.Exception. (820286)
  • Kernel: Fixed Mathf.PingPong and Mathf.Repeat returning negatives values for some specific value (861278)
  • Multiplayer: Added better error messages when processing a non-valid state in weaver (875195)
  • Multiplayer: Fix issue with network transport host being removed with invalid host id, when using custom network connection (NetworkConnection override) (881764)
  • Multiplayer: Fix issue with NetworkAnimator not updating parameters (related to local player authority) (779549)
  • Multiplayer: Fix max events flood protection in network client
  • Multiplayer: Fix problem with cleaning/resetting network identities in disabled objects, in the network manager (881743)
  • OSX: Fixed crash caused by quick open/close of GUIWindows. (884145)
  • OSX: Fixed RenderTexture being destroyed with standalone built on resizing the window (893036)
  • OSX: Fix for Apple filesystem (APFS) compatibility
  • Particles: Align to Direction now works for Mesh particles. (864493)
  • Particles: Disable/re-enable of Particle System GameObject now causes it to successfully restart previewing. (767489)
  • Particles: Fix another "Invalid AABB error" (903805)
  • Particles: Fixed all 3 curves(x,y,z) being added to the Particle System curve editor when switching to curve state and only in single axis mode (855588)
  • Particles: Fixed curves with loop or ping pong wrap modes being incorrectly converted into poly curves and thus causing asserts.
  • Particles: Fixed module curves being shown in curve editor after the module was disabled due to an undo operation (861424)
  • Particles: Inspector now refreshes when changing MinMaxCurve types from script. (788240)
  • Particles: Particle system culling was not working until it was rendered at least once (680242)
  • Particles: Particle system is no longer cleared if procedural emission buffer contains items. (801335)
  • Particles: Particle trails could render with graphical corruption when used on Sub-Emitters (895376)
  • Particles: Removing a ParticleSystem on a GameObject that has a component with RequireComponent(Renderer) is now correctly prevented. (888048)
  • Particles: Reset Component option is now fully working for Particle Systems. (715605)
  • Particles: Scripted Play/Stop/Simulate etc generate no garbage, and handle sub-emitters correctly. (856840)
  • Particles: Size over lifetime now correctly affects collider size, and sub-emitter inheritance. (792289)
  • Particles: The Pivot offset used for Stretched Particles was incorrect along the X axis. (830382)
  • Particles: Velocity and Force modules now apply scale correctly when using World Space mode. (874051)
  • Physics: Fix a crash that happened when continuously scaling a MeshCollider while activating and deactivating it at the same time (878740)
  • Physics: Fix a crash that happened when more than 262143 colliders were created. This is not supported by PhysX and we won't be creating colliders once this limit is reached. (872785)
  • Physics: Fix a crash that happened when scaling a mesh that PhysX failed to cook properly (think a convex MeshCollider with too many vertices). (892396)
  • Physics: Fix a crash updating active skinned meshes. (845868)
  • Physics: Fix a rare crash that occured when a solver batch was indexed incorrectly (PxsSolverSetupSolveTask was reported in the callstack) (874515)
  • Physics: Fix for crash when repeatedly unloading/loading cloth on XBox One and PS4. (909248)
  • Physics: Fix for normals issue with cloth using tiny mesh. (766851)
  • Physics: Fix horizontal clipping in the layer collision matrix when some layers had names that were too long (526797)
  • Physics: Fix interpolation and extrapolation being being applied in an incorrect order for nested Rigidbodies. This affected the stability of ragdolls that had interpolated bones. (772337)
  • Physics: Fix Physics.ComputePenetration & Physics.ClosestPoint not returning the correct value when a rotated collider had it's centre offset (865250)
  • Physics: Fix Rigidbody.collisionDetectionMode being impossible to change if it was initially set to Continuous (784529)
  • Physics: Fix Rigidbody.collisionDetectionMode being impossible to change if the Rigidbody was part of a pool of objects (889118)
  • Physics: Fix to avert 'value must be greater' errors in cloth. (895771)
  • Physics: Fix to avert cloth errors with prefabs: in cloth inspector we now check if cloth has no verts disabled and we reprocess mesh if re-enabled and previous cloth mesh had no verts. (893025)
  • Physics: FIx voodoo trigger events being fired to scripts when a degenerate CapsuleCollider was used (701504)
  • Physics: Fixed a crash caused by changing the value of the configuredInWorldSpace flag on a Joint attached to an inactive GameObject. (832197)
  • Physics: Reprocess mesh used for cloth if changed. (664672)
  • Scripting: Editor recompilation is no longer triggered when adding WinRT dlls which are not used by the editor. (861189)
  • Scripting: Fix a memory leak and performance degradation when adding nested classes as components. (856497)
  • Scripting: Fix crash caused by Transform pointer not being a Transform instance in OnEnable (898810)
  • Scripting: Fix crash due to "Too many threads" (882697)
  • Scripting: Fix crash when Deep Profile is enabled (898854)
  • Scripting: Fix issue where OnDisable would not get called when entering play mode for ScriptableObjects that were created in edit mode and do not have a script file with the same filename as the ScriptableObject class name. (883373)
  • Scripting: Fixed case of ScriptExecutionOrder not being applied when entering play mode. (830711)
  • Scripting: Fixed closing script execution order window not opening apply/revert dialog (916399)
  • Scripting: Fixed crash in C# updater with arrays in some expressions. (855785)
  • Scripting: Fixed memory leak in UnityWebRequest when Dispose is not called (862095)
  • Scripting: Fixed rare crash that could occur after accessing null AnimationState (and Null Reference Exception is thrown). (847112)
  • Scripting: Fixed Script Updater issue with generic type parameters on methods under member access expressions. (863941)
  • Scripting: Improved error message when ScriptableObject is used with abstract classes. (850202)
  • Scripting: Improved the error shown when a class must inherit from ScriptableObject instead of MonoBehaviour. (867259)
  • Scripting: Prevent managed thread creation during app domain reload (882697)
  • Scripting: Script Updater: Automatically update ParticleCollisionEvent.collider to ParticleCollisionEvent.colliderComponent
  • Scripting: Script Updater: Do not remove required "using namespace" due to inadvertently deeming it as not used
  • Scripting: Stop calling OnEnable and OnDisable when adding Image component to child via script (897146)
  • Services: Fixed issue with Unity project ID when importing assets from the asset store containing a project ID. (867382)
  • Shaders: Fixed standard shader not supporting _Bumpscale on iOS and Android platforms. (881869)
  • Shaders: Occlusion sampling in shader now takes into account parallax map/offset. (783222)
  • SpeedTree: Fix a case where LOD1 range cannot be adjusted in SpeedTree importer GUI. (886674)
  • Terrain: Fix asset messages when deleting in-use terrain asset. (863970)
  • Terrain: Fixed a crash that happens when loading corrupt terrain data. (913478)
  • UI: Augmented variable capacity to correctly handle large numbers of tiles. (862575)
  • UI: Fix coroutines stopping when attaching UI components (904415)
  • UI: Fix disabling of parent script when adding a RectTransform to a child (911871)
  • UI: Fix editor crash when adding text component to game object in play mode via the script (882791)
  • UI: Fix GC spikes when enabling MaskableGraphic (899441)
  • UI: Fixed Child UI elements in parent Canvas cannot be configured after changing their Anchor preset and previewing it (882651)
  • UI: Fixed crash when deleting a nested canvas with nested canvas children. (858847)
  • UI: Fixed crash when exiting scene that has animation animating UI elements (889776)
  • UI: Fixed crash when UI mask component deleting the canvas renderer material when entering playmode (900515)
  • UI: Fixed crash with Editor inspector trying to draw a null material editor for UI elements (891450)
  • UI: Fixed editor memory leak when editor display was not visible but has UI elements rendering to it (887819)
  • UI: Fixed GraphicRaycaster Ray-cast distance value (848130)
  • UI: Fixed incomplete integration of UV2 & UV3 with UI elements (899626)
  • UI: Fixed issue that would prevent the text field input caret from updating when the virtual left and right arrow keys were pressed. (850430)
  • UI: Fixed issue where fonts created by script would fail to appear. (858645)
  • UI: Fixed issue with Application focus loss breaking Input with VR devices (896933)
  • UI: Fixed issue with NAN in scrollRect viewport content when changinge position (881819)
  • UI: Fixed issue with rapidly scaling Raw Image (895468)
  • UI: Fixed nested canvas returning a null camera after its root canvas has been disabled and then re-enabled (892913)
  • UI: Fixed RectTransform editor drawing issue where anchor preset labels all shown as Custom (896198)
  • UI: Fixed Tiled uGUI image shaking when changing its size (649927)
  • UI: Fixing issue with overwriting text with '-' at the start (896424)
  • UI: PhysicsRaycaster now culls raycasts that are outside of the camera viewport. This prevents confusion between multiple raycast hits when using multiple cameras with different viewports. (636595)
  • UI: Selectable SelectionState is now updated as expected when setting interactable to true. (861736)
  • UI: The input field caret now generates the GameObject with the correct transform type as well as a CanvasRenderer, to prevent doing a switch of Transforms at runtime. (863470)
  • UI: The inverse transform of the canvas (m_CanvasData.invCanvasMatrix) is now updated when its ancestor has changed (i.e. not just its direct parent). (870698)
  • UI: Use canvas dimensions to compute bucket size of nested canvases, as was already the case for root canvases. (913932)
  • Video: Android: Crash on Samsung devices with 4.1 OS when stopping playback. (900881)
  • Video: Android: Fix garbage collector abuse and freeze when changing current clip during playback. (894208)
  • Video: Android: H.264 videos above 480p crash on devices with 4.1 OS with Adreno 203 graphics. (893863)
  • Video: Android: VP8 videos not playing on Samsung devices with 4.2 / 4.4 OS (895687)
  • Video: Fix .mov video referenced from URL on Windows (900325)
  • Video: Fix video end detection (890946)(894319)
  • Video: Fixed MovieTexture support for Metal. (911115)
  • Video: Optimized video decoding directly into RenderTexture if it is the same size as the video stream
  • Video: VideoPlayer.isPrepared always returns false after calling VideoPlayer.Prepare() when playOnAwake is false with some video files (893939)
  • Video: VideoPlayer.Prepare() broken on random video files (897708)
  • Video: [Video Player] Can't play a Video Clip If WaitForFirstFrame is enabled (899233)
  • Video: [VideoPlayer] Video which has 6-channel audio and its audio codec is AC-3 doesn't play on Windows (893910)
  • VR: Camera target eye masks now work under single pass stereo rendering. (817492)
  • VR: Fix crash in Editor when attempting to do Holographic Simulation when graphics API forced to DX9 (885634)
  • VR: Fix daydream back button handling to deal with app store submission rejection (893219)
  • VR: Fix Daydream icon labels to not display tooltip text in the label. (891613)
  • VR: Fix issue that was causing eye flickering in Daydream. (915277)
  • VR: Fix: Android antialiasing quality settings not being able to change at runtime. (896253)
  • VR: Fixed crash on HoloLens and Windows Mixed Reality caused by large amounts of input data overflowing queue
  • VR: Fixed particle shader errors when using instanced single pass. (872164)
  • VR: Integrate Google VR iOS SDK 1.20 (885513)
  • VR: Removed Daydream specific call outs in documentation that are no longer correct. (900866)
  • VR: Stop exiting VR when render scale is set higher than texture memory will allow and safely reverting back to last known good scale setting. (916952)
  • VR: VRDevice.refreshRate now reports correct values on Oculus devices. (820293)
  • WebGL: Fix Input.simulateMouseWithTouches (894098)
  • WebGL: Fix WebGL build failure when both WebAssembly and Full Exceptions are enabled (892185)
  • WebGL: Fixed wasm build failure on MacOS caused by special characters in project path (899387)
  • WebGL: Turn WebAssembly loading errors into simple log messages (896202)
  • Windows: Fixed not being able to start the game with exclusive fullscreen mode on a secondary monitor (789575)
  • Windows: Fixed resolution selector showing primary monitor resolutions even when a secondary monitor is selected.
  • Windows: Fixed the game window moving to the primary monitor when it is resized using Screen.SetResolution function (881735)
  • Windows: Fixed window not resizing to new monitor's size when moving window to another monitor while in windowed fullscreen mode.

2017.1.0f3 Release Notes (diff since f2)

Fixes

  • Build Pipeline: Fixed asset bundle loading issue causing the error "The referenced script on this Behavior is missing!" under certain circumstances (905561)
  • Editor: Fixed issue where play mode wouldn't maximize if a curve editor window was on an object in the hierarchy (921114)
  • VR: Fix issue that was causing eye flickering in Daydream. (915277)

The following are changes and fixes to 2017.1.0 features and regressions...

Changes

  • Android: Removed tapjacking protection because it causes touch input to be lost when a transparent overlay is shown on top of the Unity view

Fixes

  • Animation: Fixed humanoid body position not working in additive (916487)
  • Editor: Fixed moving multiple objects makes only one of them to move according to handles
  • Graphics: Fixed crash when using RenderTextureFormat.RFloat in a command buffer (898318)
  • Graphics: Fixed issue where a ComputeBuffer applied to a Material Block doesn't take effect when drawing via DrawMesh*Indirect (913828)
  • Linux: Work around TLS/allocator deadlock in new glibc
  • Multiplayer: Fixed memory leak of NetworkTransport::Send() (923903)

LTS Release 2017.1.0f2

Released:

LTS Release 2017.1.0f2

Released:

2017.1.0f2 Release Notes (diff since f1)

Known Issues

  • Audio: On Windows, AudioSource attached to VideoPlayer produces choppy sound when game iterations are overrunning. Will be fixed in future Unity release. (895458)
  • xR: Rendering problems on Pixel Daydream when using 4x or 8x MSAA with single-pass stereo. This is due to driver issues, so the problem will be addressed via a driver update, independently of Unity releases.

Known Issues expected to be fixed in f3

  • Android: Apps can be tapjacked (fixed in f3) (898030)
  • Animation: Additive layer in Animator window on humanoid rig type broken (fixed in f3) (916487)
  • Asset Bundles: Caching.expirationDelay doesn't clean the cache anymore (fixed in f3) (920498)
  • Audio: Audio clip plays at the incorrect volume for a few frames (fixed in f3) (925334)
  • Editor: Missing Behavior' component can not be seen or removed from Game Objects it was assigned to (fixed in f3) (917810)
  • Editor: Moving multiple objects makes only one of them to move according to handles (fixed in f3) (925765)
  • Editor: Play mode doesn't maximize in some conditions (fixed in f3) (921114)
  • GI: Lit clustering debug visualization does not show (to be fixed in patch) (911953)
  • Graphics: ComputeBuffer set to MaterialPropertyBlock doesn't take effect when drawing a mesh (fixed in f3) (913828)
  • Graphics: Crash using RenderTextureFormat.RFloat w/ Command Buffer (fixed in f3) (898318)
  • Graphics: DrawMeshInstancedIndirect draws nothing when passed camera (fixed in f3) (924663)
  • Launcher: Unity does not load the 2017.1 launcher in some conditions without internet connection when license is for 5.x (fixed in f3) (924763)
  • Multiplayer: NetworkTransport.Send() leaks memory (fixed in f3) (923903)
  • Scripting: InvalidCastException thrown when casting using UniRx and 4.6 .NET scripting runtime version (fixed in f3) (924070)
  • xR: [Daydream] Changing RenderScale is causing flickering or black view (fixed in f3) (915277)

Improvements

  • GI: Support for per object cast and receive shadows in the Progressive Lightmapper. For Cast Shadows only On and Off options are supported.

Fixes

  • AI: Fix occasional inconsistent carving near tile boundaries (833089)
  • Android: Fix crash when playing non-existing webcam texture (912742)
  • Editor: Added missing component icons for the HoloLens WorldAnchor, SpatialMappingRenderer, SpatialMappingCollider, InputModule, and AudioSpatializer (858525, 858531, 858530, 858522, 905399)
  • Editor: Don't ignore remote input if gameview is out of focus (911082)
  • Scripting: Fixed issue with API updater not updating player specific code inside conditional #if's such as #if !UNITY_EDITOR when building player (908821)
  • Video: Fixed MovieTexture support for Metal. (911115)
  • VR: Stop exiting VR when render scale is set higher than texture memory will allow and safely reverting back to last known good scale setting. (916952)

The following are changes and fixes to 2017.1.0 features and regressions...

Improvements

  • Android: Gradle: Added new template variables
  • Android: Gradle: Added settingsTemplate.gradle to allow user customization

Fixes

  • AI: Fix issue where a navmesh instantiated away from origin could sometimes not be found. (920416)
  • AI: Fix issure where a NavMeshAgent on a rotated NavMesh surface would wobble or turn wrongly in some cases (920738)
  • Android: Fix empty scene startup time regression (917096)
  • Android: Fixed scree auto-rotation with custom resolution when using Vulkan (912228)
  • Android: GoogleVR initialization moved to run on UI thread fixing crash on newers Android API's (922897)
  • Collab: Fix for "Rename+rename folder deletes folder for user that pulls changes" (896960)
  • Editor: Fix crash when deleting a prefab and undoing the deletion (907117)
  • Editor: Fixed exception when clicking on Game view header (916844)
  • Editor: Show Collab menu properly when opening project from cloud for the first time (918826)
  • GI: Progressive Lightmapper: Fix scene dependent issues with dark edges on charts lying near the lightmap border.
  • Graphics: Fix crash in non-native graphics jobs in specific scene configurations eg lots of particles, terrain. (918788)
  • Graphics: Fix for miscalculating the size of the view required for a buffer which will be used as the source for an Indirect Draw/Dispatch call. (919044)
  • Graphics: Fixed Vulkan validation errors when using anisotropic filtering on GPUs that don't support it
  • iOS: Fix GameCenter breakage when engine code stripping is enabled (898234)
  • Launcher: Fixes Launcher window Sign In issue when opened from Editor's Account dropdown (923133)
  • Physics: Fix for "PolygonCollider2D.points" reporting "Assertion failed on expression: 'm_data == NULL'" when setting a new Vector2 array to it. (923135)
  • Scripting: Fixes an exception that is thrown when a user overrides the unity synchronization context with their own (924875)
  • Timeline: Fixed issue where timeline playables were allocating during playback (922997)
  • Timeline: Fixed issue with control tracks improperly playing audio tracks (922398)
  • Web: Fix UnityWebRequest merges two headers into one when both of them starts with the same sequence of characters (907505)
  • Web: UnityWebRequest: fix headers getting merged when one matches the start of the other (907505)

2017.1.0f2 Release Notes (Full)

Features

  • 2D: Added Sprite Physics Shape to Sprite Editor, to allow users to set a custom default shape for a Sprite for generating collider shapes with a PolygonCollider2D.
  • 2D: Introduced 2D Sprite Atlas, a new asset that will supplant the Sprite Packer. With it comes new and improved workflows that gives the developer more control on how to pack sprites and use them at runtime. description
  • 2D: Sprite Mask. Mask Sprites in world space using the new SpriteMask component. description
  • Animation: Manual Keyframing Workflow. Separate Recording and Preview modes in the Animation Window. Contextual menus added to all animatable properties in the inspector.
  • Animation: New GameObjectRecorder in UnityEditor.Experimental.Animations description
  • Audio: Added support for ambisonic audio clips and ambisonic decoder plugins.
  • Audio: Timeline Editor Audio Track support. Audio clips are now enabled in Timeline, using a scheduling API.
  • Build Pipeline: The Asset Bundle Browser comes out of beta with Unity 2017.1. This tool enables the user to view and edit the configuration of Asset Bundles for their Unity project. It is intended to replace the current workflow of selecting assets and setting their Asset Bundle manually in the inspector. description
  • Collab: In-Progress. In-Progress allows developers using Unity Collaborate to see who else on their team has made local changes to a Scene or Prefab before those changes have been published. description
  • Editor: Added new ArcHandle class in UnityEditor.IMGUI.Controls to interactively edit arcs in the Scene View. description
  • Editor: Experimental feature : retained-mode UI system for the Editor (UI Elements)
  • GI: Added support for baked LODs in Progressive Lightmapper
  • GI: Support for double sided materials in Progressive Lightmapper. Added a new material setting that causes lighting to interact with backfaces. When enabled, both sides of the geometry get accounted for when calculating Global Illumination. Backfaces do not count as invalid when seen from other objects. Backface rendering is not controlled by this setting nor will backfaces be represented in the lightmaps. Backfaces bounce light using the same emission and albedo as frontfaces.
  • Graphics: Added Custom Render Texture asset. A Custom Render Texture is a new type of Render Texture that can be easily updated with a shader. It provides a user interface and a scripting framework. description
  • Graphics: Added LineUtility class and 'LineRenderer.Simplify' function. Optimize your lines and curves by using the LineUtility to create a simplified version with a similar shape.
  • Graphics: Added partial update/readback of compute buffers
  • Graphics: Updated Splash screen logo and style
  • IMGUI: Added SearchField, a new IMGUI Control. It comes with Normal and Toolbar UI styles but can also be customized.
  • Input: Added new Player Settings property 'Input Manager' for enabling backend of new input system preview feature. The front-end is supplied separately and is not included with the release.
  • iOS: Enable deferred shading rendering path for Metal and OpenGL ES 3.0 for A8 and later iOS devices.
  • Particles: Added support for using Sprites in the Particle System, via the Texture Sheet Animation Module description
  • Particles: Apply Noise Module data to particles sizes and rotations, and also send the noise data to your shaders via new Custom Vertex Streams. description description
  • Particles: New Donut emission shape. description
  • Playables: Playable Assets added to Playable API.
  • Playables: Playable Director added to play Playable Assets
  • Playables: Timeline Editor and Runtime API. A tool for sequencing animation, scripts and audio. description
  • Scripting: Experimental support for new scripting runtime. This includes Mono 4.8 and IL2CPP with support for C# 6 and .NET 4.6 description
  • Shaders: Added support for "inline" sampler states.
    • HLSL SamplerState objects that aren't taking sampling state from any texture (like what "sampler"+TextureName samplers do), but where sampling state is instead derived from the name.
    • For example, "MyLinearClampSampler" sets up bilinear filtering and clamp wrap mode; while "point_repeat_sampler" sets up point filtering and repeat wrap mode.
    • This allows e.g. doing both PCF depth comparison and reading raw depth value from a shadow map in a single shader.
    • Note that generally only modern graphics APIs support separate textures & samplers. You might therefore want to specify #pragma target 3.5 or similar in your shaders for this.
    • Implemented on DX11, DX12, PS4, XB1, Metal (Vulkan not yet).
  • Windows: Multi-display support for UWP.

Changes

  • Asset Import: Upgraded FBX SDK to 2016.1.2
  • Build Pipeline: Added new function SwitchActiveBuildTargetAsync. This defers switching so that scripts can be imported first.
  • Build Pipeline: Event EditorBuildSettings.activeBuildTargetChanged has been deprecated as events do not survive script reloading. Replaced with interface class IActiveBuildTargetChanged and attribute ActiveBuildTargetChanged.
  • Editor: 2017 Editor now needs a new version of license. Subscription key will be upgraded. 5.x license key will not be accepted by 2017 Editor.
  • Editor: Added new GameObject sub menu - 'GameObject/Effects/. This menu includes a Line andTrail creation. The particle system has also been moved to this menu.
  • Editor: Added requirement for Visual C++ Runtime 2013 and 2015 to be installed when installing Windows Editor (i.e. the check is performed by Windows Editor installer).
  • Editor: AssetServer version control support has been removed from the editor.
  • Editor: Moved particle system rigidbody info message to top of the system as it does not just apply to inherit velocity
  • Editor: New projects now default to text-based serialization
  • Editor: Particle trail material slot is now always visible even if it is not used.
  • Editor: RenderDoc enabled for DX12 Editor mode.
  • Light modes: Shadowmask and Distance shadowmask modes are now a Quality Setting and can be changed at runtime.
  • OSX: Disabled Metal on macOS 10.12.2 and 10.12.3 for stability reasons if GLCore is also present in API list
  • Universal Windows Platform: DX11 feature level 9.3 GPU support is required now. In practice this probably does not affect anything, as all Windows Phones that ever existed support 9.3 level already.
  • Universal Windows Platform: Removed support for building Windows 8.1 and Windows Phone 8.1 applications.
  • VR: Added OpenVR to the default PC VR SDK list. The default behavior is to try initializing Oculus first, followed by OpenVR if an Oculus device isn't detected.
  • VR: GPU skinning can be enabled for Android VR. This is experimental, and behavior and performance should be verified on target devices.
  • VR: Updated Google NDK for Android and iOS to 1.40
  • Windows: "Visible In Background" player setting now defaults to on.
  • Windows: Renamed "Windows Store" to "Universal Windows Platform"

Improvements

  • Android: Add default equals, hashCode and toString implementations to AndroidJavaProxy
  • Android: Apk files are now signed using the new APK Signature Scheme v2.
  • Android: OBB compatibility is now done using build id rather than a hash of the OBB file
  • Animation: Statemachinebehaviour can now be debugged in play mode in the editor
  • Asset Import: Added ability to import visibility from FBX files to ModelImporter
  • Asset Import: Added the option of computing weighted normals when importing FBX files. Fixed normal generation for hard edges.
  • Asset Import: Changing tabs in the Model Importer inspector does not force users to apply changes anymore
  • Asset Import: Reduced the import time for FBX assets with humanoid animations
  • Asset Import: Support Segment Scale Compensate for models exported from Maya.
  • Asset Pipeline: Enabled asynchronous texture uploading from non-scene Asset Bundles on all platforms
  • Asset Pipeline: In batchmode the FailedAssetImports.txt file is now ignored because there's no way to cancel or notify the user when the asset importer fails.
  • Build Pipeline: Scripts-only build is now available on all platforms.
  • Build Pipeline: Unified assembly stripping code used for IL2CPP and Mono builds - which should result in more consistent behaviour between IL2CPP and Mono and in smaller build sizes for platforms supporting assembly stripping on Mono.
  • Collab: Project Browser Filters including 'All Modified', 'All Excluded', 'All Conflicts', 'All In Progress' description
  • Collab: Right Click Menu Options in the Project Browser including See Differences, Revert, Conflict Resolution description description
  • Editor: Added "Called From" and "Calls To" view to the Hiverarchy View of Profiler Window.
  • Editor: Added a pre-drop style to particle system Object fields so it highlights if something can be dropped.
  • Editor: Added callbacks for assembly reload events: two events are dispatched: one before and one after reloading all assemblies. See: class AssemblyReloadEvents.
  • Editor: Added profiler labels to all player loop stages
  • Editor: Defines in mcs.rsp are added to .csproj files generated for MonoDevelop, Xamarin Studio, Visual Studio Code & JetBrains Rider
  • Editor: DX12 Editor is more responsive and little bit faster.
  • Editor: Improvements to Package Export loading state
  • Editor: Log messages from connected players will now show in Editor console for easier debugging.
  • Editor: macOS: Show Visual Studio for Mac in External Script Editor Lists if installed in default "/Applications/Visual Studio.app/" location
  • Editor: MacOS: Support Visual Studio for Mac as an External Script Editor. Opens .sln (solution) file when double clicking a script.
  • Editor: Scripts willl be opened correctly in JetBrains Rider when selecting it as external script editor.
  • Editor: Simplify dragging code setup: Getting rid of the requirement of setting DragAndDrop.objectReferences = new UnityEngine.Object[] {} when using DragAndDrop.SetGenericData()
  • GI: Support for per object cast and receive shadows in the Progressive Lightmapper. For Cast Shadows only On and Off options are supported.
  • GI: Upgrade Enlighten SDK to version 3.08p1
  • Graphics: Added a batch break cause (material disables instancing) to Frame Debugger.
  • Graphics: Added a new surface shader option "dithercrossfade", generating the screen-door dithering effect code automatically for being used in LOD cross-fade mode.
  • Graphics: Added memoryless mode to RenderTexture, accessed through new property RenderTexture.memorylessMode.
  • Graphics: Added Mirror and MirrorOnce texture wrapping modes, in addition to existing Repeat and Clamp ones.
  • Graphics: Added new default material for trails. 'Default-Trail'
  • Graphics: Frame Debugger is now capable of showing array shader properties.
  • Graphics: Optimized conversions between float32 and float16 image formats on Editor for a x2 to x4 performance improvement.
  • Graphics: Texture wrapping modes can be set separately on each U,V,W axis.
  • Graphics: The default names for Graphics Quality Levels have been changed to be a little clearer, and more in line with what is common across other games. This will only affect newly created projects; existing projects will have the same Quality Level names as before (though, as always, you can edit the names via Edit -> Project Settings -> Quality).
  • Graphics: Unity can now accept and use a pointer to an externally created cubemap
  • IL2CPP: Improved IL2CPP code conversion time on OSX. Conversion times may improve by as much as 2x.
  • iOS: Added support for Watch apps and Watch app extensions in the Xcode extension API.
  • Mobile: Added TouchScreenKeyboardType.Social and TouchScreenKeyboardType.Search for iOS/tvOS, Android, WindowsPhone and Tizen platforms.
  • OSX: Added Appstore category field to player settings and improved info.plist generation
  • OSX: Added support for loading the first scene asynchronously when showing the splash screen.
  • OSX: Metal: [MTLDevice recommendedMaxWorkingSetSize] is now used to query VRAM size when available.
  • Particles: Added edit modes for Particle system collision mode planes.
  • Particles: Align Particles to their velocity direction description
  • Particles: Allow Emit over Distance to be used for Local Space systems description
  • Particles: Allow users to disable the use-rigid-body physics functionality
  • Particles: Edge emission is now more flexible, allowing you to choose the thickness of the edge used for generating particles.
  • Particles: Improved particle system culling mode supported tooltip messages. These now contain more details on why the culling mode is unsupported.
  • Particles: It is now possible to animate both the min and max constants, when using Random Between 2 Constants mode.
  • Particles: Mesh particles now support the same Render Alignment options are billboarded particles
  • Particles: Particles can now apply forces to the Colliders they hit description description
  • Particles: Play Particle Systems when your game is paused, by choosing to use either Scaled or Unscaled time for the simulation.
  • Particles: Randomize the spawn positions of particles, with a new option in the Shape Module. description
  • Particles: Scene lighting can now affect Lines and Trails.
  • Particles: The Shape Module now contains an additional Transform, for applying custom transformations to the emitter shape.
  • Particles: The speed range of a Particle System is now displayed in the Scene View GUI, when previewing a Particle System.
  • Physics: Add ability to manully simulate 2D physics using "Physics2D.Simulate(time)" and turn auto simulation on/off with "Physics2D.autoSimulation=true/false".
  • Physics: Expose Physics.Simulate and Physics.autoSimulation. This allows stepping the physics simulation manually, from scripts. Useful for customising the server-side physics, in-editor simulation, and more.
  • Physics: When setting 'Rigidbody2D.simulated' to false, Editor inspector shows information about its effect.
  • SamsungTV: UnityWebRequest is now supported on SamsungTV
  • Shaders: Optimized game data build time for shaders with massive ("millions or billions") potential variant counts. Fixed shader inspector popup menu to display variant counts larger than 2 billion properly.
  • Shaders: Pass platform caps keyword defines to compute shaders
  • Shaders: SystemInfo.graphicsShaderLevel now reports more accurate shader models that better match shader #pragma target levels (now can report values 25, 35, 45, 46).
  • Shadows: Improved shadow culling for stable fit directional shadows.
  • Shadows: Improved shadow filtering for directional and spot lights.
  • UI: Added support for selecting multiple files in the "Assets/Import New Asset..." dialog, on all platforms
  • Universal Windows Platform: Unity player binaries are now signed.
  • VR: Updated to Oculus version 1.14
  • Web: (Also mentioned under API Changes) UnityWebRequest now has built-in support for downloading MovieTexture on platforms that do support it. A new helper class WebRequestMultimedia has been introduced for simple download of MovieTexture or AudioClip. WebRequest.GetAudioClip() has been deprecated in favor of WebRequestMultimedia.GetAudioClip().
  • Web: It is now allowed to override User-Agent header in UnityWebRequest

API Changes

  • Animation: AnimationLayerMixerPlayable scripting API added.
  • Area: Description (FogBugz ID)
  • Asset Import: Added ModelImporter.extraUserProperties
  • Asset Import: Added ModelImporter.importVisibility
  • Asset Pipeline: Asset Pipeline: Added methods AssetBundle.GetAllLoadedAssetBundles and AssetBundle.UnloadAllAssetBundles. (920140)
  • Build Pipeline: Added delegates to BuildPlayerWindow that allow overriding the default Build button behavior
  • Editor: ArcHandle.radius can now be negative
  • Editor: PrimitiveBoundsHandle and subclass constructors no longer require a control ID hint
  • Editor: Removed unnecessary ArcHandle constructor taking a control ID hint
  • GI: Added new API for setting Light falloff per Light. Added API for setting all Lights to use physically correct inverse squared falloff or the Unity legacy falloff model. Only used for Enlighten lightmaps so far, realtime and progressive will be supported later.
  • Graphics: Added RenderTextureDescriptor struct that allows you to copy and create RenderTextures by passing a single value.
  • iOS: Added API to change iOS splashscreens.
  • iOS: iOSStatusBarStyle.BlackOpaque and iOSStatusBarStyle.BlackTranslucent are obsolute use iOSStatusBarStyle.LightContent instead (894136)
  • Light modes: Added QualitySettings.shadowmaskMode
  • Physics: Added 'Joint2D.attachedRigidbody' property to retrieve the Rigidbody2D attached to the Joint2D.
  • Physics: Exposed Joint.massScale & Joint.connectedMassScale. This allows adjusting masses and inertia tensors of the connected bodies as perceived by the solver. It's mostly useful for ragdolls that have high forces applied to their limbs and thus experiencing unpleasant stretchiness. This should also help avoiding setting the same mass for all the body parts of a ragdoll, as recommended before. See more in the API docs.
  • Playables: - Changed C# Playable classes to structures: new and better approach for the API, it uses less memory and is in line with the future job system.
    • Remove properties in favor of getters and setters: since we're using class extensions that can't have properties, we decided to only use methods to have a consistant API (i.e. not properties there and methods here just because reasons).
    • Rename ScriptPlayableData to PlayableBehaviour: the PlayableBehaviour is the user side of the ScriptPlayable, it is where the user puts its logic.
    • Documentation is in progress expect a better one in a few weeks.
  • Playables: Moved Playable out of Experimental namespace.
  • Playables: New method PlayableGraph.IsPlaying()
  • Playables: Renamed PlayableGraph.Connect() parameters for clarity
  • Scripting: Add serialization support for unsafe fixed size buffers. See SerializedProperty.GetFixedBufferElementAtIndex docs for example code.
  • Scripting: Made GameObject.CalculateBounds() internal after it was accidentally made public in the 2017.1 beta cycle. This API is in the wrong place and will be moved/removed entirely in a future release
  • Scripting: Rename to Debug.logger to Debug.unityLogger (852000)
  • UI: Change isPaused to isFocused to better represent what it is. Only Effects 2017.1 betas
  • Web: (Also mentioned under Changes/Improvements) UnityWebRequest now has built-in support for downloading MovieTexture on platforms that do support it. A new helper class WebRequestMultimedia has been introduced for simple download of MovieTexture or AudioClip. WebRequest.GetAudioClip() has been deprecated in favor of WebRequestMultimedia.GetAudioClip().
  • Web: A new UnityWebRequest.timeout property that gives the user some coarse-grain control over the time a webrequest can take before unity attempts to cancel it.
  • Web: Added timeout property to UnityWebRequest. (823903)
  • Web: Moved UnityWebRequest.GetTexture() to UnityWebRequestTexture.GetTexture().

Fixes

  • 2D: A quad mesh will be generated when generating Sprite from a blank texture. (890845)
  • 2D: Add back POT option when in TextureImporter for Sprites (884926)
  • 2D: Fix "Register Undo object is not a ScriptableObject" error message when editing Sprite in SpriteEditorWindow after entering and exit PlayMode (900436)
  • 2D: Fix NullReferenceException error when entering PlayMode with SpriteEditorWindow opened (900419)
  • 2D: Fix occasional crash when SpriteRenderer.size is set multiple times in a single frame (898946)
  • 2D: Fix Sprite UV not updated when data is copied via EditorUtility.CopySerialized (884970)
  • 2D: Fix SpriteRenderer not rendering Sprite in TileMode when mesh generation exceeds max vertex limit (888884)
  • 2D: Rephrase warning message to include Sprite generated in PolygonMode in SpriteRenderer when TileMode is set (889106)
  • AI: Add missing API for minimum region area when building navmesh using the runtime API. (906017)
  • AI: Fix for NavMesh.SamplePosition returning inconsistent position depending on slope and tessellation of the navmesh (702030)
  • AI: Fix internal limitation of slope maximum of 60 degrees when building navmesh using the runtime API. (906012)
  • AI: Fix issue where carving obstacles could create wrongly shaped holes on navmesh instances of arbitrary rotation. (902956)
  • AI: Fix issue where the NavMeshAgent would sometimes jitter when moving over a navmesh that has been carved by obstacles (886529)
  • AI: Fix missing support for triangulating navmesh instances with arbitrary rotation. (886302)
  • AI: Fix occasional inconsistent carving near tile boundaries (833089)
  • AI: Fix rare truncation of paths - making the NavMeshAgent oscillate instead of completing movement. (908027)
  • AI: Fix regression where a NavMeshAgent with 'autoTraverseOffMeshLink' set to false would not move freely. (905621)
  • AI: Fixed a crash happening when Warp() is called many times for a NavMeshAgent. (904910)
  • Android: Fix crash when playing non-existing webcam texture (912742)
  • Android: SoftInput - Disable suggestions when autocorrect is false to make the behavior consistent with iOS (906014)
  • Animation: Animator.Rebind should reset AnimatorController ( for backward compatibility's sake. (899553)
  • Animation: Clarified documentation on Translation DoF settings for Humanoids (847234)
  • Animation: Display "Update reference clips" button for Generic rig too (871684)
  • Animation: Fixed "Key Modified" hotkey in the animation window that did not add keys for Euler Angles (Quaternion) and Quaternion interpolations (898957)
  • Animation: Fixed a bug where AnimationClipPlayables connected after the first frame never played
  • Animation: Fixed adding State/StateMachines with invalid names. (882122)
  • Animation: Fixed an issue where Optimize Game Objects would cause invalid scale being applied with some animations (879368)
  • Animation: Fixed an issue where previewing animations with an exit time of zero would prevent the previewer from showing (883536)
  • Animation: Fixed an issue where results were incorrect when the only layer of a state machine was set to additive (862998)
  • Animation: Fixed an issue where the Rig importer Mask's transform list was populated even though the definition was set to None (874995)
  • Animation: Fixed animation event remaining selected when clicking on dopesheet. (899032)
  • Animation: Fixed Animator being frozen when modifying Controller when in PlayMode with disabled Animator (894617)
  • Animation: Fixed Audio Source nested curve editor getting stuck while dragging keys. (881723)
  • Animation: Fixed crash in AnimatorLayerMixerPlayable when initializing a mixer with non-connected input
  • Animation: Fixed crash when deoptimizing optimized game object hierarchy containing nested skinned mesh renderer hierarchies (895840)
  • Animation: Fixed crash when disabling GameObject in OnStateMachineExit. (912808)
  • Animation: Fixed crash when moving StateMachine into SubStateMachine (875068)
  • Animation: Fixed crash when previewing empty clips (909671)
  • Animation: Fixed crash when saving while transition previewer is running (910640)
  • Animation: Fixed disabled Animator affecting scene objects (901268)
  • Animation: Fixed error message when undoing key edit of standalone animation clip asset in animation window (898963)
  • Animation: Fixed game object selection loss issues in the animation window
  • Animation: Fixed Interrupted transition and Write defaults. (903556)
  • Animation: Fixed missing keyboard focus on animation window property fields. (879985)
  • Animation: Fixed out of sync linear tangents when editing a curve in the curve editor. (881861)
  • Animation: Fixed performance issue with GetLayerWeight.
  • Animation: Fixed selection box display issue in the animation event timeline of the animation window (899010)
  • Animation: Fixed standalone curve editor window association to its serialized property. (860540)
  • Animation: Fixed Transition previewer playhead's getting desynced (871160)
  • Animation: Performance optmization with complex blendtrees.
  • Animation: Proper deprecation of Animator.Stop() (903787)
  • Asset Import: Fix incorrect Animation help bubble in ModelImporter UI when Animation Type is None (899008)
  • Asset Import: Fix issue with strings sometimes having the wrong value when importing a binary package and editor serialization is set to Force Text. (857486)
  • Asset Import: Mesh importer now displays an error for invalid polygons that cannot be triangulated without introducing a new vertex. (677375)
  • Asset Pipeline: Fixed import failure when FBX take name contained invalid characters. (873720)
  • Build Pipeline: Fix crash when building a scenes containing any long chains of connected objects (865522)
  • Build Pipeline: Fix issue where the the icon of an OSX standalone player can be corrupted under certain circumstances (815319)
  • Build Pipeline: Fixed asset bundle statistics that are printed to the editor log when building bundles (890644)
  • Build Pipeline: Fixed issue where the selected build target wasn't being changed on projects created from command line. This affected changes made to player settings via scripts in these projects. (901407)
  • DX12: Behaviour of the VFACE semantic now consistent on DX12 with the editor and other platforms (895474)
  • Editor: Added graceful handling if the Unity shader compiler socket times out whilst compiling shaders. The Unity shader compiler process is terminated and a new Unity shader compiler process is spawned. (900500)
  • Editor: Added missing component icons for the HoloLens WorldAnchor, SpatialMappingRenderer, SpatialMappingCollider, InputModule, and AudioSpatializer (858525, 858531, 858530, 858522, 905399)
  • Editor: Don't ignore remote input if gameview is out of focus (911082)
  • Editor: Fix crash when calling EditorSceneManager.NewScene in a DidReloadScripts callback (891856)
  • Editor: Fix focused Game View not always receiving input (macOS) (895460)
  • Editor: Fix gameobject set to HideInHierarchy and moved to DontDestroyOnLoad scene made the scene header show in the Hierarcy Window; with no objects (893148)
  • Editor: Fix issue with "Type Mismatch" error not always showing in inspector when changing an object type from a game object to a component (837920)
  • Editor: Fix recursive rendering error with Package export window when Verified Save Assets is enabled (820395)
  • Editor: Fix repeated duplication of object being undone together if modifier key is not released (Windows) (877421)
  • Editor: Fix transform precision issue when moving multiple objects. (907854)
  • Editor: Fix vertex snapping having inconsistent accuracy at different zoom levels (738371)
  • Editor: Fix: 'Enum not handled' error message when selecting game objects while some of them are expanded (875406)
  • Editor: Fix: Hierarchy will properly animate foldouts when using custom hierarchy drawers (885708)
  • Editor: Fix: Missing scripts are now titled "Nothing Selected" and enabling them throws ArgumentNullExceptionMissing scripts are now titled "Nothing Selected" and enabling them throws ArgumentNullException (900631)
  • Editor: Fix: project browser view is in sync when duplicating folders (875831)
  • Editor: Fix: Rect transform updates properly when manipulating it's parent rect transform (856034)
  • Editor: Fix: Selecting different types of elements not being displayed in inspector and throwing errors (899307)
  • Editor: Fix: the player settings' package name is properly updated when focusing another window (879071)
  • Editor: Fixed 1-dimensional sphere bounds handle had no wireframe representation (also being back ported to 5.6)
  • Editor: Fixed a bug where EditorGUIUtility.SetIconSize would affect already rendered GUI. (913018)
  • Editor: Fixed a crash in Editor caused by null Handles. Graphics.DrawMeshNow will now throw an exception if the mesh is null. (893112)
  • Editor: Fixed an issue that prevented the user from reordering the scenes in the build settings window (874335)
  • Editor: Fixed an issue where locking the Inspector on subscene objects causes their disappearance, coupled with a group of 'Failed to unpersist' error messages. (874301)
  • Editor: Fixed an issue where the Game View would render without vsync regardless of player settings (macOS OpenGL) (901973)
  • Editor: Fixed bug in progress bar code, which caused Build&Run to crash during sprite packing (907145)
  • Editor: Fixed bug introduced in 5.6.0f3 that broke holding alt to pin center of PrimitiveBoundsHandle (affects edit modes for BoxCollider, CapsuleCollider, BoxCollider2D, CapsuleCollider2D, etc.); also back ported to 5.6.0p4
  • Editor: Fixed bug with CapsuleCollider and CapsuleCollider2D edit mode where some control handles could appear incorrect when multi-editing
  • Editor: Fixed case of errors spamming the console when taking detailed memory sample of 32 bit player. (886135)
  • Editor: Fixed case of Handles.PositionHandle() throwing NullReferenceException when no SceneView is in the current editor layout. (874248)
  • Editor: Fixed Copying color from component throws NullReferenceException (904723)
  • Editor: Fixed crash when using the SavePanel path bar on Windows. (839912)
  • Editor: Fixed crash whilst reloading scene(s) after using version control merge and resolve operations. (876733)
  • Editor: Fixed erroneous IMGUI clipping with non-trivial GUI.matrix (896013)
  • Editor: Fixed HDR Color Picker to preserve alpha when changing brightness field. (883476)
  • Editor: Fixed incorrect placement of BoxCollider2D manipulator in scene view when using composite (916455)
  • Editor: Fixed low Normals quality issue with low mesh compression settings. (709609)
  • Editor: Fixed NullReferenceException when cancelling file browser after a popup prompt (874140)
  • Editor: Fixed NullReferenceException when deleting the last remaining quality setting (also being back ported to 5.6) (903620)
  • Editor: Fixed PrimitiveBoundsHandle.DrawHandle() not resetting Handles.color if alt-clicking to rotate camera (also being back ported to 5.6)
  • Editor: Fixed SerializedObject.maxArraySizeForMultiEditing not being respected when using default property drawer (also being back ported to 5.6) (817640)
  • Editor: Optimize log entry insertion (862257)
  • Editor: Reset global handle direction when changing tool using toolbar buttons (864054)
  • Editor: Show single info message instead of multiple errors messages when there's an issue loading a layout (825848)
  • Editor: Version Control System: More detailed reasons why Perforce connection failed ie incorrect server, username, password, workspace.
  • Editor: Version Control System: Set default version control log level to be "Notice" instead of "Info" to reduce log spam. (873454)
  • Editor: Version Control Sytstem: Added provider name and failure reason to error messages about failed connections to make it clearer what has failed. (873396)
  • GI: Fixed light being considered in shadow range even though it's fully culled away. (888704)
  • GI: GI Scene Modes Not Fetching Visualization Data After Quitting Play Mode. (849063)
  • GI: Light sources incorrectly identified as realtime when in Auto mode. (815031)
  • GI: LoadLevelAdditive loads baked lighting as (no GI) realtime if it was baked using Auto. (709362)
  • GI: Progressive lightmapper now honors GraphicsSettings.LightsUseLinearIntensity.
  • GI: Support quads in progressive lightmapper (890651)
  • Graphics: Clarify when shadow cascade parameters are set in regard to command buffer (818448)
  • Graphics: ComputeScreenSpaceShadowMap after first initialization of s_CollectMaterial never returns NULL, which may create inconsistent behavior after startup. Now returns NULL if screenspace shadows are disabled. (767050)
  • Graphics: Display an error message and disallow subregion copying of a depth-stencil texture. (883393)
  • Graphics: Fix assertion when setting updateWhenOffscreen on a disabled SkinnedMeshRenderer (912722)
  • Graphics: Fix Editor crash by ensuring the camera and camera stack are valid after a PreCull message. (876867)
  • Graphics: Fix grid rendering incorrectly in the Animation Preview window. (903454)
  • Graphics: Fix incorrect warning about using instancing and static batching simultaneously.
  • Graphics: Fix looping line discontinuity (904622)
  • Graphics: Fixed crash trying to use a compute buffer which failed to be created. (886290)
  • Graphics: Fixed crash when Unity loses focus caused by a camera being removed whilst it is being rendered. (869109)
  • Graphics: Fixed flickering game view window when resizing the window. (880788)
  • Graphics: Fixed instancing mesh sorting when custom properties are set on renderers.
  • Graphics: Fixed metal editor game view resize leak (918940)
  • Graphics: Fixed metal editor shader warmup (916950)
  • Graphics: Fixed render target becoming white or black on stop if set to don't clear. (884057)
  • Graphics: Incrased batching limits to 65,000 vertices. (810600)
  • Graphics: Make sure wrap modes are valid before setting them on a texture to fix assert message spam "Assertion failed on expression: 'translated != kInvalidEnum'" (883459)
  • Graphics: Re-generate real-time Reflection Probe cubemap when screen resolution is changed. (868638)
  • Graphics: Removing support for screenspace shadow shader when it should be used based on tier settings will deactive directional shadow for consistency (867797)
  • Graphics: Throw an exception if script tries to set a random write target texture and the texture does not have random write enabled.
  • IMGUI: Fixed an issue where buttons were not working in the Save Asset Dialog. (909021)
  • iOS: Fix to hide the status bar while playing movies with CancelOnInput or Hidden modes. (871989)
  • iOS: Metal: Fixed unnecessary half to float casts in generated shaders (898788)
  • iOS: Removed deprecated calls to wantsFullScreenLayout. Status bar stype option values updated. (894136)
  • iOS: Removed extra notification sent on application launch (875180)
  • iOS: UnityEngine.iOS.Device.SetNoBackupFlag can now be called from background threads. (851113)
  • Kernel: Fixed log message filtering for LogType.Exception. (820286)
  • Kernel: Fixed Mathf.PingPong and Mathf.Repeat returning negatives values for some specific value (861278)
  • Multiplayer: Added better error messages when processing a non-valid state in weaver (875195)
  • Multiplayer: Fix issue with network transport host being removed with invalid host id, when using custom network connection (NetworkConnection override) (881764)
  • Multiplayer: Fix issue with NetworkAnimator not updating parameters (related to local player authority) (779549)
  • Multiplayer: Fix max events flood protection in network client
  • Multiplayer: Fix problem with cleaning/resetting network identities in disabled objects, in the network manager (881743)
  • OSX: Fixed crash caused by quick open/close of GUIWindows. (884145)
  • OSX: (893036)
  • OSX: Fix for Apple filesystem (APFS) compatibility
  • Particles: Align to Direction now works for Mesh particles. (864493)
  • Particles: Disable/re-enable of Particle System GameObject now causes it to successfully restart previewing. (767489)
  • Particles: Fix another "Invalid AABB error" (903805)
  • Particles: Fixed all 3 curves(x,y,z) being added to the Particle System curve editor when switching to curve state and only in single axis mode (855588)
  • Particles: Fixed curves with loop or ping pong wrap modes being incorrectly converted into poly curves and thus causing asserts.
  • Particles: Fixed module curves being shown in curve editor after the module was disabled due to an undo operation (861424)
  • Particles: Inspector now refreshes when changing MinMaxCurve types from script. (788240)
  • Particles: Particle system culling was not working until it was rendered at least once (680242)
  • Particles: Particle system is no longer cleared if procedural emission buffer contains items. (801335)
  • Particles: Particle trails could render with graphical corruption when used on Sub-Emitters (895376)
  • Particles: Removing a ParticleSystem on a GameObject that has a component with RequireComponent(Renderer) is now correctly prevented. (888048)
  • Particles: Reset Component option is now fully working for Particle Systems. (715605)
  • Particles: Scripted Play/Stop/Simulate etc generate no garbage, and handle sub-emitters correctly. (856840)
  • Particles: Size over lifetime now correctly affects collider size, and sub-emitter inheritance. (792289)
  • Particles: The Pivot offset used for Stretched Particles was incorrect along the X axis. (830382)
  • Particles: Velocity and Force modules now apply scale correctly when using World Space mode. (874051)
  • Physics: Fix a crash that happened when continuously scaling a MeshCollider while activating and deactivating it at the same time (878740)
  • Physics: Fix a crash that happened when more than 262143 colliders were created. This is not supported by PhysX and we won't be creating colliders once this limit is reached. (872785)
  • Physics: Fix a crash that happened when scaling a mesh that PhysX failed to cook properly (think a convex MeshCollider with too many vertices). (892396)
  • Physics: Fix a crash updating active skinned meshes. (845868)
  • Physics: Fix a rare crash that occured when a solver batch was indexed incorrectly (PxsSolverSetupSolveTask was reported in the callstack) (874515)
  • Physics: Fix for crash when repeatedly unloading/loading cloth on XBox One and PS4. (909248)
  • Physics: Fix for normals issue with cloth using tiny mesh. (766851)
  • Physics: Fix horizontal clipping in the layer collision matrix when some layers had names that were too long (526797)
  • Physics: Fix interpolation and extrapolation being being applied in an incorrect order for nested Rigidbodies. This affected the stability of ragdolls that had interpolated bones. (772337)
  • Physics: Fix Physics.ComputePenetration & Physics.ClosestPoint not returning the correct value when a rotated collider had it's centre offset (865250)
  • Physics: Fix Rigidbody.collisionDetectionMode being impossible to change if it was initially set to Continuous (784529)
  • Physics: Fix Rigidbody.collisionDetectionMode being impossible to change if the Rigidbody was part of a pool of objects (889118)
  • Physics: Fix to avert 'value must be greater' errors in cloth. (895771)
  • Physics: Fix to avert cloth errors with prefabs: in cloth inspector we now check if cloth has no verts disabled and we eprocess mesh if re-enabled and previous cloth mesh had no verts. (893025)
  • Physics: FIx voodoo trigger events being fired to scripts when a degenerate CapsuleCollider was used (701504)
  • Physics: Fixed a crash caused by changing the value of the configuredInWorldSpace flag on a Joint attached to an inactive GameObject. (832197)
  • Physics: Reprocess mesh used for cloth if changed. (664672)
  • Physics: Reprocess mesh used for cloth if changed. (879584)
  • Scripting: Editor recompilation is no longer triggered when adding WinRT dlls which are not used by the editor. (861189)
  • Scripting: Fix a memory leak and performance degradation when adding nested classes as components. (856497)
  • Scripting: Fix crash caused by Transform pointer not being a Transform instance in OnEnable (898810)
  • Scripting: Fix crash due to "Too many threads" (882697)
  • Scripting: Fix crash when Deep Profile is enabled (897828)
  • Scripting: Fix issue where OnDisable would not get called when entering play mode for ScriptableObjects that were created in edit mode and do not have a script file with the same filename as the ScriptableObject class name. (883373)
  • Scripting: Fixed case of ScriptExecutionOrder not being applied when entering play mode. (830711)
  • Scripting: Fixed closing script execution order window not opening apply/revert dialog (916399)
  • Scripting: Fixed crash in C# updater with arrays in some expressions. (855785)
  • Scripting: Fixed issue with API updater not updating player specific code inside conditional #if's such as #if !UNITY_EDITOR when building player (908821)
  • Scripting: Fixed memory leak in UnityWebRequest when Dispose is not called (862095)
  • Scripting: Fixed rare crash that could occur after accessing null AnimationState (and Null Reference Exception is thrown). (847112)
  • Scripting: Fixed Script Updater issue with generic type parameters on methods under member access expressions. (863941)
  • Scripting: Improved error message when ScriptableObject is used with abstract classes. (850202)
  • Scripting: Improved the error shown when a class must inherit from ScriptableObject instead of MonoBehaviour. (867259)
  • Scripting: Prevent managed thread creation during app domain reload (882697)
  • Scripting: Script Updater: Automatically update ParticleCollisionEvent.collider to ParticleCollisionEvent.colliderComponent
  • Scripting: Script Updater: Do not remove required "using namespace" due to inadvertently deeming it as not used
  • Scripting: Stop calling OnEnable and OnDisable when adding Image component to child via script (897146)
  • Services: Fixed issue with Unity project ID when importing assets from the asset store containing a project ID. (867382)
  • Shaders: Fixed standard shader not supporting _Bumpscale on iOS and Android platforms. (881869)
  • Shaders: Occlusion sampling in shader now takes into account parallax map/offset. (783222)
  • SpeedTree: Fix a case where LOD1 range cannot be adjusted in SpeedTree importer GUI. (886674)
  • Terrain: Fix asset messages when deleting in-use terrain asset. (863970)
  • Terrain: Fixed a crash that happens when loading corrupt terrain data. (913478)
  • UI: Augmented variable capacity to correctly handle large numbers of tiles. (862575)
  • UI: Fix coroutines stopping when attaching UI components (904415)
  • UI: Fix disabling of parent script when adding a RectTransform to a child (911871)
  • UI: Fix editor crash when adding text component to game object in play mode via the script (882791)
  • UI: Fix GC spikes when enabling MaskableGraphic (899441)
  • UI: Fixed Child UI elements in parent Canvas cannot be configured after changing their Anchor preset and previewing it (882651)
  • UI: Fixed crash when deleting a nested canvas with nested canvas children. (858847)
  • UI: Fixed crash when exiting scene that has animation animating UI elements (889776)
  • UI: Fixed crash when UI mask component deleting the canvas renderer material when entering playmode (900515)
  • UI: Fixed crash with Editor inspector trying to draw a null material editor for UI elements (891450)
  • UI: Fixed editor memory leak when editor display was not visible but has UI elements rendering to it (887819)
  • UI: Fixed GraphicRaycaster Ray-cast distance value (848130)
  • UI: Fixed impcomplete integration of UV2 & UV3 with UI elements (899626)
  • UI: Fixed issue that would prevent the text field input caret from updating when the virtual left and right arrow keys were pressed. (850430)
  • UI: Fixed issue where fonts created by script would fail to appear. (858645)
  • UI: Fixed issue with Application focus loss breaking Input with VR devices (896933)
  • UI: Fixed issue with NAN in scrollRect viewport content when changinge position (881819)
  • UI: Fixed issue with rapidly scaling Raw Image (895468)
  • UI: Fixed nested canvas returning a null camera after its root canvas has been disabled and then re-enabled (892913)
  • UI: Fixed RectTransform editor drawing issue where anchor preset labels all shown as Custom (896198)
  • UI: Fixed Tiled uGUI image shaking when changing its size (649927)
  • UI: Fixing issue with overwriting text with '-' at the start (896424)
  • UI: PhysicsRaycaster now culls raycasts that are outside of the camera viewport. This prevents confusion between multiple raycast hits when using multiple cameras with different viewports. (636595)
  • UI: Selectable SelectionState is now updated as expected when setting interactable to true. (861736)
  • UI: The input field caret now generates the GameObject with the correct transform type as well as a CanvasRenderer, to prevent doing a switch of Transforms at runtime. (863470)
  • UI: The inverse transform of the canvas (m_CanvasData.invCanvasMatrix) is now updated when its ancestor has changed (i.e. not just its direct parent). (870698)
  • UI: Use canvas dimensions to compute bucket size of nested canvases, as was already the case for root canvases. (913932)
  • Video: Android: Crash on Samsung devices with 4.1 OS when stopping playback. (900881)
  • Video: Android: Fix garbage collector abuse and freeze when changing current clip during playback. (894208)
  • Video: Android: H.264 videos above 480p crash on devices with 4.1 OS with Adreno 203 graphics. (893863)
  • Video: Android: VP8 videos not playing on Samsung devices with 4.2 / 4.4 OS (895687)
  • Video: Fix .mov video referenced from URL on Windows (900325)
  • Video: Fix video end detection (890946)
  • Video: Fix video end detection (894319)
  • Video: Fixed MovieTexture support for Metal. (911115)
  • Video: Optimized video decoding directly into RenderTexture if it is the same size as the video stream
  • Video: VideoPlayer.isPrepared always returns false after calling VideoPlayer.Prepare() when playOnAwake is false with some video files (893939)
  • Video: VideoPlayer.Prepare() broken on random video files (897708)
  • Video: [Video Player] Can't play a Video Clip If WaitForFirstFrame is enabled (899233)
  • Video: [VideoPlayer] Video which has 6-channel audio and its audio codec is AC-3 doesn't play on Windows (893910)
  • VR: Camera target eye masks now work under single pass stereo rendering. (817492)
  • VR: Fix crash in Editor when attempting to do Holographic Simulation when graphics API forced to DX9 (885634)
  • VR: Fix daydream back button handling to deal with app store submission rejection (893219)
  • VR: Fix Daydream icon labels to not display tooltip text in the label. (891613)
  • VR: Fix: Android antialiasing quality settings not being able to change at runtime. (896253)
  • VR: Fixed crash on HoloLens and Windows Mixed Reality caused by large amounts of input data overflowing queue
  • VR: Fixed particle shader errors when using instanced single pass. (872164)
  • VR: Integrate Google VR iOS SDK 1.20 (885513)
  • VR: Removed Daydream specific call outs in documentation that are no longer correct. (900866)
  • VR: Stop exiting VR when render scale is set higher than texture memory will allow and safely reverting back to last known good scale setting. (916952)
  • VR: VRDevice.refreshRate now reports correct values on Oculus devices. (820293)
  • WebGL: Fix Input.simulateMouseWithTouches (894098)
  • WebGL: Fix WebGL build failure when both WebAssembly and Full Exceptions are enabled (892185)
  • WebGL: Fixed wasm build failure on MacOS caused by special characters in project path (899387)
  • WebGL: Turn WebAssembly loading errors into simple log messages (896202)
  • Windows: Fixed not being able to start the game with exclusive fullscreen mode on a secondary monitor (789575)
  • Windows: Fixed resolution selector showing primary monitor resolutions even when a secondary monitor is selected.
  • Windows: Fixed the game window moving to the primary monitor when it is resized using Screen.SetResolution function (881735)
  • Windows: Fixed window not resizing to new monitor's size when moving window to another monitor while in windowed fullscreen mode.

LTS Release 2017.1.0f1

Released:

LTS Release 2017.1.0f1

Released:

2017.1.0f1 Release Notes (Diff since b10)

Known Issues

  • Audio: On Windows, AudioSource attached to VideoPlayer produces choppy sound when game iterations are overrunning. (895458)
  • VR: Rendering problems on Pixel Daydream when using 4x or 8x MSAA with single-pass stereo. This is due to driver issues, so the problem will be addressed via a driver update, independently of Unity releases. (-)

Changes

  • Editor: 2017 Editor now needs a new version of license. Subscription key will be upgraded. 5.x license key will not be accepted by 2017 Editor.

API Changes

  • Asset Pipeline: Asset Pipeline: Added methods AssetBundle.GetAllLoadedAssetBundles and AssetBundle.UnloadAllAssetBundles. (920140)
  • iOS: iOSStatusBarStyle.BlackOpaque and iOSStatusBarStyle.BlackTranslucent are obsolute use iOSStatusBarStyle.LightContent instead (894136)

Fixes

  • Animation: Fixed crash when disabling GameObject in OnStateMachineExit. (912808)
  • Animation: Fixed crash when previewing empty clips (909671)
  • Animation: Fixed crash when saving while transition previewer is running (910640)
  • Animation: Performance optmization with complex blendtrees.
  • Animation: Proper deprecation of Animator.Stop() (903787)
  • Editor: Fix transform precision issue when moving multiple objects. (907854)
  • Graphics: Fixed metal editor game view resize leak (918940)
  • Graphics: Fixed metal editor shader warmup (916950)
  • iOS: Removed deprecated calls to wantsFullScreenLayout. Status bar stype option values updated. (894136)
  • OSX: Fix for Apple filesystem (APFS) compatibility
  • Scripting: Fixed memory leak in UnityWebRequest when Dispose is not called (862095)
  • WebGL: Fixed wasm build failure on MacOS caused by special characters in project path (899387)

The following are changes and fixes to 2017.1.0 features and regressions...

Improvements

  • Multiplayer: Added a new overload to NetworkManager.StartClient function which allows to specific which port should the local socket be bound to

Fixes

  • 2D: Stencil states are ignored when shader is used with SpriteRenderer (922208)
  • Android: Fix issue where Android IL2CPP builds may fail if built from an editor script. (921526)
  • Android: Fixed a regression where Banner Ads are invisible, but still clickable. (918960)
  • Animation: Fixed Animator.GetBehaviour() returning null after recompiling a script while in play mode (913301)
  • Editor: Added menu items used to create new UnityScript components that were removed in b10
  • Editor: Fixed error when dragging script to inspector (907212)
  • Editor: Fixed incorrect asserts when gizmos are rendered in the Game view. (851379)
  • Editor: Fixed unnecessary prefab disconnection when dragging script to end of component list in inspector (911697)
  • Editor: Warn, rather than fail, if an external process Unity launches suspended has been unexpectedly resumed by another process. Note: Some versions of RenderDoc have a bug which can cause this. (906745)
  • GI: Fixed case of tiling being ignored by the Progressive Lightmapper.
  • Graphics: Added tier settings for Light Probe Proxy Volume.
  • Graphics: Removed assertions when calling CommandBuffer.DrawRenderer on disabled renderers (917188)
  • Graphics: Removed assertions when calling CommandBuffer.DrawRenderer on disabled renderers (917188)
  • IL2CPP: Correct a problem in generated C++ code that could cause a Task object to not properly indicate that it is completed when it should (.NET 4.6 profile only) (916582)
  • IL2CPP: Fix loading of system dynamic libraries (like sqlite3) on iOS via the DllImport attribute case (918693)
  • IL2CPP: Prevent I18N assemblies in the project from being stripped (913913)
  • IL2CPP`: Avoid a crash during some socket operations with the new Mono runtime (918396)
  • Linux: Fix control characters being added to input manager input string (916125)
  • Mono: Correct a crash with the new Mono runtime that can happen when sqlite is used (908606)
  • Mono: Correct a crash with the new Mono runtime that can occur during XML serialization (916881)
  • Mono: Correct a parsing error in the C# compiler which occurs when the ternary operator is used without spaces (871725)
  • Mono: Correct an error in the C# compiler which caused a static directive and an enum to incorrectly conflict (902369)
  • Mono: Prevent a crash when a memory mapped file is used on Windows with the new Mono runtime (909609)
  • Mono: Prevent a problem with the new Mono runtime where the package import tree could show duplicate entries (916470)
  • Physics: Fix a crash when a 2D Collider is recreated during contact reevalutation. (920587)
  • Scripting: Fix end of frame event not being sent in batch mode (914052)
  • Scripting: Fix handling of aliased types when the type's namespace is configured to be updated
  • Scripting: Fixed nested types updating on local variable / parameter declarations
  • Timeline: fix nullref on timeline asset edit clip drag (918742)
  • Timeline: Fixed nullRef exception when unmaximizing the Timeline Window (921282)
  • Timeline: No conversion to clip when adding an animation on infinite track (895929)
  • UI: Fixed a rare Transform::kReceivedDueToParentTRSChanged assertion failure introduced in 2017.1.0b9 (917177)
  • VR: Update GoogleVR SDK to 1.60.1 (859281, 911311, 901404)
  • WebGL: Fix wasm Integer overflow error on DirectorFrameTime::CalculateDSPDeltaTime (912234)
  • WebGL: Fixed UnityWebRequest Transport error on startup (916739)

2017.1.0f1 Release Notes (Full)

Features

  • 2D: Added Sprite Physics Shape to Sprite Editor, to allow users to set a custom default shape for a Sprite for generating collider shapes with a PolygonCollider2D.
  • 2D: Introduced 2D Sprite Atlas, a new asset that will supplant the Sprite Packer. With it comes new and improved workflows that gives the developer more control on how to pack sprites and use them at runtime. description
  • 2D: Sprite Mask. Mask Sprites in world space using the new SpriteMask component. description
  • Animation: Manual Keyframing Workflow. Separate Recording and Preview modes in the Animation Window. Contextual menus added to all animatable properties in the inspector.
  • Animation: New GameObjectRecorder in UnityEditor.Experimental.Animations
  • Audio: Added support for ambisonic audio clips and ambisonic decoder plugins.
  • Audio: Timeline Editor Audio Track support. Audio clips are now enabled in Timeline, using a scheduling API.
  • Collab: In-Progress. In-Progress allows developers using Unity Collaborate to see who else on their team has made local changes to a Scene or Prefab before those changes have been published.
  • Editor: Added new ArcHandle class in UnityEditor.IMGUI.Controls to interactively edit arcs in the Scene View. description
  • Editor: Experimental feature : retained-mode UI system for the Editor (UI Elements)
  • GI: Added support for baked LODs in Progressive Lightmapper
  • GI: Support for double sided materials in Progressive Lightmapper. Added a new material setting that causes lighting to interact with backfaces. When enabled, both sides of the geometry get accounted for when calculating Global Illumination. Backfaces do not count as invalid when seen from other objects. Backface rendering is not controlled by this setting nor will backfaces be represented in the lightmaps. Backfaces bounce light using the same emission and albedo as frontfaces.
  • Graphics: Added Custom Render Texture asset. A Custom Render Texture is a new type of Render Texture that can be easily updated with a shader. It provides a user interface and a scripting framework.
  • Graphics: Added LineUtility class and 'LineRenderer.Simplify' function. Optimize your lines and curves by using the LineUtility to create a simplified version with a similar shape.
  • Graphics: Added partial update/readback of compute buffers
  • graphics: Updated Splash screen logo and style
  • IMGUI: Added SearchField, a new IMGUI Control. It comes with Normal and Toolbar UI styles but can also be customized.
  • Input: Added new Player Settings property 'Input Manager' for enabling backend of new input system preview feature. The front-end is supplied separately and is not included with the release.
  • iOS: Enable deferred shading rendering path for Metal and OpenGL ES 3.0 for A8 and later iOS devices.
  • Particles: Added support for using Sprites in the Particle System, via the Texture Sheet Animation Module
  • Particles: Apply Noise Module data to particles sizes and rotations, and also send the noise data to your shaders via new Custom Vertex Streams.
  • Particles: New Donut emission shape.
  • Playables: Playable Assets added to Playable API.
  • Playables: Playable Director added to play Playable Assets
  • Playables: Timeline Editor and Runtime API. A tool for sequencing animation, scripts and audio.
  • Shaders: Added support for "inline" sampler states.
    • HLSL SamplerState objects that aren't taking sampling state from any texture (like what "sampler"+TextureName samplers do), but where sampling state is instead derived from the name.
    • For example, "MyLinearClampSampler" sets up bilinear filtering and clamp wrap mode; while "point_repeat_sampler" sets up point filtering and repeat wrap mode.
    • This allows e.g. doing both PCF depth comparison and reading raw depth value from a shadow map in a single shader.
    • Note that generally only modern graphics APIs support separate textures & samplers. You might therefore want to specify #pragma target 3.5 or similar in your shaders for this.
    • Implemented on DX11, DX12, PS4, XB1, Metal (Vulkan not yet).
  • Windows: Multi-display support for UWP.

Changes

  • Asset Import: Upgraded FBX SDK to 2016.1.2
  • Build Pipeline: Added new function SwitchActiveBuildTargetAsync. This defers switching so that scripts can be imported first.
  • Build Pipeline: Event EditorBuildSettings.activeBuildTargetChanged has been deprecated as events do not survive script reloading. Replaced with interface class IActiveBuildTargetChanged and attribute ActiveBuildTargetChanged.
  • Editor: 2017 Editor now needs a new version of license. Subscription key will be upgraded. 5.x license key will not be accepted by 2017 Editor.
  • Editor: Added new GameObject sub menu - 'GameObject/Effects/. This menu includes a Line andTrail creation. The particle system has also been moved to this menu.
  • Editor: Added requirement for Visual C++ Runtime 2013 and 2015 to be installed when installing Windows Editor (i.e. the check is performed by Windows Editor installer).
  • Editor: AssetServer version control support has been removed from the editor.
  • Editor: Moved particle system rigidbody info message to top of the system as it does not just apply to inherit velocity
  • Editor: New projects now default to text-based serialization
  • Editor: Particle trail material slot is now always visible even if it is not used.
  • Editor: RenderDoc enabled for DX12 Editor mode.
  • Light modes: Shadowmask and Distance shadowmask modes are now a Quality Setting and can be changed at runtime.
  • OSX: Disabled Metal on macOS 10.12.2 and 10.12.3 for stability reasons if GLCore is also present in API list
  • Universal Windows Platform: DX11 feature level 9.3 GPU support is required now. In practice this probably does not affect anything, as all Windows Phones that ever existed support 9.3 level already.
  • Universal Windows Platform: Removed support for building Windows 8.1 and Windows Phone 8.1 applications.
  • VR: Added OpenVR to the default PC VR SDK list. The default behavior is to try initializing Oculus first, followed by OpenVR if an Oculus device isn't detected.
  • VR: GPU skinning can be enabled for Android VR. This is experimental, and behavior and performance should be verified on target devices.
  • VR: Updated Google NDK for Android and iOS to 1.40
  • Windows: "Visible In Background" player setting now defaults to on.
  • Windows: Renamed "Windows Store" to "Universal Windows Platform"

Improvements

  • Android: Add default equals, hashCode and toString implementations to AndroidJavaProxy
  • Android: Apk files are now signed using the new APK Signature Scheme v2.
  • Android: OBB compatibility is now done using build id rather than a hash of the OBB file
  • Animation: Statemachinebehaviour can now be debugged in play mode in the editor
  • Asset Import: Added ability to import visibility from FBX files to ModelImporter
  • Asset Import: Added the option of computing weighted normals when importing FBX files. Fixed normal generation for hard edges.
  • Asset Import: Changing tabs in the Model Importer inspector does not force users to apply changes anymore
  • Asset Import: Reduced the import time for FBX assets with humanoid animations
  • Asset Import: Support Segment Scale Compensate for models exported from Maya.
  • Asset Pipeline: Enabled asynchronous texture uploading from non-scene Asset Bundles on all platforms
  • Asset Pipeline: In batchmode the FailedAssetImports.txt file is now ignored because there's no way to cancel or notify the user when the asset importer fails.
  • Build Pipeline: Scripts-only build is now available on all platforms.
  • Build Pipeline: Unified assembly stripping code used for IL2CPP and Mono builds - which should result in more consistent behaviour between IL2CPP and Mono and in smaller build sizes for platforms supporting assembly stripping on Mono.
  • Collab: Project Browser Filters including 'All Modified', 'All Excluded', 'All Conflicts', 'All In Progress'
  • Collab: Right Click Menu Options in the Project Browser including See Differences, Revert, Conflict Resolution
  • Editor: Added "Called From" and "Calls To" view to the Hiverarchy View of Profiler Window.
  • Editor: Added a pre-drop style to particle system Object fields so it highlights if something can be dropped.
  • Editor: Added callbacks for assembly reload events: two events are dispatched: one before and one after reloading all assemblies. See: class AssemblyReloadEvents.
  • Editor: Added profiler labels to all player loop stages
  • Editor: Defines in mcs.rsp are added to .csproj files generated for MonoDevelop, Xamarin Studio, Visual Studio Code & JetBrains Rider
  • Editor: DX12 Editor is more responsive and little bit faster.
  • Editor: Improvements to Package Export loading state
  • Editor: Log messages from connected players will now show in Editor console for easier debugging.
  • Editor: macOS: Show Visual Studio for Mac in External Script Editor Lists if installed in default "/Applications/Visual Studio.app/" location
  • Editor: MacOS: Support Visual Studio for Mac as an External Script Editor. Opens .sln (solution) file when double clicking a script.
  • Editor: Scripts willl be opened correctly in JetBrains Rider when selecting it as external script editor.
  • Editor: Simplify dragging code setup: Getting rid of the requirement of setting DragAndDrop.objectReferences = new UnityEngine.Object[] {} when using DragAndDrop.SetGenericData()
  • GI: Upgrade Enlighten SDK to version 3.08p1
  • Graphics: Added a batch break cause (material disables instancing) to Frame Debugger.
  • Graphics: Added a new surface shader option "dithercrossfade", generating the screen-door dithering effect code automatically for being used in LOD cross-fade mode.
  • Graphics: Added memoryless mode to RenderTexture, accessed through new property RenderTexture.memorylessMode.
  • Graphics: Added Mirror and MirrorOnce texture wrapping modes, in addition to existing Repeat and Clamp ones.
  • Graphics: Added new default material for trails. 'Default-Trail'
  • Graphics: Frame Debugger is now capable of showing array shader properties.
  • Graphics: Optimized conversions between float32 and float16 image formats on Editor for a x2 to x4 performance improvement.
  • Graphics: Texture wrapping modes can be set separately on each U,V,W axis.
  • Graphics: The default names for Graphics Quality Levels have been changed to be a little clearer, and more in line with what is common across other games. This will only affect newly created projects; existing projects will have the same Quality Level names as before (though, as always, you can edit the names via Edit -> Project Settings -> Quality).
  • Graphics: Unity can now accept and use a pointer to an externally created cubemap
  • IL2CPP: Improved IL2CPP code conversion time on OSX. Conversion times may improve by as much as 2x.
  • iOS: Added support for Watch apps and Watch app extensions in the Xcode extension API.
  • Mobile: Added TouchScreenKeyboardType.Social and TouchScreenKeyboardType.Search for iOS/tvOS, Android, WindowsPhone and Tizen platforms.
  • OSX: Added Appstore category field to player settings and improved info.plist generation
  • OSX: Added support for loading the first scene asynchronously when showing the splash screen.
  • OSX: Metal: [MTLDevice recommendedMaxWorkingSetSize] is now used to query VRAM size when available.
  • Particles: Added edit modes for Particle system collision mode planes.
  • Particles: Align Particles to their velocity direction
  • Particles: Allow Emit over Distance to be used for Local Space systems
  • Particles: Allow users to disable the use-rigid-body physics functionality
  • Particles: Edge emission is now more flexible, allowing you to choose the thickness of the edge used for generating particles.
  • Particles: Improved particle system culling mode supported tooltip messages. These now contain more details on why the culling mode is unsupported.
  • Particles: It is now possible to animate both the min and max constants, when using Random Between 2 Constants mode.
  • Particles: Mesh particles now support the same Render Alignment options are billboarded particles
  • Particles: Particles can now apply forces to the Colliders they hit
  • Particles: Play Particle Systems when your game is paused, by choosing to use either Scaled or Unscaled time for the simulation.
  • Particles: Randomize the spawn positions of particles, with a new option in the Shape Module.
  • Particles: Scene lighting can now affect Lines and Trails.
  • Particles: The Shape Module now contains an additional Transform, for applying custom transformations to the emitter shape.
  • Particles: The speed range of a Particle System is now displayed in the Scene View GUI, when previewing a Particle System.
  • Physics: Add ability to manully simulate 2D physics using "Physics2D.Simulate(time)" and turn auto simulation on/off with "Physics2D.autoSimulation=true/false".
  • Physics: Expose Physics.Simulate and Physics.autoSimulation. This allows stepping the physics simulation manually, from scripts. Useful for customising the server-side physics, in-editor simulation, and more.
  • Physics: When setting 'Rigidbody2D.simulated' to false, Editor inspector shows information about its effect.
  • SamsungTV: UnityWebRequest is now supported on SamsungTV
  • Shaders: Optimized game data build time for shaders with massive ("millions or billions") potential variant counts. Fixed shader inspector popup menu to display variant counts larger than 2 billion properly.
  • Shaders: Pass platform caps keyword defines to compute shaders
  • Shaders: SystemInfo.graphicsShaderLevel now reports more accurate shader models that better match shader #pragma target levels (now can report values 25, 35, 45, 46).
  • Shadows: Improved shadow culling for stable fit directional shadows.
  • Shadows: Improved shadow filtering for directional and spot lights.
  • UI: Added support for selecting multiple files in the "Assets/Import New Asset..." dialog, on all platforms
  • Universal Windows Platform: Unity player binaries are now signed.
  • VR: Updated to Oculus version 1.14
  • Web: (Also mentioned under API Changes) UnityWebRequest now has built-in support for downloading MovieTexture on platforms that do support it. A new helper class WebRequestMultimedia has been introduced for simple download of MovieTexture or AudioClip. WebRequest.GetAudioClip() has been deprecated in favor of WebRequestMultimedia.GetAudioClip().
  • Web: It is now allowed to override User-Agent header in UnityWebRequest

API Changes

  • Animation: AnimationLayerMixerPlayable scripting API added.
  • Area: Description (FogBugz ID)
  • Asset Import: Added ModelImporter.extraUserProperties
  • Asset Import: Added ModelImporter.importVisibility
  • Asset Pipeline: Asset Pipeline: Added methods AssetBundle.GetAllLoadedAssetBundles and AssetBundle.UnloadAllAssetBundles. (920140)
  • Build Pipeline: Added delegates to BuildPlayerWindow that allow overriding the default Build button behavior
  • Editor: ArcHandle.radius can now be negative
  • Editor: PrimitiveBoundsHandle and subclass constructors no longer require a control ID hint
  • Editor: Removed unnecessary ArcHandle constructor taking a control ID hint
  • GI: Added new API for setting Light falloff per Light. Added API for setting all Lights to use physically correct inverse squared falloff or the Unity legacy falloff model. Only used for Enlighten lightmaps so far, realtime and progressive will be supported later.
  • Graphics: Added RenderTextureDescriptor struct that allows you to copy and create RenderTextures by passing a single value.
  • iOS: Added API to change iOS splashscreens.
  • iOS: iOSStatusBarStyle.BlackOpaque and iOSStatusBarStyle.BlackTranslucent are obsolute use iOSStatusBarStyle.LightContent instead (894136)
  • Light modes: Added QualitySettings.shadowmaskMode
  • Physics: Added 'Joint2D.attachedRigidbody' property to retrieve the Rigidbody2D attached to the Joint2D.
  • Physics: Exposed Joint.massScale & Joint.connectedMassScale. This allows adjusting masses and inertia tensors of the connected bodies as perceived by the solver. It's mostly useful for ragdolls that have high forces applied to their limbs and thus experiencing unpleasant stretchiness. This should also help avoiding setting the same mass for all the body parts of a ragdoll, as recommended before. See more in the API docs.
  • Playables: - Changed C# Playable classes to structures: new and better approach for the API, it uses less memory and is in line with the future job system.
    • Remove properties in favor of getters and setters: since we're using class extensions that can't have properties, we decided to only use methods to have a consistant API (i.e. not properties there and methods here just because reasons).
    • Rename ScriptPlayableData to PlayableBehaviour: the PlayableBehaviour is the user side of the ScriptPlayable, it is where the user puts its logic.
    • Documentation is in progress expect a better one in a few weeks.
  • Playables: Moved Playable out of Experimental namespace.
  • Playables: New method PlayableGraph.IsPlaying()
  • Playables: Renamed PlayableGraph.Connect() parameters for clarity
  • Scripting: Add serialization support for unsafe fixed size buffers. See SerializedProperty.GetFixedBufferElementAtIndex docs for example code.
  • Scripting: Made GameObject.CalculateBounds() internal after it was accidentally made public in the 2017.1 beta cycle. This API is in the wrong place and will be moved/removed entirely in a future release
  • Scripting: Rename to Debug.logger to Debug.unityLogger (852000)
  • UI: Change isPaused to isFocused to better represent what it is. Only Effects 2017.1 betas
  • Web: (Also mentioned under Changes/Improvements) UnityWebRequest now has built-in support for downloading MovieTexture on platforms that do support it. A new helper class WebRequestMultimedia has been introduced for simple download of MovieTexture or AudioClip. WebRequest.GetAudioClip() has been deprecated in favor of WebRequestMultimedia.GetAudioClip().
  • Web: A new UnityWebRequest.timeout property that gives the user some coarse-grain control over the time a webrequest can take before unity attempts to cancel it.
  • Web: Added timeout property to UnityWebRequest. (823903)
  • Web: Moved UnityWebRequest.GetTexture() to UnityWebRequestTexture.GetTexture().

Fixes

  • 2D: A quad mesh will be generated when generating Sprite from a blank texture. (890845)
  • 2D: Add back POT option when in TextureImporter for Sprites (884926)
  • 2D: Fix "Register Undo object is not a ScriptableObject" error message when editing Sprite in SpriteEditorWindow after entering and exit PlayMode (900436)
  • 2D: Fix NullReferenceException error when entering PlayMode with SpriteEditorWindow opened (900419)
  • 2D: Fix occasional crash when SpriteRenderer.size is set multiple times in a single frame (898946)
  • 2D: Fix Sprite UV not updated when data is copied via EditorUtility.CopySerialized (884970)
  • 2D: Fix SpriteRenderer not rendering Sprite in TileMode when mesh generation exceeds max vertex limit (888884)
  • 2D: Rephrase warning message to include Sprite generated in PolygonMode in SpriteRenderer when TileMode is set (889106)
  • AI: Add missing API for minimum region area when building navmesh using the runtime API. (906017)
  • AI: Fix for NavMesh.SamplePosition returning inconsistent position depending on slope and tessellation of the navmesh (702030)
  • AI: Fix internal limitation of slope maximum of 60 degrees when building navmesh using the runtime API. (906012)
  • AI: Fix issue where carving obstacles could create wrongly shaped holes on navmesh instances of arbitrary rotation. (902956)
  • AI: Fix issue where the NavMeshAgent would sometimes jitter when moving over a navmesh that has been carved by obstacles (886529)
  • AI: Fix missing support for triangulating navmesh instances with arbitrary rotation. (886302)
  • AI: Fix rare truncation of paths - making the NavMeshAgent oscillate instead of completing movement. (908027)
  • AI: Fix regression where a NavMeshAgent with 'autoTraverseOffMeshLink' set to false would not move freely. (905621)
  • AI: Fixed a crash happening when Warp() is called many times for a NavMeshAgent. (904910)
  • Android: SoftInput - Disable suggestions when autocorrect is false to make the behavior consistent with iOS (906014)
  • Animation: Animator.Rebind should reset AnimatorController ( for backward compatibility's sake. (899553)
  • Animation: Clarified documentation on Translation DoF settings for Humanoids (847234)
  • Animation: Display "Update reference clips" button for Generic rig too (871684)
  • Animation: Fixed "Key Modified" hotkey in the animation window that did not add keys for Euler Angles (Quaternion) and Quaternion interpolations (898957)
  • Animation: Fixed a bug where AnimationClipPlayables connected after the first frame never played
  • Animation: Fixed adding State/StateMachines with invalid names. (882122)
  • Animation: Fixed an issue where Optimize Game Objects would cause invalid scale being applied with some animations (879368)
  • Animation: Fixed an issue where previewing animations with an exit time of zero would prevent the previewer from showing (883536)
  • Animation: Fixed an issue where results were incorrect when the only layer of a state machine was set to additive (862998)
  • Animation: Fixed an issue where the Rig importer Mask's transform list was populated even though the definition was set to None (874995)
  • Animation: Fixed animation event remaining selected when clicking on dopesheet. (899032)
  • Animation: Fixed Animator being frozen when modifying Controller when in PlayMode with disabled Animator (894617)
  • Animation: Fixed Audio Source nested curve editor getting stuck while dragging keys. (881723)
  • Animation: Fixed crash in AnimatorLayerMixerPlayable when initializing a mixer with non-connected input
  • Animation: Fixed crash when deoptimizing optimized game object hierarchy containing nested skinned mesh renderer hierarchies (895840)
  • Animation: Fixed crash when disabling GameObject in OnStateMachineExit. (912808)
  • Animation: Fixed crash when moving StateMachine into SubStateMachine (875068)
  • Animation: Fixed crash when previewing empty clips (909671)
  • Animation: Fixed crash when saving while transition previewer is running (910640)
  • Animation: Fixed disabled Animator affecting scene objects (901268)
  • Animation: Fixed error message when undoing key edit of standalone animation clip asset in animation window (898963)
  • Animation: Fixed game object selection loss issues in the animation window
  • Animation: Fixed Interrupted transition and Write defaults. (903556)
  • Animation: Fixed missing keyboard focus on animation window property fields. (879985)
  • Animation: Fixed out of sync linear tangents when editing a curve in the curve editor. (881861)
  • Animation: Fixed performance issue with GetLayerWeight.
  • Animation: Fixed selection box display issue in the animation event timeline of the animation window (899010)
  • Animation: Fixed standalone curve editor window association to its serialized property. (860540)
  • Animation: Fixed Transition previewer playhead's getting desynced (871160)
  • Animation: Performance optmization with complex blendtrees.
  • Animation: Proper deprecation of Animator.Stop() (903787)
  • Asset Import: Fix incorrect Animation help bubble in ModelImporter UI when Animation Type is None (899008)
  • Asset Import: Fix issue with strings sometimes having the wrong value when importing a binary package and editor serialization is set to Force Text. (857486)
  • Asset Import: Mesh importer now displays an error for invalid polygons that cannot be triangulated without introducing a new vertex. (677375)
  • Asset Pipeline: Fixed import failure when FBX take name contained invalid characters. (873720)
  • Build Pipeline: Fix crash when building a scenes containing any long chains of connected objects (865522)
  • Build Pipeline: Fix issue where the the icon of an OSX standalone player can be corrupted under certain circumstances (815319)
  • Build Pipeline: Fixed asset bundle statistics that are printed to the editor log when building bundles (890644)
  • Build Pipeline: Fixed issue where the selected build target wasn't being changed on projects created from command line. This affected changes made to player settings via scripts in these projects. (901407)
  • DX12: Behaviour of the VFACE semantic now consistent on DX12 with the editor and other platforms (895474)
  • Editor: Added graceful handling if the Unity shader compiler socket times out whilst compiling shaders. The Unity shader compiler process is terminated and a new Unity shader compiler process is spawned. (900500)
  • Editor: Fix crash when calling EditorSceneManager.NewScene in a DidReloadScripts callback (891856)
  • Editor: Fix focused Game View not always receiving input (macOS) (895460)
  • Editor: Fix gameobject set to HideInHierarchy and moved to DontDestroyOnLoad scene made the scene header show in the Hierarcy Window; with no objects (893148)
  • Editor: Fix issue with "Type Mismatch" error not always showing in inspector when changing an object type from a game object to a component (837920)
  • Editor: Fix recursive rendering error with Package export window when Verified Save Assets is enabled (820395)
  • Editor: Fix repeated duplication of object being undone together if modifier key is not released (Windows) (877421)
  • Editor: Fix transform precision issue when moving multiple objects. (907854)
  • Editor: Fix vertex snapping having inconsistent accuracy at different zoom levels (738371)
  • Editor: Fix: 'Enum not handled' error message when selecting game objects while some of them are expanded (875406)
  • Editor: Fix: Hierarchy will properly animate foldouts when using custom hierarchy drawers (885708)
  • Editor: Fix: Missing scripts are now titled "Nothing Selected" and enabling them throws ArgumentNullExceptionMissing scripts are now titled "Nothing Selected" and enabling them throws ArgumentNullException (900631)
  • Editor: Fix: project browser view is in sync when duplicating folders (875831)
  • Editor: Fix: Rect transform updates properly when manipulating it's parent rect transform (856034)
  • Editor: Fix: Selecting different types of elements not being displayed in inspector and throwing errors (899307)
  • Editor: Fix: the player settings' package name is properly updated when focusing another window (879071)
  • Editor: Fixed 1-dimensional sphere bounds handle had no wireframe representation (also being back ported to 5.6)
  • Editor: Fixed a bug where EditorGUIUtility.SetIconSize would affect already rendered GUI. (913018)
  • Editor: Fixed a crash in Editor caused by null Handles. Graphics.DrawMeshNow will now throw an exception if the mesh is null. (893112)
  • Editor: Fixed an issue that prevented the user from reordering the scenes in the build settings window (874335)
  • Editor: Fixed an issue where locking the Inspector on subscene objects causes their disappearance, coupled with a group of 'Failed to unpersist' error messages. (874301)
  • Editor: Fixed an issue where the Game View would render without vsync regardless of player settings (macOS OpenGL) (901973)
  • Editor: Fixed bug in progress bar code, which caused Build&Run to crash during sprite packing (907145)
  • Editor: Fixed bug introduced in 5.6.0f3 that broke holding alt to pin center of PrimitiveBoundsHandle (affects edit modes for BoxCollider, CapsuleCollider, BoxCollider2D, CapsuleCollider2D, etc.); also back ported to 5.6.0p4
  • Editor: Fixed bug with CapsuleCollider and CapsuleCollider2D edit mode where some control handles could appear incorrect when multi-editing
  • Editor: Fixed case of errors spamming the console when taking detailed memory sample of 32 bit player. (886135)
  • Editor: Fixed case of Handles.PositionHandle() throwing NullReferenceException when no SceneView is in the current editor layout. (874248)
  • Editor: Fixed Copying color from component throws NullReferenceException (904723)
  • Editor: Fixed crash when using the SavePanel path bar on Windows. (839912)
  • Editor: Fixed crash whilst reloading scene(s) after using version control merge and resolve operations. (876733)
  • Editor: Fixed erroneous IMGUI clipping with non-trivial GUI.matrix (896013)
  • Editor: Fixed HDR Color Picker to preserve alpha when changing brightness field. (883476)
  • Editor: Fixed incorrect placement of BoxCollider2D manipulator in scene view when using composite (916455)
  • Editor: Fixed low Normals quality issue with low mesh compression settings. (709609)
  • Editor: Fixed NullReferenceException when cancelling file browser after a popup prompt (874140)
  • Editor: Fixed NullReferenceException when deleting the last remaining quality setting (also being back ported to 5.6) (903620)
  • Editor: Fixed PrimitiveBoundsHandle.DrawHandle() not resetting Handles.color if alt-clicking to rotate camera (also being back ported to 5.6)
  • Editor: Fixed SerializedObject.maxArraySizeForMultiEditing not being respected when using default property drawer (also being back ported to 5.6) (817640)
  • Editor: Optimize log entry insertion (862257)
  • Editor: Reset global handle direction when changing tool using toolbar buttons (864054)
  • Editor: Show single info message instead of multiple errors messages when there's an issue loading a layout (825848)
  • Editor: Version Control System: More detailed reasons why Perforce connection failed ie incorrect server, username, password, workspace.
  • Editor: Version Control System: Set default version control log level to be "Notice" instead of "Info" to reduce log spam. (873454)
  • Editor: Version Control Sytstem: Added provider name and failure reason to error messages about failed connections to make it clearer what has failed. (873396)
  • GI: Fixed light being considered in shadow range even though it's fully culled away. (888704)
  • GI: GI Scene Modes Not Fetching Visualization Data After Quitting Play Mode. (849063)
  • GI: Light sources incorrectly identified as realtime when in Auto mode. (815031)
  • GI: LoadLevelAdditive loads baked lighting as (no GI) realtime if it was baked using Auto. (709362)
  • GI: Progressive lightmapper now honors GraphicsSettings.LightsUseLinearIntensity.
  • GI: Support quads in progressive lightmapper (890651)
  • Graphics: Clarify when shadow cascade parameters are set in regard to command buffer (818448)
  • Graphics: ComputeScreenSpaceShadowMap after first initialization of s_CollectMaterial never returns NULL, which may create inconsistent behavior after startup. Now returns NULL if screenspace shadows are disabled. (767050)
  • Graphics: Display an error message and disallow subregion copying of a depth-stencil texture. (883393)
  • Graphics: Fix assertion when setting updateWhenOffscreen on a disabled SkinnedMeshRenderer (912722)
  • Graphics: Fix Editor crash by ensuring the camera and camera stack are valid after a PreCull message. (876867)
  • Graphics: Fix grid rendering incorrectly in the Animation Preview window. (903454)
  • Graphics: Fix incorrect warning about using instancing and static batching simultaneously.
  • Graphics: Fix looping line discontinuity (904622)
  • Graphics: Fixed crash trying to use a compute buffer which failed to be created. (886290)
  • Graphics: Fixed crash when Unity loses focus caused by a camera being removed whilst it is being rendered. (869109)
  • Graphics: Fixed flickering game view window when resizing the window. (880788)
  • Graphics: Fixed instancing mesh sorting when custom properties are set on renderers.
  • Graphics: Fixed metal editor game view resize leak (918940)
  • Graphics: Fixed metal editor shader warmup (916950)
  • Graphics: Fixed render target becoming white or black on stop if set to don't clear. (884057)
  • Graphics: Incrased batching limits to 65,000 vertices. (810600)
  • Graphics: Make sure wrap modes are valid before setting them on a texture to fix assert message spam "Assertion failed on expression: 'translated != kInvalidEnum'" (883459)
  • Graphics: Re-generate real-time Reflection Probe cubemap when screen resolution is changed. (868638)
  • Graphics: Removing support for screenspace shadow shader when it should be used based on tier settings will deactive directional shadow for consistency (867797)
  • Graphics: Throw an exception if script tries to set a random write target texture and the texture does not have random write enabled.
  • IMGUI: Fixed an issue where buttons were not working in the Save Asset Dialog. (909021)
  • iOS: Fix to hide the status bar while playing movies with CancelOnInput or Hidden modes. (871989)
  • iOS: Metal: Fixed unnecessary half to float casts in generated shaders (898788)
  • iOS: Removed deprecated calls to wantsFullScreenLayout. Status bar stype option values updated. (894136)
  • iOS: Removed extra notification sent on application launch (875180)
  • iOS: UnityEngine.iOS.Device.SetNoBackupFlag can now be called from background threads. (851113)
  • Kernel: Fixed log message filtering for LogType.Exception. (820286)
  • Kernel: Fixed Mathf.PingPong and Mathf.Repeat returning negatives values for some specific value (861278)
  • Multiplayer: Added better error messages when processing a non-valid state in weaver (875195)
  • Multiplayer: Fix issue with network transport host being removed with invalid host id, when using custom network connection (NetworkConnection override) (881764)
  • Multiplayer: Fix issue with NetworkAnimator not updating parameters (related to local player authority) (779549)
  • Multiplayer: Fix max events flood protection in network client
  • Multiplayer: Fix problem with cleaning/resetting network identities in disabled objects, in the network manager (881743)
  • OSX: (893036)
  • OSX: Fix for Apple filesystem (APFS) compatibility
  • OSX: Fixed crash caused by quick open/close of GUIWindows. (884145)
  • Particles: Align to Direction now works for Mesh particles. (864493)
  • Particles: Disable/re-enable of Particle System GameObject now causes it to successfully restart previewing. (767489)
  • Particles: Fix another "Invalid AABB error" (903805)
  • Particles: Fixed all 3 curves(x,y,z) being added to the Particle System curve editor when switching to curve state and only in single axis mode (855588)
  • Particles: Fixed curves with loop or ping pong wrap modes being incorrectly converted into poly curves and thus causing asserts.
  • Particles: Fixed module curves being shown in curve editor after the module was disabled due to an undo operation (861424)
  • Particles: Inspector now refreshes when changing MinMaxCurve types from script. (788240)
  • Particles: Particle system culling was not working until it was rendered at least once (680242)
  • Particles: Particle system is no longer cleared if procedural emission buffer contains items. (801335)
  • Particles: Particle trails could render with graphical corruption when used on Sub-Emitters (895376)
  • Particles: Removing a ParticleSystem on a GameObject that has a component with RequireComponent(Renderer) is now correctly prevented. (888048)
  • Particles: Reset Component option is now fully working for Particle Systems. (715605)
  • Particles: Scripted Play/Stop/Simulate etc generate no garbage, and handle sub-emitters correctly. (856840)
  • Particles: Size over lifetime now correctly affects collider size, and sub-emitter inheritance. (792289)
  • Particles: The Pivot offset used for Stretched Particles was incorrect along the X axis. (830382)
  • Particles: Velocity and Force modules now apply scale correctly when using World Space mode. (874051)
  • Physics: Fix a crash that happened when continuously scaling a MeshCollider while activating and deactivating it at the same time (878740)
  • Physics: Fix a crash that happened when more than 262143 colliders were created. This is not supported by PhysX and we won't be creating colliders once this limit is reached. (872785)
  • Physics: Fix a crash that happened when scaling a mesh that PhysX failed to cook properly (think a convex MeshCollider with too many vertices). (892396)
  • Physics: Fix a crash updating active skinned meshes. (845868)
  • Physics: Fix a rare crash that occured when a solver batch was indexed incorrectly (PxsSolverSetupSolveTask was reported in the callstack) (874515)
  • Physics: Fix for crash when repeatedly unloading/loading cloth on XBox One and PS4. (909248)
  • Physics: Fix for normals issue with cloth using tiny mesh. (766851)
  • Physics: Fix horizontal clipping in the layer collision matrix when some layers had names that were too long (526797)
  • Physics: Fix interpolation and extrapolation being being applied in an incorrect order for nested Rigidbodies. This affected the stability of ragdolls that had interpolated bones. (772337)
  • Physics: Fix Physics.ComputePenetration & Physics.ClosestPoint not returning the correct value when a rotated collider had it's centre offset (865250)
  • Physics: Fix Rigidbody.collisionDetectionMode being impossible to change if it was initially set to Continuous (784529)
  • Physics: Fix Rigidbody.collisionDetectionMode being impossible to change if the Rigidbody was part of a pool of objects (889118)
  • Physics: Fix to avert 'value must be greater' errors in cloth. (895771)
  • Physics: Fix to avert cloth errors with prefabs: in cloth inspector we now check if cloth has no verts disabled and we eprocess mesh if re-enabled and previous cloth mesh had no verts. (893025)
  • Physics: FIx voodoo trigger events being fired to scripts when a degenerate CapsuleCollider was used (701504)
  • Physics: Fixed a crash caused by changing the value of the configuredInWorldSpace flag on a Joint attached to an inactive GameObject. (832197)
  • Physics: Reprocess mesh used for cloth if changed. (664672)
  • Physics: Reprocess mesh used for cloth if changed. (879584)
  • Scripting: Editor recompilation is no longer triggered when adding WinRT dlls which are not used by the editor. (861189)
  • Scripting: Fix a memory leak and performance degradation when adding nested classes as components. (856497)
  • Scripting: Fix crash caused by Transform pointer not being a Transform instance in OnEnable (898810)
  • Scripting: Fix crash due to "Too many threads" (882697)
  • Scripting: Fix crash when Deep Profile is enabled (897828)
  • Scripting: Fix issue where OnDisable would not get called when entering play mode for ScriptableObjects that were created in edit mode and do not have a script file with the same filename as the ScriptableObject class name. (883373)
  • Scripting: Fixed case of ScriptExecutionOrder not being applied when entering play mode. (830711)
  • Scripting: Fixed closing script execution order window not opening apply/revert dialog (916399)
  • Scripting: Fixed crash in C# updater with arrays in some expressions. (855785)
  • Scripting: Fixed memory leak in UnityWebRequest when Dispose is not called (862095)
  • Scripting: Fixed rare crash that could occur after accessing null AnimationState (and Null Reference Exception is thrown). (847112)
  • Scripting: Fixed Script Updater issue with generic type parameters on methods under member access expressions. (863941)
  • Scripting: Improved error message when ScriptableObject is used with abstract classes. (850202)
  • Scripting: Improved the error shown when a class must inherit from ScriptableObject instead of MonoBehaviour. (867259)
  • Scripting: Prevent managed thread creation during app domain reload (882697)
  • Scripting: Script Updater: Automatically update ParticleCollisionEvent.collider to ParticleCollisionEvent.colliderComponent
  • Scripting: Script Updater: Do not remove required "using namespace" due to inadvertently deeming it as not used
  • Scripting: Stop calling OnEnable and OnDisable when adding Image component to child via script (897146)
  • Services: Fixed issue with Unity project ID when importing assets from the asset store containing a project ID. (867382)
  • Shaders: Fixed standard shader not supporting _Bumpscale on iOS and Android platforms. (881869)
  • Shaders: Occlusion sampling in shader now takes into account parallax map/offset. (783222)
  • SpeedTree: Fix a case where LOD1 range cannot be adjusted in SpeedTree importer GUI. (886674)
  • Terrain: Fix asset messages when deleting in-use terrain asset. (863970)
  • Terrain: Fixed a crash that happens when loading corrupt terrain data. (913478)
  • UI: Augmented variable capacity to correctly handle large numbers of tiles. (862575)
  • UI: Fix coroutines stopping when attaching UI components (904415)
  • UI: Fix disabling of parent script when adding a RectTransform to a child (911871)
  • UI: Fix editor crash when adding text component to game object in play mode via the script (882791)
  • UI: Fix GC spikes when enabling MaskableGraphic (899441)
  • UI: Fixed Child UI elements in parent Canvas cannot be configured after changing their Anchor preset and previewing it (882651)
  • UI: Fixed crash when deleting a nested canvas with nested canvas children. (858847)
  • UI: Fixed crash when exiting scene that has animation animating UI elements (889776)
  • UI: Fixed crash when UI mask component deleting the canvas renderer material when entering playmode (900515)
  • UI: Fixed crash with Editor inspector trying to draw a null material editor for UI elements (891450)
  • UI: Fixed editor memory leak when editor display was not visible but has UI elements rendering to it (887819)
  • UI: Fixed GraphicRaycaster Ray-cast distance value (848130)
  • UI: Fixed impcomplete integration of UV2 & UV3 with UI elements (899626)
  • UI: Fixed issue that would prevent the text field input caret from updating when the virtual left and right arrow keys were pressed. (850430)
  • UI: Fixed issue where fonts created by script would fail to appear. (858645)
  • UI: Fixed issue with Application focus loss breaking Input with VR devices (896933)
  • UI: Fixed issue with NAN in scrollRect viewport content when changinge position (881819)
  • UI: Fixed issue with rapidly scaling Raw Image (895468)
  • UI: Fixed nested canvas returning a null camera after its root canvas has been disabled and then re-enabled (892913)
  • UI: Fixed RectTransform editor drawing issue where anchor preset labels all shown as Custom (896198)
  • UI: Fixed Tiled uGUI image shaking when changing its size (649927)
  • UI: Fixing issue with overwriting text with '-' at the start (896424)
  • UI: PhysicsRaycaster now culls raycasts that are outside of the camera viewport. This prevents confusion between multiple raycast hits when using multiple cameras with different viewports. (636595)
  • UI: Selectable SelectionState is now updated as expected when setting interactable to true. (861736)
  • UI: The input field caret now generates the GameObject with the correct transform type as well as a CanvasRenderer, to prevent doing a switch of Transforms at runtime. (863470)
  • UI: The inverse transform of the canvas (m_CanvasData.invCanvasMatrix) is now updated when its ancestor has changed (i.e. not just its direct parent). (870698)
  • UI: Use canvas dimensions to compute bucket size of nested canvases, as was already the case for root canvases. (913932)
  • Video: Android: Crash on Samsung devices with 4.1 OS when stopping playback. (900881)
  • Video: Android: Fix garbage collector abuse and freeze when changing current clip during playback. (894208)
  • Video: Android: H.264 videos above 480p crash on devices with 4.1 OS with Adreno 203 graphics. (893863)
  • Video: Android: VP8 videos not playing on Samsung devices with 4.2 / 4.4 OS (895687)
  • Video: Fix .mov video referenced from URL on Windows (900325)
  • Video: Fix video end detection (890946)
  • Video: Fix video end detection (894319)
  • Video: Optimized video decoding directly into RenderTexture if it is the same size as the video stream
  • Video: VideoPlayer.isPrepared always returns false after calling VideoPlayer.Prepare() when playOnAwake is false with some video files (893939)
  • Video: VideoPlayer.Prepare() broken on random video files (897708)
  • Video: [Video Player] Can't play a Video Clip If WaitForFirstFrame is enabled (899233)
  • Video: [VideoPlayer] Video which has 6-channel audio and its audio codec is AC-3 doesn't play on Windows (893910)
  • VR: Camera target eye masks now work under single pass stereo rendering. (817492)
  • VR: Fix crash in Editor when attempting to do Holographic Simulation when graphics API forced to DX9 (885634)
  • VR: Fix daydream back button handling to deal with app store submission rejection (893219)
  • VR: Fix Daydream icon labels to not display tooltip text in the label. (891613)
  • VR: Fix: Android antialiasing quality settings not being able to change at runtime. (896253)
  • VR: Fixed crash on HoloLens and Windows Mixed Reality caused by large amounts of input data overflowing queue
  • VR: Fixed particle shader errors when using instanced single pass. (872164)
  • VR: Integrate Google VR iOS SDK 1.20 (885513)
  • VR: Removed Daydream specific call outs in documentation that are no longer correct. (900866)
  • VR: VRDevice.refreshRate now reports correct values on Oculus devices. (820293)
  • WebGL: Fix Input.simulateMouseWithTouches (894098)
  • WebGL: Fix WebGL build failure when both WebAssembly and Full Exceptions are enabled (892185)
  • WebGL: Fixed wasm build failure on MacOS caused by special characters in project path (899387)
  • WebGL: Turn WebAssembly loading errors into simple log messages (896202)
  • Windows: Fixed not being able to start the game with exclusive fullscreen mode on a secondary monitor (789575)
  • Windows: Fixed resolution selector showing primary monitor resolutions even when a secondary monitor is selected.
  • Windows: Fixed the game window moving to the primary monitor when it is resized using Screen.SetResolution function (881735)
  • Windows: Fixed window not resizing to new monitor's size when moving window to another monitor while in windowed fullscreen mode.

News from Unity QA

We’re not just toolsmiths, but wordsmiths too! Read all the Unity QA blogposts past and present.

We use cookies to ensure that we give you the best experience on our website. Visit our cookie policy page for more information.

Got it