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.2f1

Released:

LTS Release 2017.2.2f1

Released:

Improvements

  • iOS: Expose APIs that allow changing home button hiding and system gesture deferral properties on runtime.
  • Video: RGB to YUV conversion that happens during video transcoding and recording is now 2-3 times faster.
  • XR: Update Google VR NDK to v1.100.
  • XR: Update Oculus to version 1.21

Fixes

  • AI: Fixed NavMeshAgents swapping to different NavMeshes when they are disabled and re-enabled right on an edge. (970718)
  • Android: Fixed a rare static splash screen crash. (971571)
  • Android: Fixed decimal point button in decimal keyboard for older Samsungs. (973815)
  • Android: Fixed an issue where the full-screen movie player didn't autorotate. (962450)
  • Android: Fixed a bug causing the loading of native audio plugins to fail on Android. (992023)
  • Animation: Fixed an issue that was causing the Editor to throw an exception when selecting animator transitions in an undocked preview window. (967382)
  • Animation: Improved fix for creating an ongoing transition. (941945)
  • Animation: Fixed a crash caused by invoking QueryComponentByType() when code stripping is enabled. (989240)
  • Apple TV: Removed 2x App store icon slices that cause App Store validation to fail. (972927)
  • Asset Bundles: Fixed crash caused by a Sprite Atlas trying to load in sprites that were packaged in an Asset Bundle that hasn't been loaded. (985914)
  • Asset import: Fixed bug with import of FBX with custom framerate generating animationClips with an incorrect framerate. (973917)
  • Asset Import: Fixed crash when setting the property ModelImporter.clipAnimations, when the clip avatar mask is set to "Create From This Model". (960595)
  • Assets: Fixed Assetdatabase.Refresh taking longer than necessary. (969205)
  • Audio: Fixed a crash in AudioLowPassFilter on Nintendo Switch. (975345)
  • Audio: Fixed a bug where AudioManager::Update was generating a small amount of garbage memory, if a spatializer was selected. (991111)
  • Build Pipeline: Improved player and asset bundle build performance for large builds. (959444)
  • Cache Server: Fixed an issue which caused the Unity client to hang indefinitely. (953940)
  • Editor: Fixed being able to start multiple PlayMode and EditMode test runs at the same time from the test runner ui. (969114 (945000)
  • Editor: Fixed bootstrap scene sometiems being left behind if running PlayMode and EditMode tests from script. (969114)
  • Editor: Fixed lightingdata.asset files getting re-opened in text mode in certain situations. (975920)
  • Editor: Added an optional Async Query Mode for Perforce VCS integration (see Editor Settings) to stop the editor freezing when the Perforce - connection has high latency. (922829)
  • Facebook: Fixed unhandled BadImageFormatException for deleted SDK .dll. (975427 (956872)
  • GI: Fixed editor crash when when deleting a prefab which is used as a tree in Terrain inspector. (946550)
  • Graphics: Fixed asserts and potential memory leaks when Skinned Mesh Renderers with the "Update When Offscreen" property enabled are not visible. (961692, 964998)
  • Graphics: Fixed issue where DrawMeshInstanced calls will render with inverse normals if the previous draw call used negative scaling. (956919 (891894)
  • Graphics: Fixed changing the projectors render queue in script not having an effect. (841236)
  • Graphics: Fixed a crash in the job system related to light culling. (930408)
  • Graphics: Fixed crash in Canvas node extraction, usually triggering a crash on save. (973686)
  • Graphics: Fixed crash during a visibility callback when a GameObject which was not visible is set inactive followed by setting a visible GameObject inactive. (968591)
  • Graphics: Fixed crash in CommandBuffer.DrawMeshInstanced when called with a null property block. (951975)
  • Graphics: Fix for Crash in Projector::PrepareRenderNode after selecting GameObject in the Hierarchy. (976076)
  • IL2CPP: Fixed a crash on iOS which can occur when a device is awakened during a blocking socket call with a SIGPIPE signal. (957651)
  • IL2CPP: Work around for a C++ compiler bug in the Android r13b NDK that could cause the NullCheck method to be incorrectly removed from the - resulting binary. (962771)
  • IL2CPP: Fixed potential crash when default parameter values are used. (973052)
  • IL2CPP: Improved the performance of code conversion when many nested generic types are used. (975496)
  • IL2CPP: Fixed a problem with the decimal to double conversion implementation with the new scripting runtime. (959791)
  • IL2CPP: Fixed crash in Unity Linker (System.InvalidProgramException: Failed to resolve [UnityEngine]System.Resources.NeutralResourcesLanguageAttribute) when using a managed DLL that has a non-existing attribute on it. (969958)
  • IL2CPP: Implemented sending of email via SmtpClient with .NET 4.6. (947208)
  • IL2CPP: Fixed issue where android builds would crash on launch with the 4.5 runtime when the byte code stripping option was selected. (922979)
  • iOS: Fix iOS 11 crash when application is launched from URL and airplay screen mirroring is enabled. (980362)
  • iOS: Metal: Fixed MSAA corner case causing warning messages and validation error. (983853)
  • iOS: Fixed trampoline calling UI methods ([UIApplication delegate]) from a background thread. (956318) (57809)
  • iOS: Fixed locked orientation app getting rotations from portrait to landscape when sharing to another app on iOS 8 & 9. (913856) (57503)
  • iOS: Fixed problem with missing keyboard Done/Cancel buttons for iPhone X. (979005) (58588)
  • iOS: Fixed an issue where fullscreen movies could no longer be dismissed with a tap on iOS 11. (940608)
  • iOS: Allow landscape startup on iOS11. (980303)
  • iOS: Fixed videos started with Handheld.PlayFullScreenMovie not resuming after returning to the app in some circumstances. (954593)
  • Launcher: Fix display of Unity Teams "Seat Required" message when project is both in the cloud and on disk. (963246)
  • License: Fixed issue when cached refresh token & access token expired, command line activation will failed. (940084)
  • License: Removed misleading "This should not be called in batch mode" message when returning license. (877423 (972989)
  • Metal: Fixed an edge case crash when using grab-pass on metal. (973813)
  • Multiplayer: Skipped soft socket error, to prevent host to be closed. (None)
  • Package Manager: Fixed editor not starting because of custom proxy configuration on host machine. (None)
  • Particles: Fixed Stop Action when it should be used for off-screen Particle Systems. (974867)
  • Particles: Fixed Rate over Distance emission issues. (960527) (964537)
  • Particles: Fixed crash when using [RuntimeInitializeOnLoadMethod] attribute. (975289)
  • Particles: Fixed crash when enabling some modules from script (e.g. SizeOverLifetime). (977710)
  • Particles: Fixed emission properties being incorrectly upgraded from previous Unity versions. (966306)
  • Particles: Fixed Duration property when used on Sub-Emitters. (968096)
  • Physics: Fixed PhysX crash when calling Physics.OverlapBoxNonAlloc on Android devices. (878407)
  • Physics: Fixed potential crash in Rigidbody::GetVelocity() when opening certain scenes. (955697)
  • Physics: Fixed crashes when loading new scene and activating cloth gameobject in coroutine. (951789)
  • Physics: Fixed issue where Physics Debugger's layer mask does not filter GameObject correctly. (948201)
  • Scripting: Fixed an issue causing GC allocation for UnityEvent handler without parameters in some cases. (978101)
  • Scripting: Fixed random crash due to memory corruption on domain reload. (967206)
  • Scripting: Fixed URI processing on OSX. (907918)
  • Scripting: Fixed crash when using GitHub for Unity. (930358)
  • Scripting: Fixed deadlocks and pauses when using System.Threading.Monitor. (827984)
  • Scripting: Improved TypeLoadException messages. (957072)
  • Scripting: Fixed DllImport when library name is specified with path. (952631)
  • Scripting: Fixed TypeLoadException for types and array initializers larger than 1 MB. (962711)
  • Scripting: Fixed InternalsVisibleToAttribute. (945353)
  • Scripting Upgrade: Fixed Android crash when script debugger is enabled. (973794)
  • Scripting Upgrade: Corrected a C# compiler bug which could result in "the type cannot be used as type parameter `T' in the generic type or method" errors. (991464)
  • Scripting Upgrade: Fixed EntryPointNotFoundException when calling HTTPClient.GetAsync on Android. (935292)
  • Scripting Upgrade: Fixed Socket.Send failing silently on Windows. (984723)
  • Scripting Upgrade: Fixed Android crash when NullReferenceException is raised. (954427)
  • Scripting Upgrade: Fixed crash when using 'fixed' statement on a string. (960555)
  • Scripting Upgrade: Fixed crash when using named pipes. (942966)
  • Scripting Upgrade: Fixed crash on exit when script debugger is enabled. (974228)
  • Scripts Only Build: Fixed issue where a user could select a different destination than the last non-scripts only build. (978680)
  • Services: Performance Reporting: Report device model field for Managed Exceptions. (980816)
  • Shaders: Fixed some edge cases where shaders would be compiled using cached include file data which was out of date. (None)
  • Terrain: Removed Editor error about non read/write textures. (964302)
  • Terrain: Fixed default smoothness for terrain without a texture. (962764)
  • Timeline: Fixed console errors when using Default Playables package. (967026)
  • Timeline: Fixed preview mode for properties animated by Control Tracks. (965091)
  • Timeline: Fixed an issue where custom tracks could be lost if they contained compile errors. (979700)
  • Timeline: Fixed ArgumentOutOfRangeException that shows in console when shift-selecting a clip that was undo-move. (986872)
  • UGUI: Fixed a driven RectTransform causing a scene to be constantly flagged as dirty. (991019)
  • UGUI: Fixed undoing the activation of a UI layout component not undoing the side effects to the children RectTransforms. (991023)
  • Universal Windows Platform: Fixed debugging scripts on .NET scripting backend. (949806) (934783)
  • Universal Windows Platform: Fixed NavMeshObstacles being ignored on 64-bit master builds. (955086)
  • Universal Windows Platform: Fixed NotSupportedException being thrown on UWP builds with .NET scripting backend enabled when using Timeline. (966790)
  • Video: Fixed crash on attempting to upgrade project. (979757)
  • Video: Fixed not being able to Enable Transcoding on Video File. (958543)
  • Video: Fixed video not being played when trying to play it in the Video Clip Importer preview. (978449)
  • Video: Fixed videos being transcoded when switching platform even when they are cached in Cache Server. (963979 (976826)
  • Video: Meta files are updated for videos that were transcoded during platform switch resulting in litter for VCS. (962118)
  • Web: Fixed Content-Disposition for file sections not being standard-compliant in UnityWebRequest. (980327)
  • Web: Fixed crash when checking AssetBundle download progress, that gets aborted. (968877)
  • Web: Fixed DownloadHandlerFile not truncating file on overwrite. (None)
  • Web: UnityWebRequest: improve performance for DownloadHandlerScript. (965165)
  • Web: Fixed hang when busy waiting on a redirecting request. (963947)
  • WebGL: Added indexedDB caching mechanism for XMLHttpRequest in WebGL. (937594)
  • WebGL: Fixed UnityWebRequest with relative URL when running with custom port. (961465)
  • WebGL: Fixed crash for relative URL in UnityWebRequest when exceptions are disabled. (965094)
  • Windows: Fixed possible crash in UnityWebRequest on Windows platforms when using UnityWebRequest with custom download handler script. (None)
  • Windows: Fixed executable not having Unity version info. (964052)
  • Windows: Fixed game window not getting minimized when using exclusive fullscreen mode on Windows key press. (953086)
  • Windows Standalone: Fixed a regression where a fullscreen application would be restored to the native resolution of the attached display after losing focus. The expected outcome was that it should be restored to the original resolution that it was - launched on. (972924 (950056)
  • XR: Fixed Windows Mixed Reality controllers not being properly detected in Editor Play mode. (948931)
  • XR: Fixed early out of Virtual Reality SDK list when SDKs that are unsupported in play mode try to initialize. Also Improved log messages around the Virtual Reality SDK list in Play Mode. (971293)
  • XR: Fixed Oculus not reporting values for XRStats properties. (883630)
  • XR: Fixed a regression that would cause BEV cameras not to track properly. (None)
  • XR: Fixed shaders targeting XR platforms being included in builds where XR support is disabled. (971944)
  • XR: Fixed ScreenCapture.CaptureScreenshot() captures stereo instancing screenshots incorrectly. (970906)
  • XR: Fixed issue with grabpass when used single-pass stereo rendering. (963320)
  • XR: Fixed tracking loss never recovers in Windows Mixed Reality. (969944)
  • XR: Fixed a random crash in Windows Mixed Reality. (None)
  • XR: Fixed inconsistency between generic code path and WSA-namespace-specific path for whether select is pressed. (970844)
  • XR: Fixed UnityEngine.Experimental.XR.Boundary.TryGetGeometry throwing internal exception always failing. (963315)
  • XR: Removed application orientation settings disable when Virtual Reality Supported is enabled and update info message related to the settings. (986941)
  • XR: Android - Fixed errors when building for Daydream and Cardboard with Proguard enabled. (949379)

Revision: 1f4e0f9b6a50

LTS Release 2017.3.1f1

Released:

LTS Release 2017.3.1f1

Released:

Improvements

  • iOS: Expose APIs that allow changing home button hiding and system gesture deferral properties on runtime.
  • XR: Update Google NDK to v1.100
  • XR: Update Oculus to version 1.20
  • XR: Update Vuforia to version 7.0.43
  • XR: Added XR.WSA.HolographicSettings.IsContentProtectionEnabled. This gets or sets whether the app is displaying protected content. While content protection is enabled, rendered content will be visible only in the headset, disabling the Mixed Reality - Portal's preview.
  • XR: Added XR.WSA.HolographicSettings.ReprojectionMode. This gets or sets the kind of reprojection the app is requesting to stabilize its holographic rendering relative to the user's head motion.

Fixes

  • 2D: Fixed NullReferenceException from Tilemap Palette when assembly changes. (978651)
  • Android: Fixed decimal point button in decimal keyboard for older Samsungs. (973815)
  • Animation: Fixed issue with creating an ongoing transition. (941945)
  • Animation: Fixed layouting issue when deleting clip in a blend tree inspector. (978674)
  • Animation: Fixed an issue with shadow rendering in the Animation Previewer. (962517)
  • Animation: Fixed InvalidOperationException when clicking cancel in 'Add Animation Clip' dialog window in animation window. (978299)
  • AppleTV: Removed 2x App store icon slices that cause App Store validation to fail. (972927)
  • Asset Pipeline: Cancel dialog/reimport after skipping video import processing.Dominique Leroux. (58017)
  • Build Pipeline: Improved buildpipeline performance for large builds. (959444)
  • Editor: Fixed input field staying highlighted after enter key is pressed. (966036)
  • Editor: Fixed lightingdata.asset files getting re-opened in text mode in certain situations. (975920)
  • Editor: Editor no longer crashers when closing 2 custom editor windows at the same time. (967778)
  • Editor: Fixed "Permission denied" error message on read-only .meta file when upgrading project from a previous version. (980258)
  • Editor: Collaborate no longer deletes ignored files when restoring to an older version. (932926)
  • Editor: Fixed ForceReserializeAssets incorrectly updating the timeCreated field in .meta files. (984239)
  • Editor: Fixed an issue with normalization of transform rotations which was causing spurious tiny differences in the rotation quaternion when serialized to YAML files. (984239)
  • Editor: Fixed dragging slider causing creation of too many undo steps. (960531)
  • Graphics: Fixed occasional TrailRenderer error message when using Local alignment and more than one width curve key. (970747)
  • Graphics: Fixed Crash in Projector::PrepareRenderNode after selecting GameObject in the Hierarchy. (976076)
  • Graphics: Fixed crash in Projector:PrepareRenderNode after selecting a gameobject in the hierarchy. (976076)
  • Il2CPP: Fixed a crash on iOS which can occur when a device is awakened during a blocking socket call with a SIGPIPE signal. (957651)
  • IL2CPP: Fixed a C++ compiler bug in the Android r13b NDK that could cause the NullCheck method to be incorrectly removed from the resulting binary. (963785)
  • iOS: Fixed landscape splashscreen not enabled for iOS11 on some devices. (980302)
  • iOS: Fix iOS 11 crash when application is launched from URL and airplay screen mirroring is enabled. (980361)
  • iOS: Fix for black screen flickering when screen orientation is changed via script. (978917)
  • iOS: Metal: Fixed MSAA corner case causing warning messages and validation error. (983852)
  • iOS: iPhone X, fixed problem with missing keyboard Done/Cancel buttons. (979002)
  • iOS: Fixed trampoline being able to call UI methods ([UIApplication delegate]) from background thread. (956318)
  • Launcher: Fix Open project dialog stop working. (971905)
  • Launcher: Fix display of Unity Teams "Seat Required" message when project is both in the cloud and on disk. (963246)
  • OSX: Fixed IDE does not get focused when opening script on Mac. (978478)
  • OSX: Fixed detached Editor windows go behind the Editor when clicked outside of them. (827158)
  • OSX: Fixed VS for Mac opens new instance after Unity was reopened. (978636)
  • Package Manager: Fixed an issue where editor was not starting for some users by adding 127.0.0.1 address to the default list of non-proxied address. (931921)
  • Particles: Fixed Stop Action when used on particles that finish off screen. (974867)
  • Particles: Fixed Duration field when used on Sub-Emitters. (968096)
  • Particles: Fixed a crash when using RuntimeInitializeOnLoadMethod with a Particle System. (975289)
  • Particles: Fixed a crash when enabling certain modules via script (e.g. Size over Lifetime). (977710)
  • Particles: Fixed flip U/V settings being ignored after enabling Custom Vertex Streams. (961702)
  • Particles: Fixed support for entering Infinity into the Start Lifetime field. (971980)
  • Particles: Fixed ribbon trail of Sub Emitter not inheriting color from spawning particle. (964377)
  • Particles: Fixed particles showing visual artifacts when ribbon count was higher than the current particle count. (969863)
  • Particles: Fixed issue where Local Aligned particles with negative scale could be displayed incorrectly. (979638)
  • Particles: Fixed material texture becoming invisible when its shader had been set from 'Particles/Standard Surface' or 'Particles/Unlit'. (968908)
  • Profiler: Fixed deep profiling in standalone players. (976439)
  • Scripting: Fixed an issue causing GC allocation for UnityEvent handler without parameters in some cases. (978596)
  • Scripting: Fixed mcs hanging while compiling script. (948492)
  • Scripting: Fixed deadlocks and pauses when using System.Threading.Monitor. (827984)
  • Scripting: Fixed issue with generic types not being collected correctly in Mono/.NET 2.x memory snapshot. (None)
  • Scripting Upgrade: Fixed crash when using 'fixed' statement on a string. (960555)
  • Scripting Upgrade: Fixed InternalsVisibleTo. (945353)
  • Scripting Upgrade: Fixed Android crash when NullReferenceException is raised. (954427)
  • Scripting Upgrade: Fixed random crash due to memory corruption on domain reload. (967206)
  • Scripting Upgrade: Fixed value types larger than 1MB. (962711)
  • Scripting Upgrade: Fixed URI processing on OSX. (907918)
  • Scripting Upgrade: Improved TypeLoadException messages. (957072)
  • Scripting Upgrade: Fixed DllImport when library name is specified with a path. (952631)
  • Scripting Upgrade: Fixed Android crash when script debugger is enabled. (973794)
  • Scripting Upgrade: Fixed Socket.Send failing silently on Windows. (984723)
  • Timeline: Fixed an issue where custom tracks could be lost if they contained compile errors. (979700)
  • Unity Package Manager: Fixed "Permission denied" error message on read-only .meta file when upgrading project from a previous version. (980258)
  • UnityLinker: Prevented an error from the linker when an iOS type is used in an assembly on Android. (962771)
  • Universal Windows Platform: Fixed NavMeshObstacles being ignored on 64-bit master builds. (955086)
  • UWP: Fixed building UWP player with IL2CPP scripting backend and Analytics enabled. (984447)
  • Video: Fixed Media Foundation hang that would eventually freeze the Editor. (986905)
  • Web: Ensured only use non-chunked data transfer in WWW. (974046)
  • Web: Fixed file URI support with multibyte chars in UnityWebRequest/WWW. (986237)
  • Web: MadeContent-Disposition for file sections standard-compliant in UnityWebRequest POST. (980326)
  • XR: Fixed single-pass shadow issue when used with Nvidia VRWorks. (None)
  • XR: Fixed issue with capturing a screen shot image while in single-pass instancing mode. (None)
  • XR: Removed application orientation settings disable when Virtual Reality Supported was enabled and updated info message related to the settings. (973918)
  • XR: Fixed early out of Virtual Reality SDK list when SDKs that are unsupported in play mode try to initialize. Also Improved log messages around the Virtual Reality SDK list in Play Mode. (971293)

Known Issues

  • iOS: Changing screen orientation via script on iOS 8 stretches/upscales the game view making only a part of it visible.

Revision: fc1d3344e6ea

LTS Release 2017.1.3f1

Released:

LTS Release 2017.1.3f1

Released:

Improvements

  • Android - Improved error messages from android sdk tools.
  • Apple TV: Added support for attitude data coming from new Apple TV remote.
  • Editor: Fixed instabilities within Integration tests, namely suites, ProfilerSuite.ProfilerDynamicSampleTests, ProfilerSuite.ProfilerCustomSamplerTests.
  • Graphics - Improved documentation for graphics hardware tiers.
  • iOS - Added player setting to specify whether the home button should be hidden on iPhone X.
  • iOS - Added player setting to specify which device edges defer system gestures to the second swipe.
  • iOS - Added support for iPhone X launch images.
  • iOS: Implement support for 4K AppleTV icons and splashscreens.
  • Multiplayer: Increased send bandwidth for web sockets.
  • Shaders - Concatenated matrix macros (e.g. UNITY_MATRIX_MVP) are now changed to static variables to avoid repeated calculations.
  • Video: Fixed audio glitches when seeking/underflow happens during playback of VideoPlayer.
  • Video: RGB to YUV conversion that happens during video transcoding and recording is now 2-3 times faster.

Fixes

  • AI: Fixed NavMesh.SamplePoint failing for meshes in range when another navmesh was below the point and out of range. (935433)
  • AI: Fixed an unwanted gap in the navigation mesh produced by a concave edge crossing a tile boundary. (930830)
  • Android: Fixed an issue where "Success" message was shown on failed builds. (934735)
  • Android: Fixed a rare static splash screen crash. (971571)
  • Android: Fixed crash on some Adreno devices. (961094 (948200)
  • Android: Fixed loading player data for very specific file sizes/content. (959908)
  • Android: Disable GPU fences for two Android 6 devices which have been found to have compatibility issues causing performance loss: HTC 10 and LG G5 SE. (924891)
  • Android: Fixed symbols.zip not including symbols file. (942625)
  • Android: Fixed android video player playback starting to lag after activating input field. (934841)
  • Android: Fixed stuttering with android video player multithreaded rendering. (931038)
  • Android: Fixed android build failing with target SDKs 21-23. (956658)
  • Android: Fixed realtime HDR reflection probes being black on older Android devices. (776875)
  • Android: Fixed player crash when profiler with GPU profiling is enabled and graphics API was not OpenGL ES 3. (944118)
  • Android: Fixed header availability in UnityWebRequest on Android when response uses chunked transfer. (956599)
  • Android: Fixed crash when killing the application during permission request. (934782)
  • Android: Fixed an issue where apk signing would fail when using certain symbols in the passwords. (946291,941214)
  • Android: Fixed corrupted textures with mip maps on phones with VideoCore gpus. (913546)
  • Animation: Fixed assert when loading AnimationClip asynchronously in AssetBundles. (964932 (943438)
  • Animation: Fixed an irrelevant assert in Animation Component. (943954)
  • Animation: Fixed CurveField not updating animation curve when reference changes from render to render. (952170)
  • Animation: Fixed a crash when opening an animator controller with a circular reference through StateMachineBehaviours. (930354)
  • API Updater: Fixed an unnecessary reference to mscorlib 4.0 being added to assemblies in some cases. (952674)
  • Apple TV: Fixed icon asset catalog setup when certain multi-layer icons are missing. (959867)
  • Asset Import: Fixed psd import issue where a PSD looked different from a PNG. (931359)
  • Asset Pipeline: AssetDatabase.GetSubfolders now returns paths correctly, and API documentation has been updated to reflect that it takes a relative path as an argument. (931944)
  • Build: Fixed exceptions in OnPreProcessBuild halting the build process incorrectly;. (942296)
  • Build Pipeline: Fixed a crash in BuildReporting::BuildReport::BeginBuildStep caused when BuildAssetBundles was being called from an OnPreprocessBuild callback. (920537) (958238)
  • Build Pipeline: Implemented code optimization to reduce time spent entering playmode. (933679)
  • DX12: Fixed bad pipeline state issue causing errors. (925955)
  • DX12: Fixed constant buffer memory being overwritten in certain circumstances. (938617)
  • DX12: Fixed copy queue memory leak.
  • Editor: Fixed plugin Inspector showing only one option in Framework Dependencies for iOS platform and .NET 4.6. (948327 (930624)
  • Editor: Fixed command line activation failed when there is a old cached access token. (940084)
  • Editor: Fixed a crash when a cubemap with invalid metafile was imported. (905397)
  • Editor: Fixed an issue where lightmaps are generated even though the scene does not contain any baked light contribution. (926559)
  • Editor: Reduced size of LightingDataAsset when baking light probes with multiple scenes loaded. (913869)
  • Editor: Fixed editor restart prompt when selecting the same Active Input Handling option. (968535)
  • Editor: Fixed crash while processing input during destruction. (946958)
  • Editor: Fixed random hangs during Editor startup. (954607)
  • Editor: Fixed an issue where performing a drag and drop operation to a GameObject that is being edited in the Preview window of Timeline would apply changes to its associated Prefab that cannot be reverted. (964917 (925381)
  • Editor: Fixed Scene view picking sometimes not selecting the topmost object. (943051)
  • Editor: Fixed Player Settings, not using the default icon if there are no icons specified. (953161)
  • Facebook: Fixed unhandled BadImageFormatException for deleted SDK .dll. (969962 (956872)
  • Facebook: Minor fixes for upload package creation process. (950320) (950323)
  • Facebook: Fixed an incompatibility issue with Facebook SDK 7.10.1.
  • GI: Fixed project build errors when Reflection Probes Projection setting in Tier1(Graphics Settings) is unchecked. (925552)
  • GI: Fixed terrain artifacts caused by Enlighten terrain mesh triangulation being different from the original mesh triangulation. (754298)
  • GI: Fixed exception being thrown when the backgroung color of a Reflection Probe is changed. (939947)
  • GI: Fixed a crash in 'RenderTexture::DiscardContents' when opening a scene. (935328)
  • GI: Changed memory label for filtering in Progressive Lightmapper. (936003)
  • GI: Remove unnecessary error message being displayed in console. (930042)
  • GI: Fixed metadata pass values when using terrain mesh with MaterialPropertyBlock and Realtime GI. (935149)
  • GI: Fixed Enlighten not generating lightmaps for meshes imported without UVs and with Generate Lightmap UVs option enabled. (854349)
  • GI: Progressive Lightmapper crashes with transparent shader. (949574)
  • Graphics: Fixed lights on animated rigs thorwing errors and potentially crashing. (930408)
  • Graphics: Clarified behaviour for RenderTexture.autoGenerateMips specifically when using Graphics.CopyTexture. (840231)
  • Graphics: Fixed crash when creating sprite with unsupported texture format. (944413)
  • Graphics: Fixed GL_INVALID_ENUM error with OpenGL ES when using point primitives.
  • Graphics: Fixed crash when certain variables of CustomRenderTexture are used in script. (942563)
  • Graphics: Fixed atlased ETC1 textures with split alpha rendering in Editor outside of play mode. (942923)
  • Graphics: Fixed displaying incorrect light mode when multiple lights are selected. (929875)
  • Graphics: Fixed shadows when shadow prepare job is not run. (930221)
  • Graphics: Fixed batching with unused stencil bit in G-Buffer pass. (964921 (962696)
  • Graphics: Fixed OpenGL rendering to specific mip level in certain circumstances. (914192)
  • Graphics: Metal: Fix occasional GPU hangs when dispatching compute shader. (950989)
  • Graphics: Fixed an issue where performing an undo on a Static Lightmap Object causes an error related to transforms to be reported. (955082)
  • Graphics: Fixed an issue where off-screen SkinnedMeshRenderer with 'update when off-screen' enabled not being skinned. (939897)
  • Graphics: Fix startup crash on OS X 10.11 with Metal.
  • Graphics: Fixed updating of bounding boxes for SkinnedMeshRenderers with 'Update When Offscreen' set. (935463)
  • Graphics: Import Settings: Fixed changing texture type to Normal map not resetting existing alphaIsTransparency setting. (935870)
  • Graphics: Added GL support to be able to bind sRGB textures as RWTextures i.e. for compute shaders in linear rendering mode. (891510)
  • Graphics: Fixed "Assertion failed: 'IsNormalized(normal)'" when computing spotlight frustum planes. (922769)
  • Graphics: Fixed asserts when animations disable newly visible renderers. (950215)
  • IL2CPP: Fixed incorrect the behavior of DateTime.TryParse with the .NET 4.6 profile. (948887)
  • IL2CPP: Fixed an intermittent crash in the garbage collector on PS4. (955991)
  • IL2CPP: Improve stack traces for NullReferenceException cases on iOS when Xcode 8.3.1 or later is used with release builds. (950637)
  • IL2CPP: Adding support in IL2CPP for Module.ScopeName property, which is used by Assembly.GetModule() to find a module in an assembly by name. (947807)
  • IL2CPP: Fixed calling native ICommand interface methods on managed and native objects.
  • IL2CPP: Fixed marshaling System.DateTimeOffset to Windows.Foundation.DateTime when passing it to Windows Runtime APIs. (950465)
  • IL2CPP: Fixed crash in thread pool during shutdown. (966623)
  • IL2CPP: Improve incremental build performance on OSX.
  • IL2CPP: Fixed crash when calling Socket.GetSocketOption using latest scripting runtime. (952403)
  • IL2CPP: Fixed ArgumentException when accessing Socket.LocalEndPoint on .NET 4.6. (943671)
  • IL2CPP: Fixed an issue where android builds would crash on launch with the 4.5 runtime when the byte code stripping option was selected. (922979)
  • Internal: Fixed some test runs returning true when calling 'IsHumanControllingUs'.
  • iOS: Fixed the Screen.dpi() method from the Trampoline code in order to return the correct number of DPI in iPhone 8, iPhone 8+ and iPhone X. Also fixed - the iPhone 8+ and iPhone X model checking. (962352)
  • iOS: Added identification enums for iPhone 8, 8+ and X.
  • iOS: Fixed a multithreading issue where downloading and aborting a lot of files was causing instabilities. (944301)
  • iOS: Fixed screen not rotating away when disabling current autorotation using Screen.autorotateTo. (972893 (942401)
  • iOS: Fixed PlayerSettings.iOS.appleDeveloperTeamID being ignored if automatic signing is off. (967467 (966830)
  • iOS: Fixed support for fonts of Tibetan, Armenian, Braille, Georgian and Thai languages in iOS 10 and iOS 11. (951089) (949036)
  • iOS: Added an option to disable UISystemGestureGateGestureRecognizers touch delays in the Trampoline. These delays are meant to filter out accidental - clicks very close to the edges of the screen, but some users reported that they have been experiencing - issues related to them, DISABLE_TOUCH_DELAYS flag has been added in order to control this behaviour. (920200 (878689)
  • Lighting: Fixed issue where Progressive Lightmapper was not transmitting indirect rays through translucent objects. (887019)
  • Lighting: Lightmap import max size fix added. (847499)
  • Multiplayer: Fixed reliable message sometimes being delivered twice.
  • OSX: Fixed High Sierra OS freeze while using Local Cache Server. (954747)
  • OSX: Fixed Editor crash when using GLCore on High Sierra with Intel 6xxx series GPU. (963866)
  • OSX Metal: Fixed hang when using MSAA on OSX 10.11 on Nvidia GPUs. (963060)
  • Particles: Fixed an issue whereby Box Shape changed emission direction when scaled to 0. (935633)
  • Particles: Fixed am issue where Particle System could spawn bursts twice in some situations. (934787)
  • Particles: Fixed UI errors when using Planes collision mode. (930005)
  • Particles: Fixed batching issues when using Generate Lighting Data on Particle Trails. (944029)
  • Particles: Fixed crash when emitting from script and using a Size module. (957427)
  • Particles: Fixed an issue where Horizontal billboards had an incorrect vertex normal. (944205)
  • Particles: Fixed mesh particles being rendered upside-down when using view-space. (957899)
  • Physics: Fixed cloth pointer not being set to NULL when deactivating SkinnedMeshRenderer. (946356)
  • Physics: Ensure that when a Rigidbody2D is set to "StartAsleep" sleep mode that any initial contacts do not wake it. (941024)
  • Physics: Ensure that when a Collider2D material changes, any existing contacts change to match the material properties. (953653)
  • Physics: Fixed GameObject with disabled cloth component not following parent's transform. (946307)
  • Physics: Fixed recursive 2D physics callbacks happening when re-parenting inside a callback. (965075)
  • Physics: Fixed loading a scene with a Rigidbody2D with simulation off allowing interpolation when simulation is subsequently turned on. (965605)
  • Physics: Fixed matching of enter/exit collision/trigger callbacks when a single simulation step causes a contact to stop then start again. (932044)
  • Physics: Fixed previous collision not being ignored when recreating 2D physics contacts. (960530)
  • Physics: Ensure that the PlatformEffector2D ignores any contacts involving trigger colliders. (950833)
  • Physics: Updated physics documentation to better explain how friction and bounciness are combined. (922684)
  • Physics: Fixed TerrainData.SetHeights not updating the terrain collider properly at run-time. (916451)
  • Physics: Fixed collider from crashing or getting into a bad state when disabled from an animation. (957044)
  • Plugins: Removed warning messages about Audio spatializers in logs for applications that were not using spatializers. (869346) (835980)
  • Prefabs: Fixed issue where resetting SerializedProperty.prefabOverride for one property could incorrectly reset other properties in some - circumstances. (960775)
  • Profiler: Fixed a deadlock issue when creating a profiler sampler with a duplicate name eg: Profiler.BeginSample("Destroy"). (948379)
  • Scripting: Fixed Awake containing the wrong transform values when instantiated. (953068)
  • Scripting: Fixed crash if delegate is created on un-inflated generic type. (763091)
  • Scripting: Fixed crash in debugger when trying to stop while a single step operation is in progress. (951901)
  • Scripting: Fixed alignment of 64-bit types on iOS. (949127)
  • Scripting: Fixed hang on exit in batch mode. (958346)
  • Scripting: Fixed deadlocks and pauses when using System.Threading.Monitor. (827984)
  • Scripting: Fixed crash in AssemblyUpdater when property body contains reference to an obsolete API method / property. (935582)
  • Scripting: Fixed XMM registers getting overwritten in 64-bit mode. (952069)
  • Shaders: Fixed #pragma target 4.0, 4.6, 5.0 not working on some Android devices. (933203)
  • Shaders: Added errors in UsePass/Fallback snippets as runtime errors so they get properly cleared when the source shader is updated. (920303)
  • Terrain: Fixed crash when a splat texture only has a normal map. (963350)
  • Terrain: Remove Editor error about non read/write textures. (964302)
  • Terrain: Fix crash when loading a non read/write enabled texture from an asset bundle. Texture will not be shown unless it is marked as read/write. (951780)
  • UI: Fixed issue where canvas elements that are moved whilst they're disabled weren't displayed in the correct location upon being re-enabled. (958902 (924188)
  • UI: Fixed 'd3d11: failed to create buffer' error in CanvasRenderer. (953270)
  • UI: Fixed issue with input when a zero Z scale or zero X & Y scale were used. (957844)
  • UI: Fixed tabbing between input fields not properly giving editing focus. (952802)
  • Video: Fixed crash when stopping the WebGL VideoPlayer if callbacks are pending.
  • Video: Fixed erroneous negative stride crash on Windows. (966690)
  • Video: Fixed crashing RemoteWebCamTexture (when Unity Remote helper app) when marked DontDestroy. (965363 (921560)
  • Video: Video Clip is not played when loading it from an Asset Bundle on Windows. (954117) (924562)
  • Video: Muting Game View does not mute video audio. (964785) (854484)
  • Video: Fixed VideoPlayer CameraNear/FarPlane RenderModes when used in conjunction with VR. (none)
  • Video: Fixed a rash at TestAndRemoveObject when closing Unity with video preview playing. (938819)
  • Video: Fixed video decoding errors due to bad file I/O for high res/bitrate video. (962255 (908289)
  • Video: [Windows][Standalone] Fixed a crash when exiting standalone 'UnityPlayer.dll caused an Access Violation'. (942012)
  • Video: Fixed an issue whereby video Clip Preview works only in Play mode. (931846)
  • Video: Fixed a rash in mono_marshal_get_cache when reentering Play mode after video clip was previewed. (930707)
  • Video: Fixed VideoPlayer crash on OSX 10.9 and iOS 7.0 or below. (965362)
  • Video: Fixed inspector preview not cropping video files name. (964789) (937173)
  • Web: Fixed WWW.responseHeaders returning NULL. (949038)
  • Web: UnityWebRequest: Fixed POST key/value dictionary containing very long values. (946124)
  • Web: Fixed header availability in UnityWebRequest when response is HTTP failure or there is no body.
  • WebGL: Fixed Timeline crash on missing DSPConnection::setMix(). (949858)
  • WebGL: Fixed division by zero when AudioSource.pitch is zero. (946393)
  • WebGL: Fixed MS Edge detection. (943241)
  • WebGL: Fixed missing slashes in https blob url. (940942)
  • WebGL: Fixed black screen / missing progress bar during loading. (900105)
  • WebRequest: Fixed resource leak when aborting a UnityWebRequest that downloads an AssetBundle. (950574)
  • WWW: Fixed WWW class regressions related to throwing NullReferenceException. (949418)
  • XR: Fixed a thread affinity issue on certain mobile devices that could affect performance when resuming VR apps. (None)
  • XR: Fixed handling of Android density (screen resolution) changes to avoid a crash. (950540)
  • XR: Fixed camera aspect ratio not being preserved when switching from VR to non-VR. (892084)
  • XR: Fixed black screen on startup on Cardboard when GLES2 or GLES3 was used. (931397)
  • XR: Fixed Cardboard iOS target frame-rate. (950229)
  • XR: Fixed Daydream applications hanging before quitting to Android home when calling Application.Quit. (966173)
  • XR: Combined depth/stencil invalidation to work around a driver bug on some Android platforms.
  • XR: Fixed an issue with Camera.stereoSeparation being incorrectly applied on Oculus HMDs. (957488)
  • XR: Fixed Podfile not reporting the correct version. (962253)
  • XR: Fixed forcing LandscapeLeft default Orientation on all mobile VR applications.

Revision: 574eeb502d14

LTS Release 2017.3.0f3

Released:

LTS Release 2017.3.0f3

Released:

2017.3.0f3 Release Notes (diff since 2017.3.0f2 at the end)

SDKs

  • Vuforia: SDK v.7.0.36 link

Features

  • Analytics: Added support to capture VR device refresh rate, dimension, aspect ratio, HMD tracking and Controllers tracking as part of device info and device status events.

  • Animation: Added support for integer and enum animation.

  • Asset Pipeline: Added AssetDatabase.ForceReserializeAssets API. This method allows you to proactively load, upgrade, and write back to disk any Asset or Scene files in the project. When project upgrades cause serialization changes to Assets and metafiles, Unity writes these changes to disk separately from regular development iterations.

  • Editor: Added assembly definition files for script compilation pipeline in the editor. This allows you to define your own managed assemblies based on scripts inside a folder. Splitting your project's scripts into multiple assemblies can greatly reduce script compilation times in the Editor. Note that the latest version of Visual Studio Tools for Unity is required for this feature to work with solution and project generation for Visual Studio.

  • Editor: Added events: MouseEnter, MouseLeave, MouseOver, MouseOut, AttachToPanel, DetachFromPanel, PostLayout.

  • Editor: Added Focus events that notify UIElements when they gain or lose focus (the focused element receives keyboard input), and a focus ring, which is a circular list of UIElements that gives the order in which they receive the focus when you press Tab or Shift+Tab.

  • Editor: Added the Transform Tool, a single Gizmo you can use to move, rotate and scale in the Unity Editor.

  • Editor: You can now use DX12 API in the Editor.

  • Facebook: Segmented the uploader for the Facebook platform.

  • GI: Added support for HDR compressed lightmaps (BC6H) on PC, Xbox One and PlayStation 4. To enable this, go to Player Settings and set the Lightmap Encoding option to High Quality.

  • Graphics: Added a new method, ScreenCapture.CaptureScreenshotAsTexture. Use this to save screenshots taken with ScreenCapture as Textures in the Editor.

  • Graphics: Added Crunch compression support for ETC_RGB4 and ETC2_RGBA8 textures. Improved compression ratio and speed for DXT Crunch.

  • Graphics: Added Dynamic Resolution as an engine feature, debuting on Xbox One platform.

  • Graphics: Added support for multisampled Textures in Shaders. To use a multi-sampled Texture in a Shader, declare it as Texture2DMS (or, for example, float for a single-channel texture), and then sample as described in Microsoft's documentation on Texture2DMS::Load methods. You must create the corresponding RenderTexture with the bindMS flag set on the RenderTextureDescriptor, or set the bindTextureMS flag after creation on the RenderTexture itself.

  • Graphics: Support for 32 bit Mesh index buffers:

    • By default, meshes larger than 65k vertices get imported with a 32 bit index buffer. Smaller meshes still use 16 bit indices.
    • Added Index Format setting to Mesh Importer to override this behavior.
    • Added Mesh.indexFormat to scripting API for Meshes created at run time.
  • Kernel: Added new argument -systemallocator. This disables Engine management of allocations, and instead uses system allocations. This is useful when using external tools for memory debugging.

  • Particles: Added a new Speed Modifier option in the Particle System Velocity Module. Use this to control particle speeds without changing their directions. description

  • Particles: Added Unlit and Surface shaders for use with Particle Systems. description

  • Particles: Ribbonized Particle Trails. description

  • Physics: Exposed a new broadphase algorithm called Multi-Box Pruning, which is based on subdividing the world boundaries. This helps to overcome the performance issues in the standard sweep-and-prune approach, by exluding the excess checks of bodies that are far away but overlap each other along one of the principal axes. Access Multi-Box Pruning in the Unity Editor's Physics Settings.

  • Physics: Exposed new settings in the Physics Manager: Contacts Generation, Contact Pairs, and Broadphase Type. This allows receiving the collision and trigger events from kinematic-kinematic and kinematic-static contact pairs.

  • Physics: Exposed MeshCollider.cookingOptions. Cooking options allow you to enable or disable certain features in Mesh cooking (the process of turning a normal Mesh into a Mesh that is suitable for use in the physics system). These options can help you achieve a much shorter cooking time. This API requires that you manually check the input data for validity.

  • Playables: Added new delay feature for IPlayables.

  • Playables: Added new Video Playables Integration.

  • Profiler: Added API for custom threads profiling: Profiling.BeginThreadProfiling, and Profiling.EndThreadProfiling.

  • Scripting: Added command line option "overrideMonoSearchPath" for desktop standalone players (OSX, Windows). "overrideMonoSearchPath" specifies an extra folder to search when Mono is loading assemblies. One intended use is to have two versions of the same project (such as a trial version and a full version). The Assets are the same, but the scripts are different. You can use this command line option to re-use the Assets, but load different scripts.

  • Scripting: Added Mono/.NET 2.0 support for Memory Profiler. See more on GitHub.

  • Services: Analytics Standard Events and Tracker are now built into the editor.

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

  • Video: Added panoramic 360/180 2D/3D video workflows.

  • Video: Introduced UnityEngine.Media.MediaEncoder to expose the VideoClipImporter encoders. This allows you to create movie files via script.

  • XR: Added a new option in the Windows MR Player Settings called Enable Depth Buffer Sharing. This allows the OS to better stabilize images without the need to manually set the focus plane. For more information about the benefits of image stabilization, see Microsoft's documentation on Hologram Stability.

  • XR: Added new UI to Daydream VR Device configuration, to support new 6DOF Standalone devices.

  • XR: Added support for Oculus Dash and Depth Buffer Sharing. Depth sharing makes opaque objects semi-transparent when in front of Dash. Both features can be toggled via the Depth Buffer Sharing and Dash Support checkboxes in the Oculus Player Settings

  • XR: Added XR support to Experimental Scriptable Render Pipelines.

Backwards Compatibility Breaking Changes

  • Graphics: Removed DirectX 9 support from Windows Editor & Standalone. See blog post.

  • Linux: Minimum supported OS version is now Ubuntu 14.04.

  • OSX: Removed support for targeting 32bit macOS applications. Replaced BuildTarget.StandaloneOSX* enums with BuildTarget.StandaloneOSX.

  • SamsungTV: Removed support for Samsung TV.

  • Tizen: Removed Tizen mobile support.

Changes

  • 2D: Unity now generates a default Physics Shape when it creates a Sprite from an imported Texture.

  • Android: Release Gradle builds are now signed with a debug key by default, and no longer fail if no key is provided.

  • Android: Release Gradle builds no longer have ProGuard enabled by default.

  • Android: Removed "Export as ADT project" option.

  • Asset Import: TextScriptImporter now recognises Markdown files (.md).

  • Editor: Added methods EditorGUI.EnumFlagsField and EditorGUILayout.EnumFlagsField, which respect the values of the enum type and support custom names for values 0 and ~0 (all bits set). Deprecated methods EditorGUI.EnumMaskField, EditorGUILayout.EnumMaskField, EditorGUI.EnumMaskPopup, and EditorGUILayout.EnumMaskPopup, which always assume values to be 1, 2, 4, 8 (and so on). (896176)

  • Graphics: Removed allegorithmic Texture compressor.

  • Graphics: Resolution is no longer clamped when using custom shadow resolution on a light, allowing you to reach up to 8k shadowmap if needed.

  • Graphics: Updated splash screen logo with new branding style.

  • Graphics: You can now access imageContentsHash for all Texture objects. This was previously only accessible using the RenderTexture API. (952466)

  • Licenses: Updated FBX license to require acceptance of FBX SDK license. See Autodesk's License and Services Agreement 2015.

  • Package Manager: Added upmResetToEditorDefaults command-line option and menu item to reset packages to Editor defaults.

  • Profiler: Improved profiler data serialization for Players - lower memory overhead, better performance.

  • Shaders: Concatenated matrix macros (e.g. UNITY_MATRIX_MVP) are now changed to static variables to avoid repeated calculations.

  • Substance: Deprecated built-in support for Substance Designer materials. This support will be removed in 2018.1. To continue using Substance Designer materials in Unity 2018.1, you need to install a suitable third-party external importer from the Asset Store.

  • UI: Unity no longer resets the LookDev camera when you create a new Scene. (938493)

  • XR: Improved the way XR devices pause/unpause applications, particularly when pausing as a result of application focus being lost. Unity now handles overlapping pause conditions correctly, regardless of the order in which they occur.

  • XR: Removed padding on double-wide texture used with Single Pass.

Improvements

  • 2D: Exposed methods to set and retrieve Physics Shape from a Sprite.

  • 2D: If you use Shift-Click to do picking for Tile Palette, Unity now switches back to the original tool after picking is done.

  • 2D: Unity now displays a confirmation dialog box when you create new Tile Assets that overwrite existing Tile Assets.

  • 2D: Unity now saves changes to the Tile Palette when you stop editing the Tile Palette, or when you save the project.

  • Android: Added a new way to handle audio focus in Android Oreo.

  • Android: Added the option to configure Texture decompression format on Android devices that have no ETC2 Texture format support.

  • Android: Updated Gradle version and made it the default build system for Android.

  • Android: [OpenGL ES] Added support for preserving the framebuffer alpha.

  • Animation: Added a 2D mode to the Animation Previewer.

  • Animation: Added new Translation DoFs for Arms, Legs and Head for Humanoid animation and retargeting. This converts translations (also known as stretch) found on imported animations to retargetable Humanoid animations.

  • Animation: Added zoom in the Animator Window.

  • Animation: Entry, Exit and AnyState StateMachine Transitions can now be copy-pasted. (921705)

  • Animation: Framing a single key does not give proper context for manipulation in the curve editor, so we included neighbouring keys.

  • Asset Import: Added Preserve Hierarchy toggle to the Model Importer, to prevent Unity stripping the root transform when the model has a single root.

  • Asset Import: Added AssetPostprocessor.OnPostprocessMaterial.

  • Asset Import: Exposed ModelImporter.MaterialLocation to allow you to switch the Iaterial import location in AssetPostprocessor scripts.

  • Asset Import: Material workflow enhancement: added the ability to remap all embedded materials to existing material assets in the project, using the same heuristics as the legacy system

  • Asset Import: You can now skip Video Clip transcoding during import. If you do so, Unity uses a non-transcoded version of the video instead.

  • DX12: Native Rendering Plugin: Exposed and implemented native RenderBuffer resource retrieval, and fixed multithreading issues.

  • Editor: Added UnityEngine.Networking.PlayerConnection.ConnectedPlayer.Name. This makes it easier for you to identify connected players.

  • Editor: Connected Players now only show debug logging in Editor console, not all of stdout. Added an option to disable player logging in the Editor console.

  • Editor: Fixed over 120 missing or incomplete tooltips in the Unity Editor.

  • Editor: If Edit mode and Play mode tests produce files without proper cleanup, Unity now logs a warning.

  • Editor: It is now possible to adjust the number of lines per log row in the Console window.

  • Editor: Updated UnityShaderCompiler tool for macOS and Linux to 64bit. This improves shader compilation performance.

  • Editor: You can now double-click a Scene file in the Build List to highlight Scenes in the Project view.

  • Editor: You can now select which Xcode version to build your project with on MacOS.

  • GI: Before, all trees, lightmap static or not, would cast baked shadows on Terrain. Now Unity honors the Static flag on the prefab.

  • GI: Fixed debugging textures for GI. It's now easier to tell when they should be availble, and why they might be missing.

  • GI: Legacy trees and prefabs that don't have a LOD group now cast baked shadows on Terrain. (685764)

  • GI: Made spot light and point light fall-off match real-time fall-off in Progressive Lightmapper.

  • Graphics: Added "base vertex" functionality to Mesh.SetIndices, to allow meshes larger than 65k vertices when using 16 bit index buffer..

  • Graphics: Added GPU selection in metal for MacEditor and MacStandalonePlayer.

  • Graphics: Added non-allocating overloads for GeometryUtility.CalculateFrustumPlanes.

  • Graphics: Fixed Occlusion culling regression that was causing objects to be incorrectly culled. (972075)

  • Graphics: GPU Instancing: Instance properties are now packed as arrays of structures. Internally, we changed the constant buffer layout, where multiple instance properties are present. There are three changes in the instancing declaration macros, but the old shaders can be upgraded automatically. For your reference, the three changes are:

    1. UNITY_INSTANCING_CBUFFER_START/END renamed to UNITY_INSTANCING_BUFFER_START/END.
    2. UNITY_INSTANCING_BUFFER_END now takes an arrayName in the parentheses.
    3. UNITY_ACCESS_INSTANCED_PROP must now be provided with the arrayName in the first argument to indicate where this property comes from. Note that if graphics jobs are not enabled, the CPU-side processing of instance property values are optimized and off-loaded to a worker thread to further reduce CPU cost.
  • Graphics: GPU Instancing: Introduced a new feature on most platforms, called "flexible instancing array sizes". This means you no longer need to specify instancing array sizes. Instead, Unity calculates it from the next draw's instance count.

    • This greatly reduces shader compiling time for instancing variants.
    • If you always take the maximum constant buffer size allowed by the device, then divide by the instance data structure size, you can further reduce instance batch count, especially on OpenGL and Metal.
    • This introduces moderate performance improvements, especially for Scenes with lots of small batches. particularly useful if you rely on Unity renderloops to automatically batch instances for you.
  • Graphics: Improved documentation for graphics hardware tiers.

  • Graphics: Improved motion vectors precision when dynamic batching is disabled.

  • Graphics: Introduced various performance and memory consumption optimizations to the Vulkan renderer.

  • Graphics: Optimized Point Light real-time shadows for D3D11.

  • Graphics: Updated compute shader API: Added SetMatrix, SetMatrixArray and SetVectorArray for SetComputeXXX and for command buffer.

  • Graphics: Vulkan: Implemented multidisplay support for the Vulkan rendering back-end (Windows/Linux).

  • Graphics: [Metal] Eliminated Z-fighting artifacts on certain devices.

  • iOS: Exposed PlayerSettings.iOS.disableDepthAndStencilBuffers in scripting API. (938696)

  • iOS: [Metal] Improved render thread scheduling.

  • Kernel: Made optimizations to the job system to reduce CPU usage on job worker threads in specific scenarios.

  • Linux: Enabled Wayland support (experimental, requires -force-wayland command line argument).

  • Linux: Updated to SDL 2.0.5.

  • Mobile: Engine code stripping now works on Android.

  • OSX: Fixed input configuration behaviour in launcher window, sharing code used elsewhere.

  • Package Manager: Added update to allow you to reset Project packages to Editor defaults.

  • Particles: Added a Resimulate checkbox for previewing all looping Particle Systems in Edit Mode. description

  • Particles: Added an option to the Scene View FX dropdown to toggle the visibility of Particle Systems.

  • Particles: Added script accessors for animatedVelocity and totalVelocity/ These allow you to query the total velocity of a particle from script, rather than just the physics velocity.

  • Particles: Added support for Meshes using lines and linestrips for particle Shape Module spawning. (931662)

  • Particles: Added update to display particle stats in Editor Play Mode for selected systems.

  • Particles: Improved the workflow for creating multiple Particle Systems inside a shared GameObject hierarchy: The Particle System no longer resumes playing a paused preview when you select systems belonging to the same effect.

  • Particles: Moved Resimulate and Show Bounds from the Inspector to the Scene View Overlay.

  • Physics: Introduced Cloth self-collision and inter-collision tools and technology. Improved constraint painting.

  • Profiler: Added experimental option to use Deep Profiler in Players with Mono runtime.

  • Scripting: Added a fastpath which avoids boxing of value types when a UnityEvent invokes listeners with the exact same argument types (932039)

  • Testing: Introduced [RequirePlatformSupport] in the Editor Tests framework, allowing tests to be marked as requiring support for particular platforms to be installed.

  • Testing: The -testCategory command line argument (to select the category of tests to run) now supports regular expressions.

  • Timeline: Added multi-selection capabilities to the Clip Inspector.

  • Timeline: Introduced various clip snap improvements:

    • Improved snap precision
    • Added Multi-selection clip snap support
    • Added double side snap hint
    • You can now hold down Ctrl to toggle snapping when moving clips
    • No snapping on Muted tracks
    • Auto snapping on Clip Asset duration and loop ends
  • Timeline: Made improvements to the Copy/Paste workflow.

  • UI: All Editor tab views now use FitToContents for button contents with flexible space on either side of toolbar, instead of filling window width.

  • UI: Cached eventCamera access in Raycast() to avoid calling Camera.main multiple times.

  • UI: Improved UI for currently selected profiler connection.

  • UI: Improved MarkLayoutAsDirty by early-exiting check loop, inlining check and removing list manipulation.

  • UI: Made performance improvements to GraphicRaycaster and EventSystem. (934842)

  • WebGL: Changed WebGLExceptionSupport.Full to WebGLExceptionSupport.FullWithStacktrace and added WebGLExceptionSupport.FullWithoutStacktrace.

  • Windows: Added support for proxy setup on UWP.

  • XR: Added support for Single-Pass stereo rendering on MacOS.

  • XR: Added XRSettings.useOcclusionMesh to allow for disabling the occlusion Mesh.

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

  • XR: Improved VR Terrain Trees: Fixed billboard trees rotating all the time as viewer moves in VR, better transition of 2D to 3D trees, fast "sort-independent" trees with alpha-to-coverage blending and MSAA , billboard Texture aliasing improvements. (733507, 946544)

  • XR: Updated Google VR NDK to 1.80.

  • XR: Updated Vuforia to version 7.0.36

  • XR: XR now supports jittered projection matrices (for use with TAA). (873685)

API Changes

  • 2D: Added new methods for Sprites to set and retrieve Physics Shape: GetPhysicsShapeCount, GetPhysicsShapePointCount, GetPhysicsShape,OverridePhysicsShape`.

  • Animation: Added AnimationCurve.Constant().

  • Animation: The structure AnimatorTransitionInfo now has a "duration" property that returns the duration of the current transition, as well as a durationUnit property that returns which unit is expressed this duration: fixed (in seconds) or normalized (in percentage).

  • Animation: Animator.CrossFade() and Animator.CrossFadeInFixedTime() can now set the transition time.

  • Asset Import: Added API signature changes and constraints removal to ScriptedImporters (Experimental feature).

  • Build Pipeline: Deprecated BuildTarget.StandaloneOSXIntel, BuildTarget.StandaloneOSXIntel64 and BuildTarget.StandaloneOSXUniversal. Upgraded BuildTarget.StandaloneOSXUniversal to new BuildTarget.StandaloneOSX. This now is the only option for targeting macOS.

  • Caching: Added overloaded version of ClearCache() that can clear cached AssetBundles which are unused for longer than the given expiration time.

  • Editor: Added methods EditorGUI.EnumFlagsField and EditorGUILayout.EnumFlagsField. These respect the values of the enum type, and support custom names for values 0 and ~0 (all bits set). (896176)

  • Editor: Deprecated methods EditorGUI.EnumMaskField, EditorGUILayout.EnumMaskField, EditorGUI.EnumMaskPopup, and EditorGUILayout.EnumMaskPopup, which always assume values to be 1, 2, 4, 8, and so on. (896176)

  • GI: Renamed LightmapEditorSettings.Lightmapper.Radiosity to LightmapEditorSettings.Lightmapper.Enlighten, and LightmapEditorSettings.Lightmapper.PathTracer to LightmapEditorSettings.Lightmapper.ProgressiveCPU. Use the Unity Automatic API Updater to make these changes automatically in your Project.

  • GI: Unity no longer supports Light.isBaked and Light.alreadyLightmapped. Use Light.bakingOutput.isBaked (and other members of Light.bakingOutput) instead.

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

  • IMGUI: Upgraded lowercase EventType enums to their corresponding uppercase variants. The old API is now obsolete.

  • iOS: Added iOS.Device.RequestStoreReview, a review request API for the App Store.

  • Playables: Added new callback in PlayableBehaviour: OnBehaviourDelay. This is called in the first frame that the playable is delayed.

  • Playables: Added new callback in PlayableBehaviour: PrepareData. This is called if the playable is delayed.

  • Playables: Added new method to allow building or rebuilding the graph without initiating Play(): PlayableDirector.RebuildGraph.

  • Playables: Added new methods for IPlayable: SetDelay() and GetDelay().

  • Playables: Added new properties in FrameData: effectiveParentDelay and effectiveParentSpeed.

  • Playables: AudioClipPlayable.IsPlaying() is now obsolete. This method was for testing purposes only.

  • Playables: IPlayable.SetPlayState() is now obsolete. Use Play(), Pause() or SetDelay().

  • Playables: Playable.ConnectInput now takes an optional weight parameter.

  • Scripting: Added AssemblyBuilder.excludeReferences.

  • Scripting: Made Vector2.SmoothDamp parameters maxSpeed and deltaTime optional.

  • XR: Added 'PlayerSettings.VROculus.sharedDepthBuffer' and 'PlayerSettings.VROculus.dashSupport' for aquiring and setting the Oculus properties in the XR Settings.

  • XR: Added PlayerSettings Get/SetVirtualRealitySupported, Get/SetVirtualRealitySDKs, and GetAvailableVirtualRealitySDKs for aquiring and setting the XR Settings Virtual Reality Supported toggle and Virtual Reality SDKs list.

  • XR: RenderViewportScale is now disabled in Deferred Rendering.

Fixes

  • 2D: Fix ArgumentOutOfRangeException thrown when attempt to move point outside of the sprite rect in Sprite Editor while holding control key (946546)

  • AI: Fixed unwanted gap in the NavMesh produced by a concave edge crossing a tile boundary. (930830, 959522)

  • Android: Android: Add "Low Accuracy Location" checkbox to player settings (915891)

  • Android: Android: Buildpipe - Fixed exporting for projects with chars in ProductName which are forbidden by the file system (925490)

  • Android: Buildpipe - Fixed longer export times because of the build report (950381)

  • Android: Fixed an issue with having lots of VBOs allocated even for an empty scene on Android during application startup (920508)

  • Android: Fixed Android not supporting asset bundles larger than 2GB (912482)

  • Android: Fixed atlased ETC1 textures with split alpha rendering in editor outside of play mode (942923)

  • Android: Fixed issue preventing apps using OBB from launching after install from Google Play

  • Android: Fixed OpenGL ES version check for Android and Android Extension Pack detection in the editor (931848)

  • Android: Fixed player crash when profiler with GPU profiling was enabled and graphics API was not OpenGL ES 3 (944118)

  • Android: Fixed realtime HDR reflection probes being black on older Android devices (776875)

  • Android: Partially fixed streaming assets being compressed when building with gradle (952981)

  • Android: Shaders that fail to compile no longer spam the log in release builds (837845)

  • Animation: Display clip name in clip importer preview title (888864)

  • Animation: Fixed a crash when closing Animator Window (916970)

  • Animation: Fixed an exception in the transition inspector when the previewer is not docked (935015)

  • Animation: Fixed an issue where Animation Events in empty clips were not getting fired (921121)

  • Animation: Fixed an issue where copy pasting a state containing a Blend tree to a synchronized layer would link (891990)

  • Animation: Fixed an issue where the Avatar Previewer (StateMachine transitions and Animation Clips previewer) was not centering for some models (936144)

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

  • Animation: Fixed animation starts sliding in Blend Tree preview when having more that two animations (903883)

  • Animation: Fixed Animation Window clip popup list not alphabetically sorted (934923)

  • Animation: Fixed animations that reference script properties that are in asset bundles (920973)

  • Animation: Fixed AnimatorState's WriteDefaults not working properly on very specific setups (893779)

  • Animation: Fixed assertion message displayed when using override controllers with legacy clips (919054)

  • Animation: Fixed Avatar preview not initializing properly

  • Animation: Fixed crash in invalid state machine transition (920625)

  • Animation: Fixed crash when changing number of input in AnimationLayerMixerPlayable at runtime. (921997)

  • Animation: Fixed default values when setting an OverrideController (810415)

  • Animation: Fixed editor freezing when duplicating badly formed state machines (913757)

  • Animation: Fixed erroneous visual feedback for the transition in the AnimatorController when transition time is negative (883899)

  • Animation: Fixed Frame-All and Frame-Selected in Animator Window

  • Animation: Fixed humanoid body position not properly animated when used in additive layer (916487)

  • Animation: Fixed interrupted transition on layers that have empty states. (920470)

  • Animation: Fixed keyframes not pasted in the proper order in the dopesheet. (944695)

  • Animation: Fixed keyframes skipped when navigating to Previous/Next keyframe in animation window (927700)

  • Animation: Fixed keyframing of multiple material selection in the animation window (934578)

  • Animation: Fixed muscle settings being reset when changing other muscle settings in the model importer.

  • Animation: Fixed NaN errors originating from root motion calculation. (794979)

  • Animation: Fixed non-animated values in Transform component not properly restored when previewing in Animation Window (809332)

  • Animation: Fixed property not displayed with "Default Value" identifier when last key is deleted in the curve editor (925529)

  • Animation: Fixed state machine range selection not adjusting to bigger graphs (877827)

  • Animation: Fixed tangent mode not properly set when adding a key at curve extremities in curve editor (944014)

  • Animation: Fixed unresponsive animation window when zoomed out (919500)

  • Animation: Root motion broken in animation when weight of any additional layer is greater than zero (943238)

  • Animation: Transition between animations makes GetIKRotation and GetIKPosition return incorrect value (945035)

  • Asset Bundles: Fixed bug where incorrect error was getting thrown if an asset was included in the same AssetBundle more than once (932726)

  • Asset Import: Fixed bug with ScriptedImporter where a sub-asset added to the AssetImportContext would become the main asset, when the specified main asset was of certain built-in types

  • Asset Import: Fixed crash when accessing ModelImporter.sourceAvatar with a null avatar (951241)

  • Asset Import: Fixed crash when importing a corrupted prefab (919220)

  • Asset Import: Fixed crash when importing some invalid .3ds files. (937949)

  • Asset Import: Fixed crash when reparenting imported root in OnPostprocessModel (943075)

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

  • Asset Import: Updated SketchUp SDK to latest to support SketchUp 2015/2016/2017 (782948)

  • 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 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: 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)

  • Build Pipeline: Fix "Must set an output directory through SetCompileScriptsOutputDirectory before compiling" error when importing some asset packages (923377)

  • Build Pipeline: Fix crash when unloading an asset bundle that contains a GameObject with a non-persistent component (807541)

  • Build Pipeline: Fixed bug where error was getting thrown if Cancel was selected in the folder dialogue for certain types of Android builds (931036)

  • Build Pipeline: Fixed editor crash when attempting to build Assetbundles from a PreProcessBuild callback (920116, 928647)

  • Build Pipeline: Fixed editor crash when reading very old serialized files (911018)

  • Build Pipeline: Modified warning message in the build player window to direct users to log in to use services (800269)

  • Cache Server: Fixed several cache server bugs that would manifest as freezes/hangs or failures when reading from a cache server (943300)

  • Editor: Changing width of LookDev window to lowest possible while HDRI panel is open throws errors (938490)

  • Editor: Crash on macOS when canceling undock of Hierarchy or Scene View (942253)

  • Editor: Don't show incorrect label inspectors on folders in the project browser (914534)

  • Editor: Fix a fatal error caused when code is trying to access a non-existing platform (for example, one that was deprecated and later removed in Unity) (943461)

  • Editor: Fix crash on shutdown after using Windows speech recognizer (946499)

  • Editor: Fix framework inspector showing only one option in Option Dependencies (930624)

  • Editor: Fix issue that caused Windows speech recognizer not to work if a bad syntax file was loaded (871461)

  • Editor: Fix modifiers being discarded when pressing hotkey (936062)

  • Editor: Fix null reference exception on scene view drop (915829)

  • Editor: Fix null Reference Exception with the DockArea OldOnGUI (973680)

  • Editor: Fix player build success notification

  • Editor: Fix preview generation when lighting data hasn't been baked (818075)

  • Editor: Fix progress bar display for test tools

  • Editor: Fixed "Help > Software Licenses" menu item not working when editor application has spaces in path (macOS). (914937)

  • Editor: Fixed 9-slice not working well on transform scale values that are other than Vector3.one. (933414)

  • Editor: Fixed a issue that launching the editor using -projectPath argument without a valid license results in hang on splash or no visible window (942380)

  • Editor: Fixed an issue that was preventing the execution of menu items that contained a hotkey character (e.g., '&', '_', etc) via Editor scripts. (941189)

  • Editor: Fixed an issue where GameView size would not be restricted correctly when we don't think there's enough video memory (900779)

  • Editor: Fixed an issue where LogAssert.Expect would ignore the the logtype when finding a satisfying event when running playmode and editmode tests. (935602)

  • Editor: Fixed an issue where ResourceRequest.isDone was never set when loading resources in the Editor with LoadAsync until Editor window got resized (898008)

  • Editor: Fixed bug where Object Selector would default to Scene tab for ScriptableObject and other non-GameObject/Component asset types

  • Editor: Fixed bug where Object Selector would not display objects of a custom type if their unqualified type name matched some Unity type's unqualified name

  • Editor: Fixed Build And Run button for AppleTV on non macOS (938824)

  • Editor: Fixed crash on Mac on window close after upding drag and drop for interacting with object picker (939211)

  • Editor: Fixed crash when clicking Gizmos button in Scene view. (923088)

  • Editor: Fixed editor crash on UnloadSceneAsync() when exiting play mode if two scenes are added in Hierarchy (868291)

  • Editor: Fixed Editor crash when using obsolete platform StandaloneOSXUniversal in code. (942560)

  • Editor: Fixed incorrect tool placement when pivot mode was set to Center (962721)

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

  • Editor: Fixed issue where Editor would crash on reload of a named scene without a scene Asset (928294)

  • Editor: Fixed issue where trying to exit Avatar Configuration would not open a new scene and lock the inspector (926815)

  • Editor: Fixed issue where you could not reload the last loaded scene, when there is an unloaded scene in the scene hierarchy. (927176)

  • Editor: Fixed issue with wrong xcode beeing used to build the project on Mac (815711)

  • Editor: Fixed NullReferenceException when selecting objects in hierarchy at the same frame they are destroyed (784805)

  • Editor: Fixed planar handles of position handle using absolute mouse position instead of relative. (920533)

  • Editor: Fixed Profiler not showing chart data after Playmode change if Scene view was set to Maximize on Play. (778068)

  • Editor: Fixed so OnHierarchyChanged event is not fired if a root GameObject added/removed is hidden. Now same behavior as non-root GameObjects.

  • Editor: Fixed so OnHierarchyChanged event is not fired if selection changes to a GameObject that shows preview area or material preview icons in the Inspector. (935289)

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

  • Editor: Fixed TreeView renaming issue when re-docking an EditorWindow (888658)

  • Editor: Fixed UIElements ScrollView having empty space when scroll bars are hidden (930065)

  • Editor: Fixed various issues in PlayerConnection and EditorConnection, player connect and disconnect should work properly now.

  • Editor: LookDev camera/objects is reset upon creating new unity scene (938493)

  • Editor: LookDev window allows meshes to be dropped from scene hierarchy (938500)

  • Editor: Removed unnecessary error in console when using point mesh topology. (930042)

  • Editor: The generated TestResults.xml when running playmode and editmode tests is now updated to be in NUnit3 format. (910845, 940839)

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

  • Editor: [Profiler] Shows no data if docked and Game View is maximized (778068)

  • GI: Fixed issue where GI data wasn't loading properly from Asset Bundles. (924597)

  • Graphics: Convert scene view texture to LDR before drawing scene view elements. (878724)

  • Graphics: Fix second display rendering on Android/iOS when Camera.targetDisplay is not zero, Camera.targetDisplay is now completely ignored on these platforms (920394)

  • Graphics: Fix shadows when only alpha blended shadow caster are present. (930221)

  • Graphics: Fixed a crash when frustum culling local (point and spot) moving lights. (930408, 967291)

  • Graphics: Fixed changing the projectors render queue in script not having an effect. (841236, 974526)

  • Graphics: Fixed crash in canvas rendering while scene was saving (973686)

  • Graphics: Fixed crash when importing a BC6 source texture and the destination format is RGBA8UNorm.

  • Graphics: Fixed crash when passing null property block to CommandBuffer.DrawMeshInstanced. (951975)

  • Graphics: Fixed crash when using Graphics.ConvertTexture() to generate a R8/RG16 texture on DX12 or Vulkan (972069)

  • Graphics: Fixed GameView Stats windows & profiler to display rendered vertex/triangle counts properly when they are larger than 2 Billion.

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

  • Graphics: Fixed SkinnedMeshRenderers marked with "update when offscreen" not being updated when rendering via CommandBuffers. (938897)

  • Graphics: Fixed wrong texture quality beeing applyed for graphic APIs not supporting NPOT with mipmaps (881121)

  • Graphics: Increase vsync count cap from 2 to 4 to better align with what is allowed by DXGI (941921)

  • Graphics: Make flares respond to 2D colliders (911429)

  • Graphics: Work around Metal driver issue breaking reflection probes (899153)

  • iOS: Cardboard. Enable Transition View fixed (893415)

  • iOS: Don't overwrite provisioning on append if it's not set up (946822)

  • Kernel: Assert no longer occurs when finding game objects that are deactivating (667483)

  • Kernel: Display correct value when mult-editing and changing property to extreme clamped value (806441)

  • Kernel: Improved error reporting for semantic YAML merges, particularly on macOS (719374)

  • Licenses: Fixed a issue that when cached refresh token & access token expired, command line activation will failed (940084)

  • Licenses: Removed misleading "This should not be called in batch mode" message when returning license. (877423)

  • Linux: Improve native plugin lookup

  • Multiplayer: Force scene ID to 0 on all prefabs, fixes issue where spawning an a network object instance will create it as a scene object (866792)

  • OSX: Fixed new instance of MonoDevelop opening every time a script is opened (964078)

  • OSX: Restore previous behaviour of stripping UnityEngine mdb files for macOS Standalone player builds.

  • Package Manager: Allow user to continue after packman resolution failure at startup (945057)

  • Package Manager: Fixed failure to connect to Package Manager server when host file is empty or missing (944450)

  • Package Manager: Fixed issue where Export package window contains extra folder Packages (940149)

  • Package Manager: Package Manager would fail to initialize if project folder contained a comma character (957436)

  • Particles: Clamp properties to valid ranges when set via animation (936831)

  • Particles: Clamp properties to valid ranges when set via script (805636)

  • Particles: Improve mesh batching, so it behaves identically to billboard batching (924743)

  • Particles: Improved Frame Debugger messages for when dynamic batches using Particle Systems are broken (911933)

  • Particles: Lights module emitted lights when Maximum Lights was set to 0 (956067)

  • Particles: Mesh used in the Shape Module would not always update when swapped in Edit Mode (948152)

  • Particles: Noise remap curves were still editable after remap had been disabled (923397)

  • Particles: Particle system collision gizmos were also shown for particles without collision module when multiple particle systems were selected (947417)

  • Particles: Prevent bursts being added when multiple systems are selected, as it leads to unexpected results. (958320)

  • Particles: Sub Emitters with rate over distance could keep emitting after their parent particle has stopped moving due to a collision (950108)

  • Particles: Sub-emitter particles were still visible in Edit Mode when removing them from a parent emitter (946999)

  • Physics: Fix cloth prefab crash when enabling and disabling. (904655)

  • Scripting: Fix rare coroutine crash when exiting play mode (905492)

  • Scripting: Fix rare coroutine crash when having nested coroutines (903628)

  • Scripting: Fix to prevent domain reload when in play mode in the editor due to missing script reference in asset bundles (926516)

  • Scripting: Fixed crash when calling SerializedObject.CopyFromSerializedProperty(null) (927291)

  • Scripting: Fixed issue where resetting SerializedProperty.prefabOverride for one property could incorrectly reset other properties in some circumstances. (960775)

  • Scripting Upgrade: Fix crash in AssemblyUpdater when property body contains reference to an obsolete API method / property (935582)

  • Scripting Upgrade: Fix failure to resolve system types when building .Net player when user code, guarded by '#if NET_CORE' used obsolete APIs. (946498)

  • Scripting Upgrade: Fixed an issue where the send function from our synchronization context would fail to execute on the main thread (934819)

  • Scripting Upgrade: Fixes an issue where assemblies built with .NET 4.6 fail to be imported (922577)

  • Services: Fixed A very bad internet connexion can result on a black page when launching the editor (937367)

  • Services: Fixed duplicate symbols error when importing the Asset Store Ads package into Unity. (971277)

  • Services: Fixed missing symbols error when using Ads with Unity in certain circumstances. (958185)

  • Services: Prevent collab from getting into a publish loop (932469)

  • 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. (931791)

  • Shaders: Fixed non rendering light probe debug visualization in metal editor (900987)

  • Shaders: Fixing shadow precision into fp32 for mobile platforms. (896448, 899729)

  • Shaders: Shaders: Added in standard shader a warning if bump scale is used on mobile platform (828427)

  • Terrain: Fixed an issue where a terrain detail mesh would have incorrect wind animation if it uses vertex colors as weights and "Optimize Mesh Data" is enabled in Player Settings. (921107)

  • Terrain: Fixed an issue where assertions would appear if you have OnTerrainChanged message callback in your MonoBehaviour. (927365)

  • Testing: Test runner can now launch tests on iOS/tvOS and get results back (943302)

  • Timeline: Added snapping on multi-selected clips (883991)

  • Timeline: Fixed drag when moving mouse outside of the Timeline Window. (881880)

  • Timeline: Fixed snap to frame will snap to middle of frame if clip beginning is not snapped (879564)

  • Timeline: Fixed trimming left side of activation clip will eventually move the clip (888393)

  • UI: Added option to use legacy font calculation (943141)

  • UI: Adding delay to updating the rect when in on Enable to prevent prefab modification.empty assert (713684)

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

  • UI: Fixed a bug where images would not render if they started disabled. (922641)

  • UI: Fixed a memory leak in the UGUI profiler (912789)

  • UI: Fixed broken GUI when selecting prefabs with scripts that have compile errors (930931)

  • UI: Fixed crash in Canvas::CaptureBatchFrame caused by array out of bounds. (965672)

  • UI: Fixed issue in RectTransform where changes would be lost if applied before Activating the GameObject. (953409)

  • UI: Fixed issue in which GraphicRaycaster incorrectly hit graphic elements behind the event camera's far clipping plane. (935665)

  • UI: Fixed null reference exception and malformed UI when selecting prefab referencing deleted asset (930291)

  • UI: Fixing circular refernce with slider trying to drive itself. You can no longer assign the sliders transform to the rect fields (957602)

  • UI: Fixing error with potential maximum underflowing the counts causing a very large gfx buffer trying to be created which isn't possible (953270)

  • UI: Fixing issue where Font fallback references would not serialize properly (911613)

  • UI: Fixing issue with assert about the width, when reparenting.

  • UI: Fixing issue with CanvasRenderer sending to many updates when reparenting happens (959254)

  • UI: Fixing issue with ETC1 no longer clearing associatedAlphaSplitTexture causing ETC1 material to be used when it shouldn't (926901)

  • UI: Fixing issue with masking setting a keyword to false when it needs to be true (958177)

  • UI: Fixing issue with not sending the rect changed when parenting changes. (962072)

  • UI: Fixing issue with scale x, y = 0 not working as hit area

  • UI: Fixing issue with selection bounds not calculating the whole child hierarchy bounds for RectTransforms (971895)

  • UI: Fixing issue with showing wrong data in graph due to same stat name as GFX module (930049)

  • UI: Fixing issue with UI profiler memory leak caused by not releasing all stored data. (955744)

  • UI: Force ReapplyDrivenProperties when a RectTransform is awaking from load. (943817)

  • UI: Limit size of text sent text generator to avoid it throwing an error (948059)

  • UI: making the event systems be a list such that you can add multiple, remove one and still have the old system working without having to find every time. (840983)

  • UI: Reverting change to driven property system used by the UI.

  • UI: Skip RectTransform preview when parent width is zero. (859385)

  • UI: updated Image editor warning message to match import settings.

  • Universal Windows Platform: Fix building project when its product name ends with a space or contains unicode characters (885265, 942554, 945345)

  • Universal Windows Platform: Fixed "AssemblyConverter running on already processed assemblies. There is something wrong with your build." error message when building on top of a built project that had its UnityOverwrite.txt file deleted (940463)

  • Universal Windows Platform: Fixed an inconsitent with other platforms error message "Script Error (script name): Update() can not take parameters." when those magic methods are defined in a certain order on .NET scripting backend (950025)

  • Universal Windows Platform: Fixed an issue where Build & Run wouldn't work with VS2017 if a project name had parentheses in it.

  • Universal Windows Platform: Fixed debugging scripts on .NET scripting backend (934783, 949806)

  • Universal Windows Platform: Fixed NotSupportedException being thrown on UWP builds with .NET scripting backend enabled when using Timeline (966790)

  • Universal Windows Platform: Fixed project generation when project name has "&" or "'" characters in it (959804)

  • Universal Windows Platform: Follow up fix for runInBackground (759166)

  • Video: .mov with uncompressed RGBA now supported on OSX. (856784)

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

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

  • Video: Fixed crash when closing Unity with Video preview (938819)

  • Video: Fixed crash when exiting Standalone player with active VideoPlayer (942012)

  • Video: Fixed crash when releasing VideoPlayer outside Play Mode. (930707)

  • Video: Fixed incorrect VideoPlayer naming suffix when drag-anddropping a VideoClip into the scene. (923258)

  • Video: Fixed typo in one of the VideoPlayer editor tooltips (Audio Source). (920816)

  • Video: Fixed VideoPlayer CameraNear/FarPlane RenderModes when used in conjunction with VR

  • Video: Fixed VideoPlayer Preview outside Play Mode. (931846)

  • Video: On Android, videos stop playing when trying to resynchronize. (935659)

  • Web: Fix reading of local files (in Pictures/Documents/User directories) in UWP through WebRequest and WWW (910488)

  • Web: Fixed chunked data upload in UnityWebRequest on Standalone, iOS, Tizen, WiiU

  • Web: Fixed resource leak when aborting a UnityWebRequest that downloads an AssetBundle

  • WebGL: Fix missing progress bar and logo during loading screen (900105)

  • WebGL: Fixed back-buffer anti-aliasing on WebGL1.0 (923698)

  • WebGL: Fixed browser caching of data.unityweb files when Data Caching is enabled in Player Settings. (937594)

  • WebGL: Fixed file:// protocol warning on browsers that don't allow it (926842)

  • WebGL: Fixed Fullscreen mode on Safari (775206)

  • WebGL: Fixed server compression configuration warning (927459)

  • Windows: Fix artifacts when rendering to non-native resolution (930948)

  • Windows: Fix resolution reset when switching from minimized back to fullscreen (950056)

  • Windows: Fixed executable not having Unity version info (964052)

  • Windows: Fixed game window not getting minimized when using exclusive fullscreen mode on Windows key press (953086)

  • Windows: Fixed reading of loca, files in UWP through WebRequest. (910488)

  • Windows: Windows: Fixed switching to full screen from windowed when using dx11. (904471, 923430)

  • XR: Change hard coded GVR Device refresh rate to use Resolution.refreshRate (948896)

  • XR: Eye textures are no longer reallocated every frame when the main camera has MSAA disabled, but it is enabled for the VR device. (919459)

  • XR: Fix an issue with canvas lagging behind when attached to a spatially tracked object while in the editor and play mode. (814569)

  • XR: Fix Cardboard iOS target frame rate (950229)

  • XR: Fix crash in Holographic simulator when trying to exit play mode while paused and VR not enabled (948127)

  • XR: Fix for GearVR HMD touch pad not working with new Input System. (934585)

  • XR: Fix hardware volume controls so they are not locked out in Cardboard (938063)

  • XR: Fixed a number of issues with the VRDevice and rendering in the game view to remove occlusion mesh.

  • XR: Fixed billboard trees moving around in VR as viewer moves or rotates. Also fix VR issue of morphing tree vertices "growing" as camera moves closer to trees (733507, 946544)

  • XR: Fixed CommandBuffer.Blit doesn't work when used in CameraEvent.AfterEverything (918916)

  • XR: Fixed crash when using Android single-pass stereo rendering with the Mock HMD (930458)

  • XR: Fixed incorrect viewport in Single-Pass Stereo when blitting between different sized render textures (945940)

  • XR: Handle Android density (screen resolution) changes without crashing. (950540)

  • XR: Right eye is not rendering with Single Pass rendering and camera has Allow HDR enabled on Android (920106)

Known Issues in 2017.3.0f3

  • Android: Gradle builds fail when there are more than 250 files in streamingAssets. As a workaround, you can use a custom file extension for the files you want uncompressed. Specify this extension in a custom Gradle mainTemplate under "noCompress". You should also remove "STREAMING_ASSETS" from the template to avoid hitting the file limit. (962451)

  • Editor: Editor generating many undo steps when dragging a slider (976805)

  • Editor: MonoDevelop might get corrupted on macOS. Workaround is to rename MonoDevelop.app to something else like MonoDevelop2.app and then back to MonoDevelop.app again. This will make MonoDevelop work again. (969131)

  • Editor: Sometimes, scene gets dirty after pressing play (966172)

  • Editor: Unable to drag assets from Windows Folder to Unity when Editor is started as administrator

  • Universal Windows Platform: [WSA]Unity throws a System.IO.DirectoryNotFoundException error when exporting to the WSA player (UWP/.NET Backend) with a Project folder that has a long path. (959984)

  • XR: [Android] Unity throws an exception while initializing GoogleVR from the Unity library using the Gradle build system. (946104)

  • Editor: Unity does not create the Transform hierarchy on an an async-loaded GameObject if it accesses the GameObject before the async load is complete. (860938)

  • Editor: Use of "external script editor" in editor preferences doesn't work with some editors. Workaround is to use "open by file extension". (974296)

  • Scripting: Instantiating a prefab crashes the Editor if you create a list with type ResourceRequest after a while loop. (908339)

  • Substance: Animated Procedural Textures break async level loading. (959858)

2017.3.0f3 (diff since 2017.3.0f2)

Features

  • Services: Analytics Standard Events and Tracker are now built into the editor.

  • XR: Added support for Oculus Dash and Depth Buffer Sharing. Depth sharing makes opaque objects semi-transparent when in front of Dash. Both features can be toggled via the Depth Buffer Sharing and Dash Support checkboxes in the Oculus Player Settings

Fixes

  • Editor: Fix null Reference Exception with the DockArea OldOnGUI (973680)

  • Graphics: Fixed crash in canvas rendering while scene was saving (973686)

  • Graphics: Fixed crash when using Graphics.ConvertTexture() to generate a R8/RG16 texture on DX12 or Vulkan (972069)

  • Licenses: Removed misleading "This should not be called in batch mode" message when returning license. (877423)

  • Services: Fixed duplicate symbols error when importing the Asset Store Ads package into Unity. (971277)

  • Services: Fixed missing symbols error when using Ads with Unity in certain circumstances. (958185)

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

Fixes

  • Animation: Fixed an issue where the body position gizmo in the Animation preview would be on the ground instead of at the center of mass (965068)

  • Audio: Fix crash in AudioLowPassFilter on Nintendo Switch (975344)

  • Editor: Fixed regression to Build & Run not running Xcode for ios/tvos platfrom

  • GI: Fix for case 956577: [UI] Show Lightmap Resolution button is broken. (956577)

  • Graphics: Fixed a heap corruption on exit from the Windows Standalone Player (957169)

  • Graphics: Fixed crash when starting Unity on some machines with Windows 7 OS. (950417)

  • Graphics: Fixed rendering corruption using Vulkan and dynamic batching (973698)

Revision: a9f86dcd79df

LTS Release 2017.2.1f1

Released:

LTS Release 2017.2.1f1

Released:

Improvements

  • 2D - Exposed methods to set and retrieve Physics Shape from a Sprite.
  • 2D - Improved the name for the packed texture generated by a Sprite Atlas.
  • 2D - Sprites created by importing a texture now have a default Physics Shape generated.
  • Android - Changed "Bundle Identifier" to "Package Name" in associated error messages.
  • Android - Improved error messages from android sdk tools.
  • Android: Proguard is no longer enabled by default for gradle release builds.
  • Android: Release gradle builds now signed with a debug key instead of failing to build.
  • Apple TV - Added support for attitude data coming from new AppleTV remote.
  • Editor - Fix labels for LZ4 compression to be less confusing
  • GI: Various lightmap seam stitching improvements for Progressive Lightmapper.
  • Graphics - Added APIs to retrieve areas safe for UI rendering. Currently supported on iOS and tvOS only.
  • IL2CPP: Improved incremental build performance on OSX.
  • iOS - Added identification enums for iPhone 8, 8+ and X.
  • iOS - Added player setting to specify whether the home button should be hidden on iPhone X.
  • iOS - Added player setting to specify which device edges defer system gestures to the second swipe.
  • iOS - Added support for iPhone X launch images.
  • Linux - Improved native plugin lookup.
  • Playables: Updated Playable.ConnectInput to take take an optional weight parameter.
  • Playables: Updated the Playable API documentation.
  • Scripting: Added command line option "overrideMonoSearchPath" for desktop standalone players (OSX, Windows).
  • Shaders - Concatenated matrix macros (e.g. UNITY_MATRIX_MVP) are now changed to static variables to avoid repeated calculations.
  • tvOS - Implemented support for 4K AppleTV icons and splashscreens.
  • Video - Removed audio glitches that follow seek/underruns in VideoPlayer.
  • XR - Improved performance on Windows Mixed Reality by removing a potential thread stall that would occur whenever beginning a new frame while the previous frame had not completed presenting.
  • XR - Updated Vuforia to version 6.5.23.
  • XR: Added PlayerSettings Get/SetVirtualRealitySupported, Get/SetVirtualRealitySDKs, and GetAvailableVirtualRealitySDKs for aquiring and setting the XR Settings on Virtual Reality Supported toggle and Virtual Reality SDKs list.
  • XR: Enabled single-pass stereo rendering for Windows MR.

Fixes

  • XR: Fixed background rendering in ARCore apps running on Pixel XL no longer appearing stretched.
  • XR: Fixed issues with using values other than 1.0 for eyeTextureResolutionScale on Windows MR.
  • 2D: Fixed crash when Sprite Atlas scale results in a non-power-of-two texture and Crunch Compression is enabled. (960808, 953058)
  • 2D: Fixed ReflectionTypeLoadException from TilePalette when TilePalette is opened with 4.6 .Net and a user assembly cannot be loaded. (952556)
  • 2D: Fixed SetMinMax for Bounds/RectInt.
  • 2D: Fixed SortingGroup not applying sorting changes when child objects are duplicated or added dynamically.
  • 2D: Fixed switching platform and building project without making any changes will not cause Sprite Atlas asset to change. (968721)
  • 2D: Fixed the generation of Sprite Physics Shape for Sprites when the Texture is set to multiple Sprites mode, has no user Sprite Physics Shape set and does not generate a tight mesh for the Sprite.
  • 2D: Fixed tiled sprite renderer crash when a sprite is being packed in a Sprite Atlas which is not included in the build. (960807, 954812)
  • 2D: Fixed Tilemap Move to show correct Move preview. (952529)
  • 2D: Fixed TilemapRenderer showing tiles when Tilemap.ClearAllTiles() is called. (951514)
  • 2D: Fixed updating an active Tilemap palette prefab not exposing it into the SceneView. (947462)
  • AI: Fixed NavMesh.SamplePoint failing for meshes in range when another navmesh was below the point and out of range. (935433)
  • AI: Fixed unwanted gap in the NavMesh produced by a concave edge crossing a tile boundary. (930830)(959526)
  • Android: Disable GPU fences for two Android 6 devices which have been found to have compatibility issues causing performance loss: HTC 10 and LG G5 SE. (924891)
  • Android: Fixed a player crash caused by enabling GPU profiling when the selected graphics API was not OpenGL ES 3. (946913, 944118)
  • Android: Fixed android build failing with target SDKs 21-23. (956658)
  • Android: Fixed android video player playback starting to lag after activating input field. (934841)
  • Android: Fixed android video player stuttering and dropping frames. (931038)
  • Android: Fixed crash on some Adreno devices. (961094)
  • Android: Fixed crash while processing input during destruction. (934782)
  • Android: Fixed loading player data for very specific file sizes/content. (959908)
  • Android: Fixed plugin importer architecture selection. (963291)
  • Android: Fixed project export overwriting res/ directory when exporting to keep local changes to layouts etc. intact.
  • Android: Fixed realtime HDR reflection probes being black on older Android devices. (776875)
  • Android: Fixed setting multiple response headers with same name in UnityWebRequest. (944091)
  • Android: Fixed shader compile error on devices not supporting GL_FRAGMENT_PRECISION_HIGH.(945953)
  • Android: Fixed symbols.zip not including symbols file. (942625)
  • Animation: Fixed an issue where PrepareFrame was called at the wrong moment in the frame. (927919)
  • Animation: Fixed assert in play mode when Culling Type is set to "Based on Renderers". (943954)
  • Animation: Fixed assert when loading AnimationClip asynchronously in AssetBundles. (964932, 943438)
  • Animation: Fixed being unable to set the transition time in Animator.CrossFade(). (941945)
  • Animation: Fixed bool property not properly restored to initial value when exiting animation window. (948768, 947491)
  • Animation: Fixed case where sprite and material reference were not animatable at the same time in the SpriteRenderer. (945292)
  • Animation: Fixed case where transition between animations makes GetIKRotation and GetIKPosition returned incorrect value. (945035)
  • Animation: Fixed CurveField not updating animation curve when reference changes from render to render. (952170)
  • Asset Import: Fixed psd import issue where a psd looked different from a png. (931359, 931267)
  • AssetDatabase: Fixed an issue where AssetDatabase.GetSubFolders() didn't return any results, and updated the manual to reflect that this method only accepts relative paths. (931944)
  • Build Pipeline: Fixed a crash in BuildReporting::BuildReport::BeginBuildStep caused when BuildAssetBundles was being called from an OnPreprocessBuild callback. (941192, 958237)
  • Build: Exceptions in OnPreProcessBuild will now halt the build process correctly. (942296)
  • Collab: Fixed project manifest not being tracked in Collab. (951350)
  • DirectX 12: Fixed a crash when running on Windows 7 machine with first API in the list being DX12 and Graphics Jobs enabled. (964073)
  • DX12: Fixed memory leak when rendering procedurally generated meshes while using the Direct3D12 graphics API in the Windows Standalone build. (956272)
  • Editor: Fixed an issue where lightmaps are generated even though the scene does not contain any baked light contribution. (926559)
  • Editor: Fixed crash when dragging component without managed instance to hierarchy. (950172)
  • Editor: Fixed crash while processing input during destruction. (946958)
  • Editor: Fixed curve WrapModeIcon drawing when the Curve window is embedded into another window. (947024)
  • Editor: Fixed editor restart prompt when selecting the same Active Input Handling option. (968535)
  • Editor: Fixed importing a cubemap with invalid metafile crashing. (905397, 918819)
  • Editor: Fixed incorrect framing of GameObject hierarchies in Scene View. (957525)
  • Editor: Fixed incorrect tool placement when pivot mode was set to Center. (962721)
  • Editor: Fixed incorrect wrap icon button in particle curve editor window. (947024)
  • Editor: Fixed issue where performing a drag and drop operation to a GameObject that is being edited in the Preview window of Timeline would apply changes to its associated Prefab that cannot be reverted. (961428, 925381)
  • Editor: Fixed player settings not using the default icon if non are specified. (953161)
  • Editor: Fixed Plugin Inspector showing only one option in Framework Dependencies when switching to iOS platform and .NET 4.6. (948326, 930624)
  • Editor: Fix random hangs during Editor startup. (945607)
  • Editor: Fixed Scene view picking sometimes not selecting the topmost object. (943051)
  • Editor: Fixed SceneView bounds calculations not taking multiple colliders and renderers into account when calculating the framing and centre - point. (953301)
  • Editor: Reduced size of LightingDataAsset when baking light probes with multiple scenes loaded. (913869)
  • GI: Fix a crash in ApplyMaterialPassWithCache when generating lighting and Lightmap Static option is enabled. (946517)
  • GI: Fixed 'Show Lightmap Resolution' checkbox not working. (956577)
  • GI: Fixed crash when deleting Speedtree asset files from project folder when in use by prefab.
  • GI: Fixed Enlighten not generating lightmaps for meshes imported without UVs and with Generate Lightmap UVs option enabled. (854349)
  • GI: Fixed MaterialPropertyBlock values for Meta pass when using on terrain mesh with Realtime GI. (935149)
  • GI: Fixed navigating in scene view restarting baking when trees are painted on terrain. (955739, 955667)
  • GI: Fixed shadows when shadow prepare job is not run. (930221)
  • GI: Fixed terrain artifacts caused by Enlighten terrain mesh triangulation being different from the original mesh triangulation. (754298)
  • GI: Fixed terrain trees do not casting shadows into baked lightmaps. (685764)
  • GI: Fixed the UI in inspector not correctly showing light mode when multiple lights are selected. (851817, 929875)
  • Graphics: Added error message for graphics APIs that do not support texture wrap mode "mirror once" (Android Vulkan, Android GLES3 and WebGL). (912323)
  • Graphics: Emit error messages instead of assert when the screen position is out of view frustum.(947342)
  • Graphics: Fix Vulkan validation layer errors (on Windows) when switching to fullscreen. (941149)
  • Graphics: Fix Vulkan validation layer errors associated with image barriers.
  • Graphics: Fixed a crash in 'RenderTexture::DiscardContents' when opening the scene. (935328)
  • Graphics: Fixed an issue where an off-screen SkinnedMeshRenderer with 'update when off-screen' enabled was not being skinned. (939897)
  • Graphics: Fixed asserts when animations disable newly visible renderers. (950215)
  • Graphics: Fixed atlased ETC1 textures with split alpha rendering in editor outside of play mode. (942923)
  • Graphics: Fixed batching with unused stencil bit in G-Buffer pass. (962696)
  • Graphics: Fixed crash when certain variables of CustomRenderTexture are used in script. (942563)
  • Graphics: Fixed crash when creating sprite with unsupported texture format. (944413)
  • Graphics: Fixed culling of projectors not matching Editor scene cameras. (954828)
  • Graphics: Fixed D3D11 driver assert message and potential crash "Invalid mask passed to GetVertexDeclaration() when using post-effect". (932940)
  • Graphics: Fixed exception being thrown when the backgroung color of a Reflection Probe is changed. (939947)
  • Graphics: Fixed GL_INVALID_ENUM error with OpenGL ES when using point primitives.
  • Graphics: Fixed incorrect calculation of the Umbra occlusion culling near plane from the camera settings. (840098)
  • Graphics: Fixed incorrect definition of _ShadowCoord in AutoLight.cginc leading to unexpected compilation errors or extra useless interpolator. (924464)
  • Graphics: Fixed issue where some user shader keywords were handled incorrectly leading to compilation errors when building for standalone. (944334)
  • Graphics: Fixed not being able to set any Mesh on a Skinned Mesh Renderer. (946068)
  • Graphics: Fixed object with "Dynamic Occludee" property being disabled rendering in Preview window when selecting a different object. (944223)
  • Graphics: Fixed potential hang with DirectX11 or DirectX12 when using different sized render targets and multiple cameras. (950907)
  • Graphics: Fixed project build errors when Reflection Probes Projection setting in Tier1(Graphics Settings) is unchecked. (925552)
  • Graphics: Fixed specific case where not all requested shader variants ending up in an asset bundle. (948053)
  • Graphics: Fixed Tree shadows being culled when zoomed in on Occlusion Visualization mode. (941334)
  • Graphics: Fixed updating of bounding boxes for SkinnedMeshRenderers with 'Update When Offscreen' set. (935463)
  • Graphics: MeshRenderers with disabled "Dynamic Occluded" property were not being frustum culled. (956877)
  • IL2CPP: Added support in IL2CPP for Module.ScopeName property, which is used by Assembly.GetModule() to find a module in an assembly by name. (947807)
  • IL2CPP: Fixed an exception that would occur during conversion when processing an exception filter that calls a method. (944157)
  • IL2CPP: Fixed ArgumentException when accessing Socket.LocalEndPoint. (943671)
  • IL2CPP: Fixed calling DateTime.Parse() in IL2CPP builds for UWP throwing IndexOutOfRangeException. (948887)
  • IL2CPP: Fixed calling native ICommand interface methods on managed and native objects.
  • IL2CPP: Fixed calling System.Collections.Generic.IList`1 methods on managed and native objects.
  • IL2CPP: Fixed crash in thread pool during shutdown. (966623)
  • IL2CPP: Fixed crash when calling Socket.GetSocketOption using latest scripting runtime. (952043)
  • IL2CPP: Fixed marshaling System.DateTimeOffset to Windows.Foundation.DateTime when passing it to Windows Runtime APIs. (950465)
  • IL2CPP: Fixed SetSocketOption not working properly for add membership and remove membership with IPv6. (944939)
  • IL2CPP: Fixed stack overflow from occurring in Unity liveness logic (asset GC). (935563)
  • IL2CPP: Fixed unimplemented COM related internal calls in System.Runtime.InteropServices.Marshal class. (930386)
  • IL2CPP: Implemented a previously unimplemented internal call method to support System.Environment.HashShutDownStarted property. (947420)
  • IL2CPP: Improved stack traces for NullReferenceException cases on iOS when Xcode 8.3.1 or later is used with release builds. (950637)
  • IL2CPP: Prevented an intermittent crash in the GC for on PS4. (955991)
  • iOS: Fixed an issue where the development team ID was not written to the Xcode project in manual signing mode. (966830)
  • iOS: Fixed crash in Handheld.PlayFullScreenMovie when playback ends. (949361)
  • iOS: Fixed screen not always automatically rotating correctly after disabling and enabling auto-rotation. (942401)
  • iOS: Fixed support for fonts of Tibetan, Armenian, Braille, Georgian and Thai languages in iOS 10 and iOS 11. (951089, 949036)
  • iOS: Fixed support of wide colors on new devices. (955685)
  • iOS: Fixed SystemInfo.supportedRenderTargetCount not correctly returning 8 for devices that support it. (949032)
  • iOS: Fixed the Screen.dpi() method in the Trampoline code not returning the correct number of DPI in iPhone 8, iPhone 8+ and iPhone X. (962793, 960914)
  • Lighting: Fixed asset bundles not working correctly with global illumination data. (924597)
  • Lighting: Fixed issue where Progressive Lightmapper was not transmitting indirect rays through translucent objects. (887019)
  • Lighting: Fixed maximum lightmap import size. (847499)
  • Multiplayer: Fixed reliable message being delivered twice.
  • OSX: Fixed Editor crash when using GLCore on High Sierra with Intel 6xxx series GPU. (963865)
  • OSX: Fixed High Sierra OS freeze while using Local Cache Server. (954747)
  • OSX: Fixed incorrect mouse position when running in full screen and non-native aspect ratio. (944450) (964731)
  • OSX: Metal: Fix hang when using MSAA on OSX 10.11 on Nvidia GPUs. (963059)
  • Package Manager: Fixed creation of empty folder named 'etc'.
  • Package Manager: Fixed error/crash if there is a comma symbol in the project name. (957436)
  • Package Manager: Fixed initialisation failure when host file is missing or empty. (957000)
  • Particles: Fixed Birth SubEmitter not always firing when using random between two constants lifetime. (941076)
  • Particles: Fixed burst curves on new particle systems not being initialized. (956592)
  • Particles: Fixed issue with incorrect bounds calculation causing incorrect culling in rare cases. (956753)
  • Particles: Fixed scripted emission emitting particles in the wrong direction, if transform was moving/rotating. (957633)
  • Physics: Ensure that we correctly match enter/exit collision/trigger callbacks when a single simulation step causes a contact to stop then start again. (932044)
  • Physics: Ensured that 'Collision2D.GetContacts()' returns a single contact when passing a single element array. (967740)
  • Physics: Ensured that loading a scene with a Rigidbody2D with simulation off allows interpolation when simulation is subsequently turned on. (965605)
  • Physics: Ensured that manual transform sync correctly updates the Rigidbody2D pose correctly. (963200)
  • Physics: Fixed cloth pointer not being set to null to null in SkinnedMeshRenderer when deactivating causing attempted use of deallocated object. (946356)
  • Physics: Fixed Collider2D crashing when disabled by an animation. (957044)
  • Physics: Fixed Collider2D material changes not being propagated to existing contacts. (953653)
  • Physics: Fixed colliders missing pose updates when they were inactive during the scene load. (945332)
  • Physics: Fixed physics settings being always marked as dirty on the editor start, even when nothing was changed. (948866)
  • Physics: Fixed PlatformEffector2D not ignoring contacts involving trigger colliders. (950833)
  • Physics: Fixed previously ignored collision not being ignored when recreating 2D physics contacts. (960530)
  • Physics: Fixed RigidBody2Ds being woken when set to "StartAsleep" sleep mode. (941024)
  • Physics: Fixes GameObject which has a disabled cloth component not following parent's transform. (946307)
  • Playables: Fixed crash when setting an invalid source playable. (956316)
  • Plugins: Fixed warning messages about Audio spatializers in logs for applications that were not using spatializers. (869346, 835980)
  • Prefabs: Fixed issue where resetting SerializedProperty.prefabOverride for one property could incorrectly reset other properties. (960775)
  • Scripting: Fixed alignment of 64-bit types on iOS. (949127)
  • Scripting: Fixed Awake containing the wrong transform values when instantiated. (953068)
  • Scripting: Fixed crash if delegate is created on un-inflated generic type. (763091)
  • Scripting: Fixed crash in debugger when trying to stop while a single step operation is in progress. (951901)
  • Scripting: Fixed crash on OSX when socket error ENXIO is encountered. (944464)
  • Scripting: Fixed crash when closing Windows Standalone player with Alt-F4 using latest scripting runtime. (952292)
  • Scripting: Fixed crash when struct has array field of same type. (807575)
  • Scripting: Fixed startup-crash on macOS 10.13 when using multiple monitors. (958250, 955089)
  • Scripting: Fixed XMM registers being trampled in 64-bit mode. (952069)
  • Shaders: Disable instancing support when performing surface shader analysis. (935126l, 941827)
  • Shaders: Fixed HLSLcc shader conversion not handling F32TO16 and F16TO32 opcodes.
  • Shaders: Fixed importing a shader include file only clearing the include cache on a single shader compiler process leaving all the other processes with outdated include files in the cache.
  • Shaders: Fixed incorrect translation of shaders using resinfo with mask operators. (943340)
  • Shaders: Fixed incorrect translation to GLSL of compute shaders using bfi instructions with mask operators. (927339)
  • Shaders: Fixed shadow precision for mobile platforms. (951875, 899729)
  • Terrain: Fixed crash when loading a non read/write enabled texture from an asset bundle. Texture will not be shown unless it is marked as read/write. (951780)
  • Timeline: Fixed crash when deleting animation track which has a binding attached to an ActivationTrack. (956129)
  • Timeline: Fixed timeline window having a white background when running on .NET 4.6 depending on the set system language. (960039, 938534)
  • tvOS: Fixed icon asset catalog setup when certain multi-layer icons are missing. (959867)
  • UI: Fixed many bugs/performance problems caused by driven properties in uGUI by reverting to the 2017.1 driven property system.
  • UI: Fixed RectMask2D not masking when it's child has a child with Mask and Image components inside the RectMask2d area. (969932)
  • UI: Fixed 'd3d11: failed to create buffer' error in CanvasRenderer. (953270)
  • UWP: Fix building VS project after manually switching it to Windows SDK 15063 on .NET scripting backend. (940555)
  • UWP: Fixed "Run in Background" player setting not causing player to ignore minimize events. (759166)
  • UWP: Fixed an assert when trying to access missing material properties on debug builds. (945336)
  • UWP: Fixed issue where ComputeBuffer.SetData() and ComputeBuffer.GetData() returned empty result when running on .NET scripting backend and the array types weren't referenced from any parameters. (951036)
  • UWP: Fixed Reference Rewriter complaining about missing operators == and != on System.Type on .NET scripting backend. (955651)
  • UWP: Fixed StateMachineBehaviour not working on private fields before loading any scenes on .NET scripting backend. (937501)
  • UWP: Fixed Unity not referencing facade class libraries when targeting UWP and using IL2CPP with .NET 4.6 API Compatibility level. (949209)
  • Video: Fixed clip from asset bundle not played. (964652)
  • Video: Fixed crash in VideoPlayer when stopping and callbacks were pending.
  • Video: Fixed crashing RemoteWebCamTexture (when using the Unity Remote helper app) when marked DontDestroy. (973008)
  • Video: Fixed editor crash when previewing/playing video on older OSX version. (973005)
  • Video: Fixed erroneous stride crash on Windows. (966690)
  • Video: Fixed inspector preview not cropping title. (969299) (937173)
  • Video: Fixed muting game view does not mute video audio. (969297)
  • Video: Fixed video decoding errors due to bad file I/O for high res/bitrate video. (962204)
  • Video: Fixed video not playing in build when building for another platform. (969298)
  • Video: Fixed Video Player component rendering video with artifacts on OSX. (973009)
  • Video: Fixed VideoPlayer CameraNear/FarPlane RenderModes when used in conjunction with VR.
  • VR: Fixed incorrect stereo eye offsets in Windows Mixed Reality.
  • Web: Fixed POST key/value dictionary containing very long values in UnityWebRequest. (946124)
  • Web: Fixed WWW.responseHeaders returning null. (949038)
  • WebGL - Fixed missing logo/progress bar during loading screen. (900105)
  • WebGL: Fixed divide by zero when AudioSource.pitch is zero. (946393)
  • WebGL: Fixed missing slash in WebRequest formatted blob url when using https. (940942)
  • WebGL: Fixed MS Edge detection. (943241)
  • WebGL: Fixed Timeline crash on missing DSPConnection::setMix(). (949858)
  • Windows: Fixed DictationRecognizer asserting when stopping or starting the speech recognition twice in a row. (918146)
  • Windows: Fixed loading animation on cursor continuing to play after the game is loaded. (860330)
  • Windows: Fixed ProcessMouseInWindow causing CPU spikes up to 4ms on Standalone builds. (931829)
  • Windows: Fixed Windows touch input events being out of sync from positioning events. (899209)
  • WWW: Fixed reading of local files not working in UWP with UnityWebRequest. (910488)
  • WWW: Fixed WWW class regressions related to throwing NullReferenceException (949418)
  • XR: Added back Stereo Display (non head-mounted).
  • XR: Camera transform changes during and after tracking loss now mimics other platforms' behavior. (949193)
  • XR: Eliminated errors and warnings showing per frame in console during Holographic Emulation. (943109)
  • XR: Fix Podfile version to reflect correct version. (962253)
  • XR: Fixed a performance regression on Microsoft HoloLens. (959749)
  • XR: Fixed a rendering issue on Windows Mixed Reality when using multiple cameras with different depth ranges. (927404, 953255)
  • XR: Fixed an issue with blitting between VR and non-VR render textures.
  • XR: Fixed Assert when playing Mixed Reality applications in Editor without Mixed Reality Portal running. (950519)
  • XR: Fixed black screen on startup on Cardboard when GLES2 or GLES3 is used. (931397)
  • XR: Fixed camera aspect ratio not being preserved when switching from VR to non-VR. (892084)
  • XR: Fixed crash in Editor when toggling play mode aftering blooming to shell on Windows Mixed Reality. (948814)
  • XR: Fixed Daydream applications hanging before quiting to Android home when calling Application.Quit. (966173)
  • XR: Fixed forcing LandscapeLeft default Orientation on all mobile VR applications.
  • XR: Fixed Holographic Simulation not working in Editor. (952039)
  • XR: Fixed incorrect culling when using multiple cameras with Windows Mixed Reality. (927404)
  • XR: Fixed issue with "Unsupported texture format .." warnings appearing when XR is enabled. (956693)
  • XR: Fixed issue with being able to set tracking space type to Stationary. (946714)
  • XR: Fixed landscape left being forced when landscape right is disabled. (946829)
  • XR: Fixed stereo separation regression on Oculus HMDs.
  • XR: Fixed stretched background image for ARCore apps running on Samsung S8.
  • XR: Fixed Windows Mixed Reality applications not reporting an updated boundary if it has been reconfigured while the app was running.
  • XR: Fixed Windows Mixed Reality apps rendering with incorrect eye offsets. (963878)
  • XR: Fixed Windows Mixed Reality XAML apps launching to a black screen. (954629)
  • XR: Fixed Windows Mixed Reality XAML apps not able to get back to exclusive mode after blooming to the shell. (953314)
  • XR: Fixed Windows Mixed Reality XAML apps not rendering on desktop. (922492)
  • XR: InputTracking.Recenter is now hooked up properly on Windows Mixed Reality. (909869)
  • XR: Removed some unnecessary graphics API state resets.
  • XR: Tracking loss screen no longer appears on WindowsMR headsets, now mimics the behavior of other platforms during tracking loss. (942154)
  • XR: Tracking space type now falls back to Stationary when boundary hasn't been configured. (945163)
  • XR: Updated the code to invalidate the eye texture's depth and stencil in one call.
  • XR: Updated messaging in XR Settings for Android applications attempting to use Daydream and Oculus.

Revision: 94bf3f9e6b5e

LTS Release 2017.3.0f2

Released:

LTS Release 2017.3.0f2

Released:

2017.3.0f2 Release Notes (diff since 2017.3.0f1)

Known Issues in 2017.3.0f2

  • Android: Gradle builds fail when there are more than 250 files in streamingAssets. As a workaround, you can use a custom file extension for the files you want uncompressed. Specify this extension in a custom Gradle mainTemplate under "noCompress". You should also remove "STREAMING_ASSETS" from the template to avoid hitting the file limit. (962451)

  • Editor: MonoDevelop might get corrupted on macOS. Workaround is to rename MonoDevelop.app to something else like MonoDevelop2.app and then back to MonoDevelop.app again. This will make MonoDevelop work again. (969131)

  • Universal Windows Platform: [WSA]Unity throws a System.IO.DirectoryNotFoundException error when exporting to the WSA player (UWP/.NET Backend) with a Project folder that has a long path. (959984)

  • XR: [Android] Unity throws an exception while initializing GoogleVR from the Unity library using the Gradle build system. (946104)

Known Issues - won't be fixed in 2017.3.0

  • Editor: Unity does not create the Transform hierarchy on an an async-loaded GameObject if it accesses the GameObject before the async load is complete. (860938)

  • Editor: Use of "external script editor" in editor preferences doesn't work with some editors. Workaround is to use "open by file extension". (974296)

  • Scripting: Instantiating a prefab crashes the Editor if you create a list with type ResourceRequest after a while loop. (908339)

  • Substance: Animated Procedural Textures break async level loading. (959858)

Improvements

  • Graphics: Fixed Occlusion culling regression that was causing objects to be incorrectly culled. (972075)

  • XR: Updated Vuforia to version 7.0.36

API Changes

  • XR: Added 'PlayerSettings.VROculus.sharedDepthBuffer' and 'PlayerSettings.VROculus.dashSupport' for aquiring and setting the Oculus properties in the XR Settings.

Fixes

  • Graphics: Fixed changing the projectors render queue in script not having an effect. (841236, 974526)

  • OSX: Fixed new instance of MonoDevelop opening every time a script is opened (964078)

  • UI: Fixed crash in Canvas::CaptureBatchFrame caused by array out of bounds. (965672)

  • UI: Fixing issue with selection bounds not calculating the whole child hierarchy bounds for RectTransforms (971895)

  • Universal Windows Platform: Fixed debugging scripts on .NET scripting backend (934783, 949806)

  • Universal Windows Platform: Fixed NavMeshObstacles being ignored on 64-bit master builds (955086)

  • Universal Windows Platform: Fixed NotSupportedException being thrown on UWP builds with .NET scripting backend enabled when using Timeline (966790)

  • Universal Windows Platform: Fixed project generation when project name has "&" or "'" characters in it (959804)

  • Windows: Fixed executable not having Unity version info (964052)

  • Windows: Fixed game window not getting minimized when using exclusive fullscreen mode on Windows key press (953086)

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

Improvements

  • Editor: Added an optional async mode for Perforce VCS Status Queries for users experiening laggy connections to their server. This can be activated in the Editor Settings. Added an overlay icon to indicate that the status of a file is being refreshed. (922829, 974081)

Fixes

  • AI: Fix NavMeshAgents swapping to different NavMeshes when they are disabled and re-enabled right on an edge (970718)

  • Android: Fix rendering on Tegra 3 devices

  • Android: Fixed a rare static splash screen crash (971571)

  • Asset Import: Fixed bug with import of FBX with custom framerate generating animationClips with wrong framerate. (916405, 973915)

  • Asset Import: Fixed wrong asset selector type in material remapping import settings if material is already assigned (971556)

  • Editor: Fix issue with .asmdef assemblies not referencing editor only assemblies correctly.

  • Editor: Fix issue with non-source files being added to all generated .csproj files. Now only added to the .csproj files they belong to.

  • Editor: Fix issue with NullReferenceException being thrown in some cases when showing inspector for managed plugins.

  • Editor: Fix random hangs during Editor startup (954607)

  • Editor: Fixed total GPU time calculation when GPU profiler is enabled (968870)

  • GI: Fix for case 956577: [UI] Show Lightmap Resolution button is broken. (956577)

  • Graphics: Fixed crash during a visibility callback when a GameObject which was not visible is set inactive followed by setting a visible GameObject inactive. (968591)

  • iOS: Fix for locked orientation app gets rotated from portrait to landscape when sharing to another app on iOS 8 & 9 (913856)

  • iOS: Fixed videos started with Handheld.PlayFullScreenMovie not resuming after returning to the app in some circumstances (954593)

  • Scripting: Fix Compiliaton.GetAssemblyNameFromScriptPath throwing exception instead of returning null.

  • Scripting: Fixed issue with CompilationPipeline.assemblyCompilationFinished being called before the assembly existed at the assembly path.

  • Shaders: Fixed some edge cases where shaders would be compiled using cached include file data which was out of date.

  • Terrain: Fix crash when clicking on a missing tree prefab in the terrain inspector. (972296)

  • Terrain: Fix default smoothness for terrain without a texture. (962764)

  • Timeline: Fixed console errors when using Default Playables package (967026)

  • Timeline: Fixed issue with clips not responding to context click when not selected. (972068)

  • Timeline: Fixed preview mode for properties animated by Control Tracks (965091)

  • Timeline: Fixed zoom becoming locked at high zoom values (966608)

  • UI: Fixed issue with CanvasRenderers not removing themselfs when disabled. (974518)

  • Universal Windows Platform: Fixed Build & Run in Visual Studio 2017.4 (964301)

  • Universal Windows Platform: Fixed crash on player startup when autoconnect profiler option is enabled on .NET scripting backend (966364)

  • Universal Windows Platform: Fixed WSA.Cursor.SetCustomCursor resetting after mouse is moved (958304)

  • WebGL: Fix rendering on Safari (955664, 968441)

  • XR: Call to UnityEngine.Experimental.XR.Boundary.TryGetGeometry now correctly returns the geometry instead of throwing an internal exception (963315)

  • XR: Fixed a rare random crash in Windows Mixed Reality apps

  • XR: Fixed a regression that would cause BEV cameras not to track properly

  • XR: Fixed crash when starting Play mode with Emulation mode set to Remoting but no active connection (962944)

  • XR: Fixed crash when toggling XRSettings.enabled from TRUE -> FALSE -> TRUE on Windows Mixed Reality in Editor (952997)

  • XR: Fixed inconsistency between generic code path and WSA-namespace-specific path for whether select is pressed (970843)

  • XR: Fixed tracking loss never recovers in Windows Mixed Reality apps (969994)

2017.3.0f2 Release Notes (Full)

Features

  • Analytics: Added support to capture VR device refresh rate, dimension, aspect ratio, HMD tracking and Controllers tracking as part of device info and device status events.

  • Animation: Added support for integer and enum animation.

  • Asset Pipeline: Added AssetDatabase.ForceReserializeAssets API. This method allows you to proactively load, upgrade, and write back to disk any Asset or Scene files in the project. When project upgrades cause serialization changes to Assets and metafiles, Unity writes these changes to disk separately from regular development iterations.

  • Editor: Added assembly definition files for script compilation pipeline in the editor. This allows you to define your own managed assemblies based on scripts inside a folder. Splitting your project's scripts into multiple assemblies can greatly reduce script compilation times in the Editor. Note that the latest version of Visual Studio Tools for Unity is required for this feature to work with solution and project generation for Visual Studio.

  • Editor: Added events: MouseEnter, MouseLeave, MouseOver, MouseOut, AttachToPanel, DetachFromPanel, PostLayout.

  • Editor: Added Focus events that notify UIElements when they gain or lose focus (the focused element receives keyboard input), and a focus ring, which is a circular list of UIElements that gives the order in which they receive the focus when you press Tab or Shift+Tab.

  • Editor: Added the Transform Tool, a single Gizmo you can use to move, rotate and scale in the Unity Editor.

  • Editor: You can now use DX12 API in the Editor.

  • Facebook: Segmented the uploader for the Facebook platform.

  • GI: Added support for HDR compressed lightmaps (BC6H) on PC, Xbox One and PlayStation 4. To enable this, go to Player Settings and set the Lightmap Encoding option to High Quality.

  • Graphics: Added a new method, ScreenCapture.CaptureScreenshotAsTexture. Use this to save screenshots taken with ScreenCapture as Textures in the Editor.

  • Graphics: Added Crunch compression support for ETC_RGB4 and ETC2_RGBA8 textures. Improved compression ratio and speed for DXT Crunch.

  • Graphics: Added Dynamic Resolution as an engine feature, debuting on Xbox One platform.

  • Graphics: Added support for multisampled Textures in Shaders. To use a multi-sampled Texture in a Shader, declare it as Texture2DMS (or, for example, float for a single-channel texture), and then sample as described in Microsoft's documentation on Texture2DMS::Load methods. You must create the corresponding RenderTexture with the bindMS flag set on the RenderTextureDescriptor, or set the bindTextureMS flag after creation on the RenderTexture itself.

  • Graphics: Support for 32 bit Mesh index buffers:

    • By default, meshes larger than 65k vertices get imported with a 32 bit index buffer. Smaller meshes still use 16 bit indices.
    • Added Index Format setting to Mesh Importer to override this behavior.
    • Added Mesh.indexFormat to scripting API for Meshes created at run time.
  • Kernel: Added new argument -systemallocator. This disables Engine management of allocations, and instead uses system allocations. This is useful when using external tools for memory debugging.

  • Particles: Added a new Speed Modifier option in the Particle System Velocity Module. Use this to control particle speeds without changing their directions.

  • Particles: Added Unlit and Surface shaders for use with Particle Systems.

  • Particles: Ribbonized Particle Trails.

  • Physics: Exposed a new broadphase algorithm called Multi-Box Pruning, which is based on subdividing the world boundaries. This helps to overcome the performance issues in the standard sweep-and-prune approach, by exluding the excess checks of bodies that are far away but overlap each other along one of the principal axes. Access Multi-Box Pruning in the Unity Editor's Physics Settings.

  • Physics: Exposed new settings in the Physics Manager: Contacts Generation, Contact Pairs, and Broadphase Type. This allows receiving the collision and trigger events from kinematic-kinematic and kinematic-static contact pairs.

  • Physics: Exposed MeshCollider.cookingOptions. Cooking options allow you to enable or disable certain features in Mesh cooking (the process of turning a normal Mesh into a Mesh that is suitable for use in the physics system). These options can help you achieve a much shorter cooking time. This API requires that you manually check the input data for validity.

  • Playables: Added new delay feature for IPlayables.

  • Playables: Added new Video Playables Integration.

  • Profiler: Added API for custom threads profiling: Profiling.BeginThreadProfiling, and Profiling.EndThreadProfiling.

  • Scripting: Added command line option "overrideMonoSearchPath" for desktop standalone players (OSX, Windows). "overrideMonoSearchPath" specifies an extra folder to search when Mono is loading assemblies. One intended use is to have two versions of the same project (such as a trial version and a full version). The Assets are the same, but the scripts are different. You can use this command line option to re-use the Assets, but load different scripts.

  • Scripting: Added Mono/.NET 2.0 support for Memory Profiler. See more on GitHub.

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

  • Video: Added panoramic 360/180 2D/3D video workflows.

  • Video: Introduced UnityEngine.Media.MediaEncoder to expose the VideoClipImporter encoders. This allows you to create movie files via script.

  • XR: Added a new option in the Windows MR Player Settings called Enable Depth Buffer Sharing. This allows the OS to better stabilize images without the need to manually set the focus plane. For more information about the benefits of image stabilization, see Microsoft's documentation on Hologram Stability.

  • XR: Added new UI to Daydream VR Device configuration, to support new 6DOF Standalone devices.

  • XR: Added XR support to Experimental Scriptable Render Pipelines.

Backwards Compatibility Breaking Changes

  • Graphics: Removed DirectX 9 support from Windows Editor & Standalone. See blog post.

  • Linux: Minimum supported OS version is now Ubuntu 14.04.

  • OSX: Removed support for targeting 32bit macOS applications. Replaced BuildTarget.StandaloneOSX* enums with BuildTarget.StandaloneOSX.

  • SamsungTV: Removed support for Samsung TV.

  • Tizen: Removed Tizen mobile support.

Changes

  • 2D: Unity now generates a default Physics Shape when it creates a Sprite from an imported Texture.

  • Android: Release Gradle builds are now signed with a debug key by default, and no longer fail if no key is provided.

  • Android: Release Gradle builds no longer have ProGuard enabled by default.

  • Android: Removed "Export as ADT project" option.

  • Asset Import: TextScriptImporter now recognises Markdown files (.md).

  • Editor: Added methods EditorGUI.EnumFlagsField and EditorGUILayout.EnumFlagsField, which respect the values of the enum type and support custom names for values 0 and ~0 (all bits set). Deprecated methods EditorGUI.EnumMaskField, EditorGUILayout.EnumMaskField, EditorGUI.EnumMaskPopup, and EditorGUILayout.EnumMaskPopup, which always assume values to be 1, 2, 4, 8 (and so on). (896176)

  • Graphics: Removed allegorithmic Texture compressor.

  • Graphics: Resolution is no longer clamped when using custom shadow resolution on a light, allowing you to reach up to 8k shadowmap if needed.

  • Graphics: Updated splash screen logo with new branding style.

  • Graphics: You can now access imageContentsHash for all Texture objects. This was previously only accessible using the RenderTexture API. (952466)

  • Licenses: Updated FBX license to require acceptance of FBX SDK license. See Autodesk's License and Services Agreement 2015.

  • Package Manager: Added upmResetToEditorDefaults command-line option and menu item to reset packages to Editor defaults.

  • Profiler: Improved profiler data serialization for Players - lower memory overhead, better performance.

  • Shaders: Concatenated matrix macros (e.g. UNITY_MATRIX_MVP) are now changed to static variables to avoid repeated calculations.

  • Substance: Deprecated built-in support for Substance Designer materials. This support will be removed in 2018.1. To continue using Substance Designer materials in Unity 2018.1, you need to install a suitable third-party external importer from the Asset Store.

  • UI: Unity no longer resets the LookDev camera when you create a new Scene. (938493)

  • XR: Improved the way XR devices pause/unpause applications, particularly when pausing as a result of application focus being lost. Unity now handles overlapping pause conditions correctly, regardless of the order in which they occur.

  • XR: Removed padding on double-wide texture used with Single Pass.

Improvements

  • 2D: Exposed methods to set and retrieve Physics Shape from a Sprite.

  • 2D: If you use Shift-Click to do picking for Tile Palette, Unity now switches back to the original tool after picking is done.

  • 2D: Unity now displays a confirmation dialog box when you create new Tile Assets that overwrite existing Tile Assets.

  • 2D: Unity now saves changes to the Tile Palette when you stop editing the Tile Palette, or when you save the project.

  • Android: Added a new way to handle audio focus in Android Oreo.

  • Android: Added the option to configure Texture decompression format on Android devices that have no ETC2 Texture format support.

  • Android: Updated Gradle version and made it the default build system for Android.

  • Android: [OpenGL ES] Added support for preserving the framebuffer alpha.

  • Animation: Added a 2D mode to the Animation Previewer.

  • Animation: Added new Translation DoFs for Arms, Legs and Head for Humanoid animation and retargeting. This converts translations (also known as stretch) found on imported animations to retargetable Humanoid animations.

  • Animation: Added zoom in the Animator Window.

  • Animation: Entry, Exit and AnyState StateMachine Transitions can now be copy-pasted. (921705)

  • Animation: Framing a single key does not give proper context for manipulation in the curve editor, so we included neighbouring keys.

  • Asset Import: Added Preserve Hierarchy toggle to the Model Importer, to prevent Unity stripping the root transform when the model has a single root.

  • Asset Import: Added AssetPostprocessor.OnPostprocessMaterial.

  • Asset Import: Exposed ModelImporter.MaterialLocation to allow you to switch the Iaterial import location in AssetPostprocessor scripts.

  • Asset Import: Material workflow enhancement: added the ability to remap all embedded materials to existing material assets in the project, using the same heuristics as the legacy system

  • Asset Import: You can now skip Video Clip transcoding during import. If you do so, Unity uses a non-transcoded version of the video instead.

  • DX12: Native Rendering Plugin: Exposed and implemented native RenderBuffer resource retrieval, and fixed multithreading issues.

  • Editor: Added UnityEngine.Networking.PlayerConnection.ConnectedPlayer.Name. This makes it easier for you to identify connected players.

  • Editor: Connected Players now only show debug logging in Editor console, not all of stdout. Added an option to disable player logging in the Editor console.

  • Editor: Fixed over 120 missing or incomplete tooltips in the Unity Editor.

  • Editor: If Edit mode and Play mode tests produce files without proper cleanup, Unity now logs a warning.

  • Editor: It is now possible to adjust the number of lines per log row in the Console window.

  • Editor: Updated UnityShaderCompiler tool for macOS and Linux to 64bit. This improves shader compilation performance.

  • Editor: You can now double-click a Scene file in the Build List to highlight Scenes in the Project view.

  • Editor: You can now select which Xcode version to build your project with on MacOS.

  • GI: Before, all trees, lightmap static or not, would cast baked shadows on Terrain. Now Unity honors the Static flag on the prefab.

  • GI: Fixed debugging textures for GI. It's now easier to tell when they should be availble, and why they might be missing.

  • GI: Legacy trees and prefabs that don't have a LOD group now cast baked shadows on Terrain. (685764)

  • GI: Made spot light and point light fall-off match real-time fall-off in Progressive Lightmapper.

  • Graphics: Added "base vertex" functionality to Mesh.SetIndices, to allow meshes larger than 65k vertices when using 16 bit index buffer..

  • Graphics: Added GPU selection in metal for MacEditor and MacStandalonePlayer.

  • Graphics: Added non-allocating overloads for GeometryUtility.CalculateFrustumPlanes.

  • Graphics: Fixed Occlusion culling regression that was causing objects to be incorrectly culled. (972075)

  • Graphics: GPU Instancing: Instance properties are now packed as arrays of structures. Internally, we changed the constant buffer layout, where multiple instance properties are present. There are three changes in the instancing declaration macros, but the old shaders can be upgraded automatically. For your reference, the three changes are:

    1. UNITY_INSTANCING_CBUFFER_START/END renamed to UNITY_INSTANCING_BUFFER_START/END.
    2. UNITY_INSTANCING_BUFFER_END now takes an arrayName in the parentheses.
    3. UNITY_ACCESS_INSTANCED_PROP must now be provided with the arrayName in the first argument to indicate where this property comes from. Note that if graphics jobs are not enabled, the CPU-side processing of instance property values are optimized and off-loaded to a worker thread to further reduce CPU cost.
  • Graphics: GPU Instancing: Introduced a new feature on most platforms, called "flexible instancing array sizes". This means you no longer need to specify instancing array sizes. Instead, Unity calculates it from the next draw's instance count.

    • This greatly reduces shader compiling time for instancing variants.
    • If you always take the maximum constant buffer size allowed by the device, then divide by the instance data structure size, you can further reduce instance batch count, especially on OpenGL and Metal.
    • This introduces moderate performance improvements, especially for Scenes with lots of small batches. particularly useful if you rely on Unity renderloops to automatically batch instances for you.
  • Graphics: Improved documentation for graphics hardware tiers.

  • Graphics: Improved motion vectors precision when dynamic batching is disabled.

  • Graphics: Introduced various performance and memory consumption optimizations to the Vulkan renderer.

  • Graphics: Optimized Point Light real-time shadows for D3D11.

  • Graphics: Updated compute shader API: Addd SetMatrix, SetMatrixArray and SetVectorArray for SetComputeXXX and for command buffer.

  • Graphics: Vulkan: Implemented multidisplay support for the Vulkan rendering back-end (Windows/Linux).

  • Graphics: [Metal] Eliminated Z-fighting artifacts on certain devices.

  • iOS: Exposed PlayerSettings.iOS.disableDepthAndStencilBuffers in scripting API. (938696)

  • iOS: [Metal] Improved render thread scheduling.

  • Kernel: Made optimizations to the job system to reduce CPU usage on job worker threads in specific scenarios.

  • Linux: Enabled Wayland support (experimental, requires -force-wayland command line argument).

  • Linux: Updated to SDL 2.0.5.

  • Mobile: Engine code stripping now works on Android.

  • OSX: Fixed input configuration behaviour in launcher window, sharing code used elsewhere.

  • Package Manager: Added update to allow you to reset Project packages to Editor defaults.

  • Particles: Added a Simulate All checkbox for previewing all looping Particle Systems in Edit Mode.

  • Particles: Added an option to the Scene View FX dropdown to toggle the visibility of Particle Systems.

  • Particles: Added script accessors for animatedVelocity and totalVelocity/ These allow you to query the total velocity of a particle from script, rather than just the physics velocity.

  • Particles: Added support for Meshes using lines and linestrips for particle Shape Module spawning. (931662)

  • Particles: Added update to display particle stats in Editor Play Mode for selected systems.

  • Particles: Improved the workflow for creating multiple Particle Systems inside a shared GameObject hierarchy: The Particle System no longer resumes playing a paused preview when you select systems belonging to the same effect.

  • Particles: Moved Resimulate and Show Bounds from the Inspector to the Scene View Overlay.

  • Physics: Introduced Cloth self-collision and inter-collision tools and technology. Improved constraint painting.

  • Profiler: Added experimental option to use Deep Profiler in Players with Mono runtime.

  • Scripting: Added a fastpath which avoids boxing of value types when a UnityEvent invokes listeners with the exact same argument types (932039)

  • Testing: Introduced [RequirePlatformSupport] in the Editor Tests framework, allowing tests to be marked as requiring support for particular platforms to be installed.

  • Testing: The -testCategory command line argument (to select the category of tests to run) now supports regular expressions.

  • Timeline: Added multi-selection capabilities to the Clip Inspector.

  • Timeline: Introduced various clip snap improvements:

    • Improved snap precision
    • Added Multi-selection clip snap support
    • Added double side snap hint
    • You can now hold down Ctrl to toggle snapping when moving clips
    • No snapping on Muted tracks
    • Auto snapping on Clip Asset duration and loop ends
  • Timeline: Made improvements to the Copy/Paste workflow.

  • UI: All Editor tab views now use FitToContents for button contents with flexible space on either side of toolbar, instead of filling window width.

  • UI: Cached eventCamera access in Raycast() to avoid calling Camera.main multiple times.

  • UI: Improved UI for currently selected profiler connection.

  • UI: Improved MarkLayoutAsDirty by early-exiting check loop, inlining check and removing list manipulation.

  • UI: Made performance improvements to GraphicRaycaster and EventSystem. (934842)

  • WebGL: Changed WebGLExceptionSupport.Full to WebGLExceptionSupport.FullWithStacktrace and added WebGLExceptionSupport.FullWithoutStacktrace.

  • Windows: Added support for proxy setup on UWP.

  • XR: Added support for Single-Pass stereo rendering on MacOS.

  • XR: Added XRSettings.useOcclusionMesh to allow for disabling the occlusion Mesh.

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

  • XR: Improved VR Terrain Trees: Fixed billboard trees rotating all the time as viewer moves in VR, better transition of 2D to 3D trees, fast "sort-independent" trees with alpha-to-coverage blending and MSAA , billboard Texture aliasing improvements. (733507, 946544)

  • XR: Updated Google VR NDK to 1.80.

  • XR: Updated Vuforia to version 7.0.36

  • XR: XR now supports jittered projection matrices (for use with TAA). (873685)

API Changes

  • 2D: Added new methods for Sprites to set and retrieve Physics Shape: GetPhysicsShapeCount, GetPhysicsShapePointCount, GetPhysicsShape,OverridePhysicsShape`.

  • Animation: Added AnimationCurve.Constant().

  • Animation: The structure AnimatorTransitionInfo now has a "duration" property that returns the duration of the current transition, as well as a durationUnit property that returns which unit is expressed this duration: fixed (in seconds) or normalized (in percentage).

  • Animation: Animator.CrossFade() and Animator.CrossFadeInFixedTime() can now set the transition time.

  • Asset Import: Added API signature changes and constraints removal to ScriptedImporters (Experimental feature).

  • Build Pipeline: Deprecated BuildTarget.StandaloneOSXIntel, BuildTarget.StandaloneOSXIntel64 and BuildTarget.StandaloneOSXUniversal. Upgraded BuildTarget.StandaloneOSXUniversal to new BuildTarget.StandaloneOSX. This now is the only option for targeting macOS.

  • Caching: Added overloaded version of ClearCache() that can clear cached AssetBundles which are unused for longer than the given expiration time.

  • Editor: Added methods EditorGUI.EnumFlagsField and EditorGUILayout.EnumFlagsField. These respect the values of the enum type, and support custom names for values 0 and ~0 (all bits set). (896176)

  • Editor: Deprecated methods EditorGUI.EnumMaskField, EditorGUILayout.EnumMaskField, EditorGUI.EnumMaskPopup, and EditorGUILayout.EnumMaskPopup, which always assume values to be 1, 2, 4, 8, and so on. (896176)

  • GI: Renamed LightmapEditorSettings.Lightmapper.Radiosity to LightmapEditorSettings.Lightmapper.Enlighten, and LightmapEditorSettings.Lightmapper.PathTracer to LightmapEditorSettings.Lightmapper.ProgressiveCPU. Use the Unity Automatic API Updater to make these changes automatically in your Project.

  • GI: Unity no longer supports Light.isBaked and Light.alreadyLightmapped. Use Light.bakingOutput.isBaked (and other members of Light.bakingOutput) instead.

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

  • IMGUI: Upgraded lowercase EventType enums to their corresponding uppercase variants. The old API is now obsolete.

  • iOS: Added iOS.Device.RequestStoreReview, a review request API for the App Store.

  • Playables: Added new callback in PlayableBehaviour: OnBehaviourDelay. This is called in the first frame that the playable is delayed.

  • Playables: Added new callback in PlayableBehaviour: PrepareData. This is called if the playable is delayed.

  • Playables: Added new method to allow building or rebuilding the graph without initiating Play(): PlayableDirector.RebuildGraph.

  • Playables: Added new methods for IPlayable: SetDelay() and GetDelay().

  • Playables: Added new properties in FrameData: effectiveParentDelay and effectiveParentSpeed.

  • Playables: AudioClipPlayable.IsPlaying() is now obsolete. This method was for testing purposes only.

  • Playables: IPlayable.SetPlayState() is now obsolete. Use Play(), Pause() or SetDelay().

  • Playables: Playable.ConnectInput now takes an optional weight parameter.

  • Scripting: Added AssemblyBuilder.excludeReferences.

  • Scripting: Made Vector2.SmoothDamp parameters maxSpeed and deltaTime optional.

  • XR: Added 'PlayerSettings.VROculus.sharedDepthBuffer' and 'PlayerSettings.VROculus.dashSupport' for aquiring and setting the Oculus properties in the XR Settings.

  • XR: Added PlayerSettings Get/SetVirtualRealitySupported, Get/SetVirtualRealitySDKs, and GetAvailableVirtualRealitySDKs for aquiring and setting the XR Settings Virtual Reality Supported toggle and Virtual Reality SDKs list.

  • XR: RenderViewportScale is now disabled in Deferred Rendering.

Fixes

  • 2D: Fix ArgumentOutOfRangeException thrown when attempt to move point outside of the sprite rect in Sprite Editor while holding control key (946546)

  • AI: Fixed unwanted gap in the NavMesh produced by a concave edge crossing a tile boundary. (930830, 959522)

  • Android: Android: Add "Low Accuracy Location" checkbox to player settings (915891)

  • Android: Android: Buildpipe - Fixed exporting for projects with chars in ProductName which are forbidden by the file system (925490)

  • Android: Buildpipe - Fixed longer export times because of the build report (950381)

  • Android: Fixed an issue with having lots of VBOs allocated even for an empty scene on Android during application startup (920508)

  • Android: Fixed Android not supporting asset bundles larger than 2GB (912482)

  • Android: Fixed atlased ETC1 textures with split alpha rendering in editor outside of play mode (942923)

  • Android: Fixed issue preventing apps using OBB from launching after install from Google Play

  • Android: Fixed OpenGL ES version check for Android and Android Extension Pack detection in the editor (931848)

  • Android: Fixed player crash when profiler with GPU profiling was enabled and graphics API was not OpenGL ES 3 (944118)

  • Android: Fixed realtime HDR reflection probes being black on older Android devices (776875)

  • Android: Partially fixed streaming assets being compressed when building with gradle (952981)

  • Android: Shaders that fail to compile no longer spam the log in release builds (837845)

  • Animation: Display clip name in clip importer preview title (888864)

  • Animation: Fixed a crash when closing Animator Window (916970)

  • Animation: Fixed an exception in the transition inspector when the previewer is not docked (935015)

  • Animation: Fixed an issue where Animation Events in empty clips were not getting fired (921121)

  • Animation: Fixed an issue where copy pasting a state containing a Blend tree to a synchronized layer would link (891990)

  • Animation: Fixed an issue where the Avatar Previewer (StateMachine transitions and Animation Clips previewer) was not centering for some models (936144)

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

  • Animation: Fixed animation starts sliding in Blend Tree preview when having more that two animations (903883)

  • Animation: Fixed Animation Window clip popup list not alphabetically sorted (934923)

  • Animation: Fixed animations that reference script properties that are in asset bundles (920973)

  • Animation: Fixed AnimatorState's WriteDefaults not working properly on very specific setups (893779)

  • Animation: Fixed assertion message displayed when using override controllers with legacy clips (919054)

  • Animation: Fixed Avatar preview not initializing properly

  • Animation: Fixed crash in invalid state machine transition (920625)

  • Animation: Fixed crash when changing number of input in AnimationLayerMixerPlayable at runtime. (921997)

  • Animation: Fixed default values when setting an OverrideController (810415)

  • Animation: Fixed editor freezing when duplicating badly formed state machines (913757)

  • Animation: Fixed erroneous visual feedback for the transition in the AnimatorController when transition time is negative (883899)

  • Animation: Fixed Frame-All and Frame-Selected in Animator Window

  • Animation: Fixed humanoid body position not properly animated when used in additive layer (916487)

  • Animation: Fixed interrupted transition on layers that have empty states. (920470)

  • Animation: Fixed keyframes not pasted in the proper order in the dopesheet. (944695)

  • Animation: Fixed keyframes skipped when navigating to Previous/Next keyframe in animation window (927700)

  • Animation: Fixed keyframing of multiple material selection in the animation window (934578)

  • Animation: Fixed muscle settings being reset when changing other muscle settings in the model importer.

  • Animation: Fixed NaN errors originating from root motion calculation. (794979)

  • Animation: Fixed non-animated values in Transform component not properly restored when previewing in Animation Window (809332)

  • Animation: Fixed property not displayed with "Default Value" identifier when last key is deleted in the curve editor (925529)

  • Animation: Fixed state machine range selection not adjusting to bigger graphs (877827)

  • Animation: Fixed tangent mode not properly set when adding a key at curve extremities in curve editor (944014)

  • Animation: Fixed unresponsive animation window when zoomed out (919500)

  • Animation: Root motion broken in animation when weight of any additional layer is greater than zero (943238)

  • Animation: Transition between animations makes GetIKRotation and GetIKPosition return incorrect value (945035)

  • Asset Bundles: Fixed bug where incorrect error was getting thrown if an asset was included in the same AssetBundle more than once (932726)

  • Asset Import: Fixed bug with ScriptedImporter where a sub-asset added to the AssetImportContext would become the main asset, when the specified main asset was of certain built-in types

  • Asset Import: Fixed crash when accessing ModelImporter.sourceAvatar with a null avatar (951241)

  • Asset Import: Fixed crash when importing a corrupted prefab (919220)

  • Asset Import: Fixed crash when importing some invalid .3ds files. (937949)

  • Asset Import: Fixed crash when reparenting imported root in OnPostprocessModel (943075)

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

  • Asset Import: Updated SketchUp SDK to latest to support SketchUp 2015/2016/2017 (782948)

  • 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 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: 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)

  • Build Pipeline: Fix "Must set an output directory through SetCompileScriptsOutputDirectory before compiling" error when importing some asset packages (923377)

  • Build Pipeline: Fix crash when unloading an asset bundle that contains a GameObject with a non-persistent component (807541)

  • Build Pipeline: Fixed bug where error was getting thrown if Cancel was selected in the folder dialogue for certain types of Android builds (931036)

  • Build Pipeline: Fixed editor crash when attempting to build Assetbundles from a PreProcessBuild callback (920116, 928647)

  • Build Pipeline: Fixed editor crash when reading very old serialized files (911018)

  • Build Pipeline: Modified warning message in the build player window to direct users to log in to use services (800269)

  • Cache Server: Fixed several cache server bugs that would manifest as freezes/hangs or failures when reading from a cache server (943300)

  • Editor: Changing width of LookDev window to lowest possible while HDRI panel is open throws errors (938490)

  • Editor: Crash on macOS when canceling undock of Hierarchy or Scene View (942253)

  • Editor: Don't show incorrect label inspectors on folders in the project browser (914534)

  • Editor: Fix a fatal error caused when code is trying to access a non-existing platform (for example, one that was deprecated and later removed in Unity) (943461)

  • Editor: Fix crash on shutdown after using Windows speech recognizer (946499)

  • Editor: Fix framework inspector showing only one option in Option Dependencies (930624)

  • Editor: Fix issue that caused Windows speech recognizer not to work if a bad syntax file was loaded (871461)

  • Editor: Fix modifiers being discarded when pressing hotkey (936062)

  • Editor: Fix null reference exception on scene view drop (915829)

  • Editor: Fix player build success notification

  • Editor: Fix preview generation when lighting data hasn't been baked (818075)

  • Editor: Fix progress bar display for test tools

  • Editor: Fixed "Help > Software Licenses" menu item not working when editor application has spaces in path (macOS). (914937)

  • Editor: Fixed 9-slice not working well on transform scale values that are other than Vector3.one. (933414)

  • Editor: Fixed a issue that launching the editor using -projectPath argument without a valid license results in hang on splash or no visible window (942380)

  • Editor: Fixed an issue that was preventing the execution of menu items that contained a hotkey character (e.g., '&', '_', etc) via Editor scripts. (941189)

  • Editor: Fixed an issue where GameView size would not be restricted correctly when we don't think there's enough video memory (900779)

  • Editor: Fixed an issue where LogAssert.Expect would ignore the the logtype when finding a satisfying event when running playmode and editmode tests. (935602)

  • Editor: Fixed an issue where ResourceRequest.isDone was never set when loading resources in the Editor with LoadAsync until Editor window got resized (898008)

  • Editor: Fixed bug where Object Selector would default to Scene tab for ScriptableObject and other non-GameObject/Component asset types

  • Editor: Fixed bug where Object Selector would not display objects of a custom type if their unqualified type name matched some Unity type's unqualified name

  • Editor: Fixed Build And Run button for AppleTV on non macOS (938824)

  • Editor: Fixed crash on Mac on window close after upding drag and drop for interacting with object picker (939211)

  • Editor: Fixed crash when clicking Gizmos button in Scene view. (923088)

  • Editor: Fixed editor crash on UnloadSceneAsync() when exiting play mode if two scenes are added in Hierarchy (868291)

  • Editor: Fixed Editor crash when using obsolete platform StandaloneOSXUniversal in code. (942560)

  • Editor: Fixed incorrect tool placement when pivot mode was set to Center (962721)

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

  • Editor: Fixed issue where Editor would crash on reload of a named scene without a scene Asset (928294)

  • Editor: Fixed issue where trying to exit Avatar Configuration would not open a new scene and lock the inspector (926815)

  • Editor: Fixed issue where you could not reload the last loaded scene, when there is an unloaded scene in the scene hierarchy. (927176)

  • Editor: Fixed issue with wrong xcode beeing used to build the project on Mac (815711)

  • Editor: Fixed NullReferenceException when selecting objects in hierarchy at the same frame they are destroyed (784805)

  • Editor: Fixed planar handles of position handle using absolute mouse position instead of relative. (920533)

  • Editor: Fixed Profiler not showing chart data after Playmode change if Scene view was set to Maximize on Play. (778068)

  • Editor: Fixed so OnHierarchyChanged event is not fired if a root GameObject added/removed is hidden. Now same behavior as non-root GameObjects.

  • Editor: Fixed so OnHierarchyChanged event is not fired if selection changes to a GameObject that shows preview area or material preview icons in the Inspector. (935289)

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

  • Editor: Fixed TreeView renaming issue when re-docking an EditorWindow (888658)

  • Editor: Fixed UIElements ScrollView having empty space when scroll bars are hidden (930065)

  • Editor: Fixed various issues in PlayerConnection and EditorConnection, player connect and disconnect should work properly now.

  • Editor: LookDev camera/objects is reset upon creating new unity scene (938493)

  • Editor: LookDev window allows meshes to be dropped from scene hierarchy (938500)

  • Editor: Removed unnecessary error in console when using point mesh topology. (930042)

  • Editor: The generated TestResults.xml when running playmode and editmode tests is now updated to be in NUnit3 format. (910845, 940839)

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

  • Editor: [Profiler] Shows no data if docked and Game View is maximized (778068)

  • GI: Fixed issue where GI data wasn't loading properly from Asset Bundles. (924597)

  • Graphics: Convert scene view texture to LDR before drawing scene view elements. (878724)

  • Graphics: Fix second display rendering on Android/iOS when Camera.targetDisplay is not zero, Camera.targetDisplay is now completely ignored on these platforms (920394)

  • Graphics: Fix shadows when only alpha blended shadow caster are present. (930221)

  • Graphics: Fixed a crash when frustum culling local (point and spot) moving lights. (930408, 967291)

  • Graphics: Fixed changing the projectors render queue in script not having an effect. (841236, 974526)

  • Graphics: Fixed crash when importing a BC6 source texture and the destination format is RGBA8UNorm.

  • Graphics: Fixed crash when passing null property block to CommandBuffer.DrawMeshInstanced. (951975)

  • Graphics: Fixed GameView Stats windows & profiler to display rendered vertex/triangle counts properly when they are larger than 2 Billion.

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

  • Graphics: Fixed SkinnedMeshRenderers marked with "update when offscreen" not being updated when rendering via CommandBuffers. (938897)

  • Graphics: Fixed wrong texture quality beeing applyed for graphic APIs not supporting NPOT with mipmaps (881121)

  • Graphics: Increase vsync count cap from 2 to 4 to better align with what is allowed by DXGI (941921)

  • Graphics: Make flares respond to 2D colliders (911429)

  • Graphics: Work around Metal driver issue breaking reflection probes (899153)

  • iOS: Cardboard. Enable Transition View fixed (893415)

  • iOS: Don't overwrite provisioning on append if it's not set up (946822)

  • Kernel: Assert no longer occurs when finding game objects that are deactivating (667483)

  • Kernel: Display correct value when mult-editing and changing property to extreme clamped value (806441)

  • Kernel: Improved error reporting for semantic YAML merges, particularly on macOS (719374)

  • Licenses: Fixed a issue that when cached refresh token & access token expired, command line activation will failed (940084)

  • Linux: Improve native plugin lookup

  • Multiplayer: Force scene ID to 0 on all prefabs, fixes issue where spawning an a network object instance will create it as a scene object (866792)

  • OSX: Fixed new instance of MonoDevelop opening every time a script is opened (964078)

  • OSX: Restore previous behaviour of stripping UnityEngine mdb files for macOS Standalone player builds.

  • Package Manager: Allow user to continue after packman resolution failure at startup (945057)

  • Package Manager: Fixed failure to connect to Package Manager server when host file is empty or missing (944450)

  • Package Manager: Fixed issue where Export package window contains extra folder Packages (940149)

  • Package Manager: Package Manager would fail to initialize if project folder contained a comma character (957436)

  • Particles: Clamp properties to valid ranges when set via animation (936831)

  • Particles: Clamp properties to valid ranges when set via script (805636)

  • Particles: Improve mesh batching, so it behaves identically to billboard batching (924743)

  • Particles: Improved Frame Debugger messages for when dynamic batches using Particle Systems are broken (911933)

  • Particles: Lights module emitted lights when Maximum Lights was set to 0 (956067)

  • Particles: Mesh used in the Shape Module would not always update when swapped in Edit Mode (948152)

  • Particles: Noise remap curves were still editable after remap had been disabled (923397)

  • Particles: Particle system collision gizmos were also shown for particles without collision module when multiple particle systems were selected (947417)

  • Particles: Prevent bursts being added when multiple systems are selected, as it leads to unexpected results. (958320)

  • Particles: Sub Emitters with rate over distance could keep emitting after their parent particle has stopped moving due to a collision (950108)

  • Particles: Sub-emitter particles were still visible in Edit Mode when removing them from a parent emitter (946999)

  • Physics: Fix cloth prefab crash when enabling and disabling. (904655)

  • Scripting: Fix rare coroutine crash when exiting play mode (905492)

  • Scripting: Fix rare coroutine crash when having nested coroutines (903628)

  • Scripting: Fix to prevent domain reload when in play mode in the editor due to missing script reference in asset bundles (926516)

  • Scripting: Fixed crash when calling SerializedObject.CopyFromSerializedProperty(null) (927291)

  • Scripting: Fixed issue where resetting SerializedProperty.prefabOverride for one property could incorrectly reset other properties in some circumstances. (960775)

  • Scripting Upgrade: Fix crash in AssemblyUpdater when property body contains reference to an obsolete API method / property (935582)

  • Scripting Upgrade: Fix failure to resolve system types when building .Net player when user code, guarded by '#if NET_CORE' used obsolete APIs. (946498)

  • Scripting Upgrade: Fixed an issue where the send function from our synchronization context would fail to execute on the main thread (934819)

  • Scripting Upgrade: Fixes an issue where assemblies built with .NET 4.6 fail to be imported (922577)

  • Services: Fixed A very bad internet connexion can result on a black page when launching the editor (937367)

  • Services: Prevent collab from getting into a publish loop (932469)

  • 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. (931791)

  • Shaders: Fixed non rendering light probe debug visualization in metal editor (900987)

  • Shaders: Fixing shadow precision into fp32 for mobile platforms. (896448, 899729)

  • Shaders: Shaders: Added in standard shader a warning if bump scale is used on mobile platform (828427)

  • Terrain: Fixed an issue where a terrain detail mesh would have incorrect wind animation if it uses vertex colors as weights and "Optimize Mesh Data" is enabled in Player Settings. (921107)

  • Terrain: Fixed an issue where assertions would appear if you have OnTerrainChanged message callback in your MonoBehaviour. (927365)

  • Testing: Test runner can now launch tests on iOS/tvOS and get results back (943302)

  • Timeline: Added snapping on multi-selected clips (883991)

  • Timeline: Fixed drag when moving mouse outside of the Timeline Window. (881880)

  • Timeline: Fixed snap to frame will snap to middle of frame if clip beginning is not snapped (879564)

  • Timeline: Fixed trimming left side of activation clip will eventually move the clip (888393)

  • UI: Added option to use legacy font calculation (943141)

  • UI: Adding delay to updating the rect when in on Enable to prevent prefab modification.empty assert (713684)

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

  • UI: Fixed a bug where images would not render if they started disabled. (922641)

  • UI: Fixed a memory leak in the UGUI profiler (912789)

  • UI: Fixed broken GUI when selecting prefabs with scripts that have compile errors (930931)

  • UI: Fixed crash in Canvas::CaptureBatchFrame caused by array out of bounds. (965672)

  • UI: Fixed issue in RectTransform where changes would be lost if applied before Activating the GameObject. (953409)

  • UI: Fixed issue in which GraphicRaycaster incorrectly hit graphic elements behind the event camera's far clipping plane. (935665)

  • UI: Fixed null reference exception and malformed UI when selecting prefab referencing deleted asset (930291)

  • UI: Fixing circular refernce with slider trying to drive itself. You can no longer assign the sliders transform to the rect fields (957602)

  • UI: Fixing error with potential maximum underflowing the counts causing a very large gfx buffer trying to be created which isn't possible (953270)

  • UI: Fixing issue where Font fallback references would not serialize properly (911613)

  • UI: Fixing issue with assert about the width, when reparenting.

  • UI: Fixing issue with CanvasRenderer sending to many updates when reparenting happens (959254)

  • UI: Fixing issue with ETC1 no longer clearing associatedAlphaSplitTexture causing ETC1 material to be used when it shouldn't (926901)

  • UI: Fixing issue with masking setting a keyword to false when it needs to be true (958177)

  • UI: Fixing issue with not sending the rect changed when parenting changes. (962072)

  • UI: Fixing issue with scale x, y = 0 not working as hit area

  • UI: Fixing issue with selection bounds not calculating the whole child hierarchy bounds for RectTransforms (971895)

  • UI: Fixing issue with showing wrong data in graph due to same stat name as GFX module (930049)

  • UI: Fixing issue with UI profiler memory leak caused by not releasing all stored data. (955744)

  • UI: Force ReapplyDrivenProperties when a RectTransform is awaking from load. (943817)

  • UI: Limit size of text sent text generator to avoid it throwing an error (948059)

  • UI: making the event systems be a list such that you can add multiple, remove one and still have the old system working without having to find every time. (840983)

  • UI: Reverting change to driven property system used by the UI.

  • UI: Skip RectTransform preview when parent width is zero. (859385)

  • UI: updated Image editor warning message to match import settings.

  • Universal Windows Platform: Fix building project when its product name ends with a space or contains unicode characters (885265, 942554, 945345)

  • Universal Windows Platform: Fixed "AssemblyConverter running on already processed assemblies. There is something wrong with your build." error message when building on top of a built project that had its UnityOverwrite.txt file deleted (940463)

  • Universal Windows Platform: Fixed an inconsitent with other platforms error message "Script Error (script name): Update() can not take parameters." when those magic methods are defined in a certain order on .NET scripting backend (950025)

  • Universal Windows Platform: Fixed an issue where Build & Run wouldn't work with VS2017 if a project name had parentheses in it.

  • Universal Windows Platform: Fixed debugging scripts on .NET scripting backend (934783, 949806)

  • Universal Windows Platform: Fixed NavMeshObstacles being ignored on 64-bit master builds (955086)

  • Universal Windows Platform: Fixed NotSupportedException being thrown on UWP builds with .NET scripting backend enabled when using Timeline (966790)

  • Universal Windows Platform: Fixed project generation when project name has "&" or "'" characters in it (959804)

  • Universal Windows Platform: Follow up fix for runInBackground (759166)

  • Video: .mov with uncompressed RGBA now supported on OSX. (856784)

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

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

  • Video: Fixed crash when closing Unity with Video preview (938819)

  • Video: Fixed crash when exiting Standalone player with active VideoPlayer (942012)

  • Video: Fixed crash when releasing VideoPlayer outside Play Mode. (930707)

  • Video: Fixed incorrect VideoPlayer naming suffix when drag-anddropping a VideoClip into the scene. (923258)

  • Video: Fixed typo in one of the VideoPlayer editor tooltips (Audio Source). (920816)

  • Video: Fixed VideoPlayer CameraNear/FarPlane RenderModes when used in conjunction with VR

  • Video: Fixed VideoPlayer Preview outside Play Mode. (931846)

  • Video: On Android, videos stop playing when trying to resynchronize. (935659)

  • Web: Fix reading of local files (in Pictures/Documents/User directories) in UWP through WebRequest and WWW (910488)

  • Web: Fixed chunked data upload in UnityWebRequest on Standalone, iOS, Tizen, WiiU

  • Web: Fixed resource leak when aborting a UnityWebRequest that downloads an AssetBundle

  • WebGL: Fix missing progress bar and logo during loading screen (900105)

  • WebGL: Fixed back-buffer anti-aliasing on WebGL1.0 (923698)

  • WebGL: Fixed browser caching of data.unityweb files when Data Caching is enabled in Player Settings. (937594)

  • WebGL: Fixed file:// protocol warning on browsers that don't allow it (926842)

  • WebGL: Fixed Fullscreen mode on Safari (775206)

  • WebGL: Fixed server compression configuration warning (927459)

  • Windows: Fix artifacts when rendering to non-native resolution (930948)

  • Windows: Fix resolution reset when switching from minimized back to fullscreen (950056)

  • Windows: Fixed executable not having Unity version info (964052)

  • Windows: Fixed game window not getting minimized when using exclusive fullscreen mode on Windows key press (953086)

  • Windows: Fixed reading of loca, files in UWP through WebRequest. (910488)

  • Windows: Windows: Fixed switching to full screen from windowed when using dx11. (904471, 923430)

  • XR: Change hard coded GVR Device refresh rate to use Resolution.refreshRate (948896)

  • XR: Eye textures are no longer reallocated every frame when the main camera has MSAA disabled, but it is enabled for the VR device. (919459)

  • XR: Fix an issue with canvas lagging behind when attached to a spatially tracked object while in the editor and play mode. (814569)

  • XR: Fix Cardboard iOS target frame rate (950229)

  • XR: Fix crash in Holographic simulator when trying to exit play mode while paused and VR not enabled (948127)

  • XR: Fix for GearVR HMD touch pad not working with new Input System. (934585)

  • XR: Fix hardware volume controls so they are not locked out in Cardboard (938063)

  • XR: Fixed a number of issues with the VRDevice and rendering in the game view to remove occlusion mesh.

  • XR: Fixed billboard trees moving around in VR as viewer moves or rotates. Also fix VR issue of morphing tree vertices "growing" as camera moves closer to trees (733507, 946544)

  • XR: Fixed CommandBuffer.Blit doesn't work when used in CameraEvent.AfterEverything (918916)

  • XR: Fixed crash when using Android single-pass stereo rendering with the Mock HMD (930458)

  • XR: Fixed incorrect viewport in Single-Pass Stereo when blitting between different sized render textures (945940)

  • XR: Handle Android density (screen resolution) changes without crashing. (950540)

  • XR: Right eye is not rendering with Single Pass rendering and camera has Allow HDR enabled on Android (920106)

LTS Release 2017.3.0f1

Released:

LTS Release 2017.3.0f1

Released:

2017.3.0f1 Release Notes (diff since 2017.3.0b11)

Known Issues in 2017.3.0f1

  • Android: Gradle builds fail when there are more than 250 files in streamingAssets. As a workaround, you can use a custom file extension for the files you want uncompressed. Specify this extension in a custom Gradle mainTemplate under "noCompress". You should also remove "STREAMING_ASSETS" from the template to avoid hitting the file limit. (962451)

  • Universal Windows Platform: [WSA]Unity throws a System.IO.DirectoryNotFoundException error when exporting to the WSA player (UWP/.NET Backend) with a Project folder that has a long path. (959984)

  • XR: [Android] Unity throws an exception while initializing GoogleVR from the Unity library using the Gradle build system. (946104)

Known Issues - won't be fixed in 2017.3.0

  • Editor: Unity does not create the Transform hierarchy on an an async-loaded GameObject if it accesses the GameObject before the async load is complete. (860938)

  • Editor: Use of "external script editor" in editor preferences doesn't work with some editors. Workaround is to use "open by file extension". (974296)

  • Scripting: Instantiating a prefab crashes the Editor if you create a list with type ResourceRequest after a while loop. (908339)

  • Substance: Animated Procedural Textures break async level loading. (959858)

Fixes

  • Editor: Fixed incorrect tool placement when pivot mode was set to Center (962721)

  • Scripting Upgrade: Fix failure to resolve system types when building .Net player when user code, guarded by '#if NET_CORE' used obsolete APIs. (946498)

  • Testing: Test runner can now launch tests on iOS/tvOS and get results back (943302)

  • UI: Adding delay to updating the rect when in on Enable to prevent prefab modification.empty assert (713684)

  • UI: Fixing circular refernce with slider trying to drive itself. You can no longer assign the sliders transform to the rect fields (957602)

  • UI: Fixing Freeze/crash when creating & destroying a lot of GUI canvases/elements (959492)

  • UI: Fixing issue with not sending the rect changed when parenting changes. (962072)

  • WebGL: Fix missing progress bar and logo during loading screen (900105)

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

Fixes

  • Editor: Fix for editor restart prompt when selecting the same Active Input Handling option (968535)

  • Editor: Fix performance issue in IMGUI when there is a lot of elements in a window. (970882, 971461)

  • Physics: Fixed a crash on project load caused by tiny meshes (953083)

  • Physics: Fixed crashes when loading new scene and activating cloth gameobject in coroutine (951789)

  • Physics: Fixed error message when changing Mesh on Skinned Mesh Renderer on game objects that has Cloth Component (950424)

  • Physics: Fixed issue where Editor freezes for long time when adding Cloth component to a Mesh with high vertex count (956856)

  • Physics: Fixed issue where Physics Debugger's layer mask does not filter GameObject correctly (948201)

  • Physics: Fixed potential crash in Rigidbody::GetVelocity() when opening certain scenes (955697)

  • Web: UnityWebRequest: fix crash when checking AssetBundle download progress, that gets aborted (968877)

  • Web: UnityWebRequest: Fix DownloadHandlerFile not truncating file on overwrite

  • Web: UnityWebRequest: fix hang when busy waiting on a redirecting request (963947)

  • Web: UnityWebRequest: improve performance for DonwloadHandlerScript (965165)

  • WebGL: Fix crash for relative URL in UnityWebRequest when exceptions are disabled (965094)

  • WebGL: Fix UnityWebRequest with relative URL when running with custom port (961465)

  • XR: Fix for crash when subscribing to InteractionManager events without HMD plugged in on Windows Mixed Reality (972003)

  • XR: Fix for Windows Mixed Reality controllers not being detected by Editor during play mode (948931)

  • XR: Fixed an issue that would prevent being able to disable and re-enable XRSettings.enabled on Windows Mixed Reality

2017.3.0f1 Release Notes (Full)

Features

  • Analytics: Added support to capture VR device refresh rate, dimension, aspect ratio, HMD tracking and Controllers tracking as part of device info and device status events.

  • Animation: Added support for integer and enum animation.

  • Asset Pipeline: Added AssetDatabase.ForceReserializeAssets API. This method allows you to proactively load, upgrade, and write back to disk any Asset or Scene files in the project. When project upgrades cause serialization changes to Assets and metafiles, Unity writes these changes to disk separately from regular development iterations.

  • Editor: Added assembly definition files for script compilation pipeline in the editor. This allows you to define your own managed assemblies based on scripts inside a folder. Splitting your project's scripts into multiple assemblies can greatly reduce script compilation times in the Editor. Note that the latest version of Visual Studio Tools for Unity is required for this feature to work with solution and project generation for Visual Studio.

  • Editor: Added events: MouseEnter, MouseLeave, MouseOver, MouseOut, AttachToPanel, DetachFromPanel, PostLayout.

  • Editor: Added Focus events that notify UIElements when they gain or lose focus (the focused element receives keyboard input), and a focus ring, which is a circular list of UIElements that gives the order in which they receive the focus when you press Tab or Shift+Tab.

  • Editor: Added the Transform Tool, a single Gizmo you can use to move, rotate and scale in the Unity Editor.

  • Editor: You can now use DX12 API in the Editor.

  • Facebook: Segmented the uploader for the Facebook platform.

  • GI: Added support for HDR compressed lightmaps (BC6H) on PC, Xbox One and PlayStation 4. To enable this, go to Player Settings and set the Lightmap Encoding option to High Quality.

  • Graphics: Added a new method, ScreenCapture.CaptureScreenshotAsTexture. Use this to save screenshots taken with ScreenCapture as Textures in the Editor.

  • Graphics: Added Crunch compression support for ETC_RGB4 and ETC2_RGBA8 textures. Improved compression ratio and speed for DXT Crunch.

  • Graphics: Added Dynamic Resolution as an engine feature, debuting on Xbox One platform.

  • Graphics: Added support for multisampled Textures in Shaders. To use a multi-sampled Texture in a Shader, declare it as Texture2DMS (or, for example, float for a single-channel texture), and then sample as described in Microsoft's documentation on Texture2DMS::Load methods. You must create the corresponding RenderTexture with the bindMS flag set on the RenderTextureDescriptor, or set the bindTextureMS flag after creation on the RenderTexture itself.

  • Graphics: Support for 32 bit Mesh index buffers:

    • By default, meshes larger than 65k vertices get imported with a 32 bit index buffer. Smaller meshes still use 16 bit indices.
    • Added Index Format setting to Mesh Importer to override this behavior.
    • Added Mesh.indexFormat to scripting API for Meshes created at run time.
  • Kernel: Added new argument -systemallocator. This disables Engine management of allocations, and instead uses system allocations. This is useful when using external tools for memory debugging.

  • Particles: Added a new Speed Modifier option in the Particle System Velocity Module. Use this to control particle speeds without changing their directions.

  • Particles: Added Unlit and Surface shaders for use with Particle Systems.

  • Particles: Ribbonized Particle Trails.

  • Physics: Exposed a new broadphase algorithm called called Multi-Box Pruning, which is based on subdividing the world boundaries. This helps to overcome the performance issues in the standard sweep-and-prune approach, by exluding the excess checks of bodies that are far away but overlap each other along one of the principal axes. Access Multi-Box Pruning in the Unity Editor's Physics Settings.

  • Physics: Exposed new settings in the Physics Manager: Contacts Generation, Contact Pairs, and Broadphase Type. This allows receiving the collision and trigger events from kinematic-kinematic and kinematic-static contact pairs.

  • Physics: Exposed MeshCollider.cookingOptions. Cooking options allow you to enable or disable certain features in Mesh cooking (the process of turning a normal Mesh into a Mesh that is suitable for use in the physics system). These options can help you achieve a much shorter cooking time. This API requires that you manually check the input data for validity.

  • Playables: Added new delay feature for IPlayables.

  • Playables: Added new Video Playables Integration.

  • Profiler: Added API for custom threads profiling: Profiling.BeginThreadProfiling, and Profiling.EndThreadProfiling.

  • Scripting: Added command line option "overrideMonoSearchPath" for desktop standalone players (OSX, Windows). "overrideMonoSearchPath" specifies an extra folder to search when Mono is loading assemblies. One intended use is to have two versions of the same project (such as a trial version and a full version). The Assets are the same, but the scripts are different. You can use this command line option to re-use the Assets, but load different scripts.

  • Scripting: Added Mono/.NET 2.0 support for Memory Profiler. See more on GitHub.

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

  • Video: Added panoramic 360/180 2D/3D video workflows.

  • Video: Introduced UnityEngine.Media.MediaEncoder to expose the VideoClipImporter encoders. This allows you to create movie files via script.

  • XR: Added a new option in the Windows MR Player Settings called Enable Depth Buffer Sharing. This allows the OS to better stabilize images without the need to manually set the focus plane. For more information about the benefits of image stabilization, see Microsoft's documentation on Hologram Stability.

  • XR: Added new UI to Daydream VR Device configuration, to support new 6DOF Standalone devices.

  • XR: Added XR support to Experimental Scriptable Render Pipelines.

Backwards Compatibility Breaking Changes

  • Graphics: Removed DirectX 9 support from Windows Editor & Standalone. See blog post.

  • Linux: Minimum supported OS version is now Ubuntu 14.04.

  • OSX: Removed support for targeting 32bit macOS applications. Replaced BuildTarget.StandaloneOSX* enums with BuildTarget.StandaloneOSX.

  • SamsungTV: Removed support for Samsung TV.

  • Tizen: Removed Tizen mobile support.

Changes

  • 2D: Unity now generates a default Physics Shape when it creates a Sprite from an imported Texture.

  • Android: Release Gradle builds are now signed with a debug key by default, and no longer fail if no key is provided.

  • Android: Release Gradle builds no longer have ProGuard enabled by default.

  • Android: Removed "Export as ADT project" option.

  • Asset Import: TextScriptImporter now recognises Markdown files (.md).

  • Editor: Added methods EditorGUI.EnumFlagsField and EditorGUILayout.EnumFlagsField, which respect the values of the enum type and support custom names for values 0 and ~0 (all bits set). Deprecated methods EditorGUI.EnumMaskField, EditorGUILayout.EnumMaskField, EditorGUI.EnumMaskPopup, and EditorGUILayout.EnumMaskPopup, which always assume values to be 1, 2, 4, 8 (and so on). (896176)

  • Graphics: Removed allegorithmic Texture compressor.

  • Graphics: Resolution is no longer clamped when using custom shadow resolution on a light, allowing you to reach up to 8k shadowmap if needed.

  • Graphics: Updated splash screen logo with new branding style.

  • Graphics: You can now access imageContentsHash for all Texture objects. This was previously only accessible using the RenderTexture API. (952466)

  • Licenses: Updated FBX license to require acceptance of FBX SDK license. See Autodesk's License and Services Agreement 2015.

  • Package Manager: Added upmResetToEditorDefaults command-line option and menu item to reset packages to Editor defaults.

  • Profiler: Improved profiler data serialization for Players - lower memory overhead, better performance.

  • Shaders: Concatenated matrix macros (e.g. UNITY_MATRIX_MVP) are now changed to static variables to avoid repeated calculations.

  • Substance: Deprecated built-in support for Substance Designer materials. This support will be removed in 2018.1. To continue using Substance Designer materials in Unity 2018.1, you need to install a suitable third-party external importer from the Asset Store.

  • UI: Unity no longer resets the LookDev camera when you create a new Scene. (938493)

  • XR: Improved the way XR devices pause/unpause applications, particularly when pausing as a result of application focus being lost. Unity now handles overlapping pause conditions correctly, regardless of the order in which they occur.

  • XR: Removed padding on double-wide texture used with Single Pass.

Improvements

  • 2D: Exposed methods to set and retrieve Physics Shape from a Sprite.

  • 2D: If you use Shift-Click to do picking for Tile Palette, Unity now switches back to the original tool after picking is done.

  • 2D: Unity now displays a confirmation dialog box when you create new Tile Assets that overwrite existing Tile Assets.

  • 2D: Unity now saves changes to the Tile Palette when you stop editing the Tile Palette, or when you save the project.

  • Android: Added a new way to handle audio focus in Android Oreo.

  • Android: Added the option to configure Texture decompression format on Android devices that have no ETC2 Texture format support.

  • Android: Updated Gradle version and made it the default build system for Android.

  • Android: [OpenGL ES] Added support for preserving the framebuffer alpha.

  • Animation: Added a 2D mode to the Animation Previewer.

  • Animation: Added new Translation DoFs for Arms, Legs and Head for Humanoid animation and retargeting. This converts translations (also known as stretch) found on imported animations to retargetable Humanoid animations.

  • Animation: Added zoom in the Animator Window.

  • Animation: Entry, Exit and AnyState StateMachine Transitions can now be copy-pasted. (921705)

  • Animation: Framing a single key does not give proper context for manipulation in the curve editor, so we included neighbouring keys.

  • Asset Import: Added Preserve Hierarchy toggle to the Model Importer, to prevent Unity stripping the root transform when the model has a single root.

  • Asset Import: Added AssetPostprocessor.OnPostprocessMaterial.

  • Asset Import: Exposed ModelImporter.MaterialLocation to allow you to switch the Iaterial import location in AssetPostprocessor scripts.

  • Asset Import: Material workflow enhancement: added the ability to remap all embedded materials to existing material assets in the project, using the same heuristics as the legacy system

  • Asset Import: You can now skip Video Clip transcoding during import. If you do so, Unity uses a non-transcoded version of the video instead.

  • DX12: Native Rendering Plugin: Exposed and implemented native RenderBuffer resource retrieval, and fixed multithreading issues.

  • Editor: Added UnityEngine.Networking.PlayerConnection.ConnectedPlayer.Name. This makes it easier for you to identify connected players.

  • Editor: Connected Players now only show debug logging in Editor console, not all of stdout. Added an option to disable player logging in the Editor console.

  • Editor: Fixed over 120 missing or incomplete tooltips in the Unity Editor.

  • Editor: If Edit mode and Play mode tests produce files without proper cleanup, Unity now logs a warning.

  • Editor: It is now possible to adjust the number of lines per log row in the Console window.

  • Editor: Updated UnityShaderCompiler tool for macOS and Linux to 64bit. This improves shader compilation performance.

  • Editor: You can now double-click a Scene file in the Build List to highlight Scenes in the Project view.

  • Editor: You can now select which Xcode version to build your project with on MacOS.

  • GI: Before, all trees, lightmap static or not, would cast baked shadows on Terrain. Now Unity honors the Static flag on the prefab.

  • GI: Fixed debugging textures for GI. It's now easier to tell when they should be availble, and why they might be missing.

  • GI: Legacy trees and prefabs that don't have a LOD group now cast baked shadows on Terrain. (685764)

  • GI: Made spot light and point light fall-off match real-time fall-off in Progressive Lightmapper.

  • Graphics: Added "base vertex" functionality to Mesh.SetIndices, to allow meshes larger than 65k vertices when using 16 bit index buffer..

  • Graphics: Added GPU selection in metal for MacEditor and MacStandalonePlayer.

  • Graphics: Added non-allocating overloads for GeometryUtility.CalculateFrustumPlanes.

  • Graphics: GPU Instancing: Instance properties are now packed as arrays of structures. Internally, we changed the constant buffer layout, where multiple instance properties are present. There are three changes in the instancing declaration macros, but the old shaders can be upgraded automatically. For your reference, the three changes are:

    1. UNITY_INSTANCING_CBUFFER_START/END renamed to UNITY_INSTANCING_BUFFER_START/END.
    2. UNITY_INSTANCING_BUFFER_END now takes an arrayName in the parentheses.
    3. UNITY_ACCESS_INSTANCED_PROP must now be provided with the arrayName in the first argument to indicate where this property comes from. Note that if graphics jobs are not enabled, the CPU-side processing of instance property values are optimized and off-loaded to a worker thread to further reduce CPU cost.
  • Graphics: GPU Instancing: Introduced a new feature on most platforms, called "flexible instancing array sizes". This means you no longer need to specify instancing array sizes. Instead, Unity calculates it from the next draw's instance count.

    • This greatly reduces shader compiling time for instancing variants.
    • If you always take the maximum constant buffer size allowed by the device, then divide by the instance data structure size, you can further reduce instance batch count, especially on OpenGL and Metal.
    • This introduces moderate performance improvements, especially for Scenes with lots of small batches. particularly useful if you rely on Unity renderloops to automatically batch instances for you.
  • Graphics: Improved documentation for graphics hardware tiers.

  • Graphics: Improved motion vectors precision when dynamic batching is disabled.

  • Graphics: Introduced various performance and memory consumption optimizations to the Vulkan renderer.

  • Graphics: Optimized Point Light real-time shadows for D3D11.

  • Graphics: Updated compute shader API: Addd SetMatrix, SetMatrixArray and SetVectorArray for SetComputeXXX and for command buffer.

  • Graphics: Vulkan: Implemented multidisplay support for the Vulkan rendering back-end (Windows/Linux).

  • Graphics: [Metal] Eliminated Z-fighting artifacts on certain devices.

  • iOS: Exposed PlayerSettings.iOS.disableDepthAndStencilBuffers in scripting API. (938696)

  • iOS: [Metal] Improved render thread scheduling.

  • Kernel: Made optimizations to the job system to reduce CPU usage on job worker threads in specific scenarios.

  • Linux: Enabled Wayland support (experimental, requires -force-wayland command line argument).

  • Linux: Updated to SDL 2.0.5.

  • Mobile: Engine code stripping now works on Android.

  • OSX: Fixed input configuration behaviour in launcher window, sharing code used elsewhere.

  • Package Manager: Added update to allow you to reset Project packages to Editor defaults.

  • Particles: Added a Simulate All checkbox for previewing all looping Particle Systems in Edit Mode.

  • Particles: Added an option to the Scene View FX dropdown to toggle the visibility of Particle Systems.

  • Particles: Added script accessors for animatedVelocity and totalVelocity/ These allow you to query the total velocity of a particle from script, rather than just the physics velocity.

  • Particles: Added support for Meshes using lines and linestrips for particle Shape Module spawning. (931662)

  • Particles: Added update to display particle stats in Editor Play Mode for selected systems.

  • Particles: Improved the workflow for creating multiple Particle Systems inside a shared GameObject hierarchy: The Particle System no longer resumes playing a paused preview when you select systems belonging to the same effect.

  • Particles: Moved Resimulate and Show Bounds from the Inspector to the Scene View Overlay.

  • Physics: Introduced Cloth self-collision and inter-collision tools and technology. Improved constraint painting.

  • Profiler: Added experimental option to use Deep Profiler in Players with Mono runtime.

  • Scripting: Added a fastpath which avoids boxing of value types when a UnityEvent invokes listeners with the exact same argument types (932039)

  • Testing: Introduced [RequirePlatformSupport] in the Editor Tests framework, allowing tests to be marked as requiring support for particular platforms to be installed.

  • Testing: The -testCategory command line argument (to select the category of tests to run) now supports regular expressions.

  • Timeline: Added multi-selection capabilities to the Clip Inspector.

  • Timeline: Introduced various clip snap improvements:

    • Improved snap precision
    • Added Multi-selection clip snap support
    • Added double side snap hint
    • You can now hold down Ctrl to toggle snapping when moving clips
    • No snapping on Muted tracks
    • Auto snapping on Clip Asset duration and loop ends
  • Timeline: Made improvements to the Copy/Paste workflow.

  • UI: All Editor tab views now use FitToContents for button contents with flexible space on either side of toolbar, instead of filling window width.

  • UI: Cached eventCamera access in Raycast() to avoid calling Camera.main multiple times.

  • UI: Improved UI for currently selected profiler connection.

  • UI: Improved MarkLayoutAsDirty by early-exiting check loop, inlining check and removing list manipulation.

  • UI: Made performance improvements to GraphicRaycaster and EventSystem. (934842)

  • WebGL: Changed WebGLExceptionSupport.Full to WebGLExceptionSupport.FullWithStacktrace and added WebGLExceptionSupport.FullWithoutStacktrace.

  • Windows: Added support for proxy setup on UWP.

  • XR: Added support for Single-Pass stereo rendering on MacOS.

  • XR: Added XRSettings.useOcclusionMesh to allow for disabling the occlusion Mesh.

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

  • XR: Improved VR Terrain Trees: Fixed billboard trees rotating all the time as viewer moves in VR, better transition of 2D to 3D trees, fast "sort-independent" trees with alpha-to-coverage blending and MSAA , billboard Texture aliasing improvements. (733507, 946544)

  • XR: Updated Google VR NDK to 1.80.

  • XR: XR now supports jittered projection matrices (for use with TAA). (873685)

API Changes

  • 2D: Added new methods for Sprites to set and retrieve Physics Shape: GetPhysicsShapeCount, GetPhysicsShapePointCount, GetPhysicsShape,OverridePhysicsShape`.

  • Animation: Added AnimationCurve.Constant().

  • Animation: The structure AnimatorTransitionInfo now has a "duration" property that returns the duration of the current transition, as well as a durationUnit property that returns which unit is expressed this duration: fixed (in seconds) or normalized (in percentage).

  • Animation: Animator.CrossFade() and Animator.CrossFadeInFixedTime() can now set the transition time.

  • Asset Import: Added API signature changes and constraints removal to ScriptedImporters (Experimental feature).

  • Build Pipeline: Deprecated BuildTarget.StandaloneOSXIntel, BuildTarget.StandaloneOSXIntel64 and BuildTarget.StandaloneOSXUniversal. Upgraded BuildTarget.StandaloneOSXUniversal to new BuildTarget.StandaloneOSX. This now is the only option for targeting macOS.

  • Caching: Added overloaded version of ClearCache() that can clear cached AssetBundles which are unused for longer than the given expiration time.

  • Editor: Added methods EditorGUI.EnumFlagsField and EditorGUILayout.EnumFlagsField. These respect the values of the enum type, and support custom names for values 0 and ~0 (all bits set). (896176)

  • Editor: Deprecated methods EditorGUI.EnumMaskField, EditorGUILayout.EnumMaskField, EditorGUI.EnumMaskPopup, and EditorGUILayout.EnumMaskPopup, which always assume values to be 1, 2, 4, 8, and so on. (896176)

  • GI: Renamed LightmapEditorSettings.Lightmapper.Radiosity to LightmapEditorSettings.Lightmapper.Enlighten, and LightmapEditorSettings.Lightmapper.PathTracer to LightmapEditorSettings.Lightmapper.ProgressiveCPU. Use the Unity Automatic API Updater to make these changes automatically in your Project.

  • GI: Unity no longer supports Light.isBaked and Light.alreadyLightmapped. Use Light.bakingOutput.isBaked (and other members of Light.bakingOutput) instead.

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

  • IMGUI: Upgraded lowercase EventType enums to their corresponding uppercase variants. The old API is now obsolete.

  • iOS: Added iOS.Device.RequestStoreReview, a review request API for the App Store.

  • Playables: Added new callback in PlayableBehaviour: OnBehaviourDelay. This is called in the first frame that the playable is delayed.

  • Playables: Added new callback in PlayableBehaviour: PrepareData. This is called if the playable is delayed.

  • Playables: Added new method to allow building or rebuilding the graph without initiating Play(): PlayableDirector.RebuildGraph.

  • Playables: Added new methods for IPlayable: SetDelay() and GetDelay().

  • Playables: Added new properties in FrameData: effectiveParentDelay and effectiveParentSpeed.

  • Playables: AudioClipPlayable.IsPlaying() is now obsolete. This method was for testing purposes only.

  • Playables: IPlayable.SetPlayState() is now obsolete. Use Play(), Pause() or SetDelay().

  • Playables: Playable.ConnectInput now takes an optional weight parameter.

  • Scripting: Added AssemblyBuilder.excludeReferences.

  • Scripting: Made Vector2.SmoothDamp parameters maxSpeed and deltaTime optional.

  • XR: Added PlayerSettings Get/SetVirtualRealitySupported, Get/SetVirtualRealitySDKs, and GetAvailableVirtualRealitySDKs for aquiring and setting the XR Settings Virtual Reality Supported toggle and Virtual Reality SDKs list.

  • XR: RenderViewportScale is now disabled in Deferred Rendering.

Fixes

  • 2D: Fix ArgumentOutOfRangeException thrown when attempt to move point outside of the sprite rect in Sprite Editor while holding control key (946546)

  • AI: Fixed unwanted gap in the NavMesh produced by a concave edge crossing a tile boundary. (930830, 959522)

  • Android: Android: Add "Low Accuracy Location" checkbox to player settings (915891)

  • Android: Android: Buildpipe - Fixed exporting for projects with chars in ProductName which are forbidden by the file system (925490)

  • Android: Buildpipe - Fixed longer export times because of the build report (950381)

  • Android: Fixed an issue with having lots of VBOs allocated even for an empty scene on Android during application startup (920508)

  • Android: Fixed Android not supporting asset bundles larger than 2GB (912482)

  • Android: Fixed atlased ETC1 textures with split alpha rendering in editor outside of play mode (942923)

  • Android: Fixed issue preventing apps using OBB from launching after install from Google Play

  • Android: Fixed OpenGL ES version check for Android and Android Extension Pack detection in the editor (931848)

  • Android: Fixed player crash when profiler with GPU profiling was enabled and graphics API was not OpenGL ES 3 (944118)

  • Android: Fixed realtime HDR reflection probes being black on older Android devices (776875)

  • Android: Partially fixed streaming assets being compressed when building with gradle (952981)

  • Android: Shaders that fail to compile no longer spam the log in release builds (837845)

  • Animation: Display clip name in clip importer preview title (888864)

  • Animation: Fixed a crash when closing Animator Window (916970)

  • Animation: Fixed an exception in the transition inspector when the previewer is not docked (935015)

  • Animation: Fixed an issue where Animation Events in empty clips were not getting fired (921121)

  • Animation: Fixed an issue where copy pasting a state containing a Blend tree to a synchronized layer would link (891990)

  • Animation: Fixed an issue where the Avatar Previewer (StateMachine transitions and Animation Clips previewer) was not centering for some models (936144)

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

  • Animation: Fixed animation starts sliding in Blend Tree preview when having more that two animations (903883)

  • Animation: Fixed Animation Window clip popup list not alphabetically sorted (934923)

  • Animation: Fixed animations that reference script properties that are in asset bundles (920973)

  • Animation: Fixed AnimatorState's WriteDefaults not working properly on very specific setups (893779)

  • Animation: Fixed assertion message displayed when using override controllers with legacy clips (919054)

  • Animation: Fixed Avatar preview not initializing properly

  • Animation: Fixed crash in invalid state machine transition (920625)

  • Animation: Fixed crash when changing number of input in AnimationLayerMixerPlayable at runtime. (921997)

  • Animation: Fixed default values when setting an OverrideController (810415)

  • Animation: Fixed editor freezing when duplicating badly formed state machines (913757)

  • Animation: Fixed erroneous visual feedback for the transition in the AnimatorController when transition time is negative (883899)

  • Animation: Fixed Frame-All and Frame-Selected in Animator Window

  • Animation: Fixed humanoid body position not properly animated when used in additive layer (916487)

  • Animation: Fixed interrupted transition on layers that have empty states. (920470)

  • Animation: Fixed keyframes not pasted in the proper order in the dopesheet. (944695)

  • Animation: Fixed keyframes skipped when navigating to Previous/Next keyframe in animation window (927700)

  • Animation: Fixed keyframing of multiple material selection in the animation window (934578)

  • Animation: Fixed muscle settings being reset when changing other muscle settings in the model importer.

  • Animation: Fixed NaN errors originating from root motion calculation. (794979)

  • Animation: Fixed non-animated values in Transform component not properly restored when previewing in Animation Window (809332)

  • Animation: Fixed property not displayed with "Default Value" identifier when last key is deleted in the curve editor (925529)

  • Animation: Fixed state machine range selection not adjusting to bigger graphs (877827)

  • Animation: Fixed tangent mode not properly set when adding a key at curve extremities in curve editor (944014)

  • Animation: Fixed unresponsive animation window when zoomed out (919500)

  • Animation: Root motion broken in animation when weight of any additional layer is greater than zero (943238)

  • Animation: Transition between animations makes GetIKRotation and GetIKPosition return incorrect value (945035)

  • Asset Bundles: Fixed bug where incorrect error was getting thrown if an asset was included in the same AssetBundle more than once (932726)

  • Asset Import: Fixed bug with ScriptedImporter where a sub-asset added to the AssetImportContext would become the main asset, when the specified main asset was of certain built-in types

  • Asset Import: Fixed crash when accessing ModelImporter.sourceAvatar with a null avatar (951241)

  • Asset Import: Fixed crash when importing a corrupted prefab (919220)

  • Asset Import: Fixed crash when importing some invalid .3ds files. (937949)

  • Asset Import: Fixed crash when reparenting imported root in OnPostprocessModel (943075)

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

  • Asset Import: Updated SketchUp SDK to latest to support SketchUp 2015/2016/2017 (782948)

  • 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 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: 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)

  • Build Pipeline: Fix "Must set an output directory through SetCompileScriptsOutputDirectory before compiling" error when importing some asset packages (923377)

  • Build Pipeline: Fix crash when unloading an asset bundle that contains a GameObject with a non-persistent component (807541)

  • Build Pipeline: Fixed bug where error was getting thrown if Cancel was selected in the folder dialogue for certain types of Android builds (931036)

  • Build Pipeline: Fixed editor crash when attempting to build Assetbundles from a PreProcessBuild callback (920116, 928647)

  • Build Pipeline: Fixed editor crash when reading very old serialized files (911018)

  • Build Pipeline: Modified warning message in the build player window to direct users to log in to use services (800269)

  • Cache Server: Fixed several cache server bugs that would manifest as freezes/hangs or failures when reading from a cache server (943300)

  • Editor: Changing width of LookDev window to lowest possible while HDRI panel is open throws errors (938490)

  • Editor: Crash on macOS when canceling undock of Hierarchy or Scene View (942253)

  • Editor: Don't show incorrect label inspectors on folders in the project browser (914534)

  • Editor: Fix a fatal error caused when code is trying to access a non-existing platform (for example, one that was deprecated and later removed in Unity) (943461)

  • Editor: Fix crash on shutdown after using Windows speech recognizer (946499)

  • Editor: Fix framework inspector showing only one option in Option Dependencies (930624)

  • Editor: Fix issue that caused Windows speech recognizer not to work if a bad syntax file was loaded (871461)

  • Editor: Fix modifiers being discarded when pressing hotkey (936062)

  • Editor: Fix null reference exception on scene view drop (915829)

  • Editor: Fix player build success notification

  • Editor: Fix preview generation when lighting data hasn't been baked (818075)

  • Editor: Fix progress bar display for test tools

  • Editor: Fixed "Help > Software Licenses" menu item not working when editor application has spaces in path (macOS). (914937)

  • Editor: Fixed 9-slice not working well on transform scale values that are other than Vector3.one. (933414)

  • Editor: Fixed a issue that launching the editor using -projectPath argument without a valid license results in hang on splash or no visible window (942380)

  • Editor: Fixed an issue that was preventing the execution of menu items that contained a hotkey character (e.g., '&', '_', etc) via Editor scripts. (941189)

  • Editor: Fixed an issue where GameView size would not be restricted correctly when we don't think there's enough video memory (900779)

  • Editor: Fixed an issue where LogAssert.Expect would ignore the the logtype when finding a satisfying event when running playmode and editmode tests. (935602)

  • Editor: Fixed an issue where ResourceRequest.isDone was never set when loading resources in the Editor with LoadAsync until Editor window got resized (898008)

  • Editor: Fixed bug where Object Selector would default to Scene tab for ScriptableObject and other non-GameObject/Component asset types

  • Editor: Fixed bug where Object Selector would not display objects of a custom type if their unqualified type name matched some Unity type's unqualified name

  • Editor: Fixed Build And Run button for AppleTV on non macOS (938824)

  • Editor: Fixed crash on Mac on window close after upding drag and drop for interacting with object picker (939211)

  • Editor: Fixed crash when clicking Gizmos button in Scene view. (923088)

  • Editor: Fixed editor crash on UnloadSceneAsync() when exiting play mode if two scenes are added in Hierarchy (868291)

  • Editor: Fixed Editor crash when using obsolete platform StandaloneOSXUniversal in code. (942560)

  • Editor: Fixed incorrect tool placement when pivot mode was set to Center (962721)

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

  • Editor: Fixed issue where Editor would crash on reload of a named scene without a scene Asset (928294)

  • Editor: Fixed issue where trying to exit Avatar Configuration would not open a new scene and lock the inspector (926815)

  • Editor: Fixed issue where you could not reload the last loaded scene, when there is an unloaded scene in the scene hierarchy. (927176)

  • Editor: Fixed issue with wrong xcode beeing used to build the project on Mac (815711)

  • Editor: Fixed NullReferenceException when selecting objects in hierarchy at the same frame they are destroyed (784805)

  • Editor: Fixed planar handles of position handle using absolute mouse position instead of relative. (920533)

  • Editor: Fixed Profiler not showing chart data after Playmode change if Scene view was set to Maximize on Play. (778068)

  • Editor: Fixed so OnHierarchyChanged event is not fired if a root GameObject added/removed is hidden. Now same behavior as non-root GameObjects.

  • Editor: Fixed so OnHierarchyChanged event is not fired if selection changes to a GameObject that shows preview area or material preview icons in the Inspector. (935289)

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

  • Editor: Fixed TreeView renaming issue when re-docking an EditorWindow (888658)

  • Editor: Fixed UIElements ScrollView having empty space when scroll bars are hidden (930065)

  • Editor: Fixed various issues in PlayerConnection and EditorConnection, player connect and disconnect should work properly now.

  • Editor: LookDev camera/objects is reset upon creating new unity scene (938493)

  • Editor: LookDev window allows meshes to be dropped from scene hierarchy (938500)

  • Editor: Removed unnecessary error in console when using point mesh topology. (930042)

  • Editor: The generated TestResults.xml when running playmode and editmode tests is now updated to be in NUnit3 format. (910845, 940839)

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

  • Editor: [Profiler] Shows no data if docked and Game View is maximized (778068)

  • GI: Fixed issue where GI data wasn't loading properly from Asset Bundles. (924597)

  • Graphics: Convert scene view texture to LDR before drawing scene view elements. (878724)

  • Graphics: Fix second display rendering on Android/iOS when Camera.targetDisplay is not zero, Camera.targetDisplay is now completely ignored on these platforms (920394)

  • Graphics: Fix shadows when only alpha blended shadow caster are present. (930221)

  • Graphics: Fixed a crash when frustum culling local (point and spot) moving lights. (930408, 967291)

  • Graphics: Fixed crash when importing a BC6 source texture and the destination format is RGBA8UNorm.

  • Graphics: Fixed crash when passing null property block to CommandBuffer.DrawMeshInstanced. (951975)

  • Graphics: Fixed GameView Stats windows & profiler to display rendered vertex/triangle counts properly when they are larger than 2 Billion.

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

  • Graphics: Fixed SkinnedMeshRenderers marked with "update when offscreen" not being updated when rendering via CommandBuffers. (938897)

  • Graphics: Fixed wrong texture quality beeing applyed for graphic APIs not supporting NPOT with mipmaps (881121)

  • Graphics: Increase vsync count cap from 2 to 4 to better align with what is allowed by DXGI (941921)

  • Graphics: Make flares respond to 2D colliders (911429)

  • Graphics: Work around Metal driver issue breaking reflection probes (899153)

  • iOS: Cardboard. Enable Transition View fixed (893415)

  • iOS: Don't overwrite provisioning on append if it's not set up (946822)

  • Kernel: Assert no longer occurs when finding game objects that are deactivating (667483)

  • Kernel: Display correct value when mult-editing and changing property to extreme clamped value (806441)

  • Kernel: Improved error reporting for semantic YAML merges, particularly on macOS (719374)

  • Licenses: Fixed a issue that when cached refresh token & access token expired, command line activation will failed (940084)

  • Linux: Improve native plugin lookup

  • Multiplayer: Force scene ID to 0 on all prefabs, fixes issue where spawning an a network object instance will create it as a scene object (866792)

  • OSX: Restore previous behaviour of stripping UnityEngine mdb files for macOS Standalone player builds.

  • Package Manager: Allow user to continue after packman resolution failure at startup (945057)

  • Package Manager: Fixed failure to connect to Package Manager server when host file is empty or missing (944450)

  • Package Manager: Fixed issue where Export package window contains extra folder Packages (940149)

  • Package Manager: Package Manager would fail to initialize if project folder contained a comma character (957436)

  • Particles: Clamp properties to valid ranges when set via animation (936831)

  • Particles: Clamp properties to valid ranges when set via script (805636)

  • Particles: Improve mesh batching, so it behaves identically to billboard batching (924743)

  • Particles: Improved Frame Debugger messages for when dynamic batches using Particle Systems are broken (911933)

  • Particles: Lights module emitted lights when Maximum Lights was set to 0 (956067)

  • Particles: Mesh used in the Shape Module would not always update when swapped in Edit Mode (948152)

  • Particles: Noise remap curves were still editable after remap had been disabled (923397)

  • Particles: Particle system collision gizmos were also shown for particles without collision module when multiple particle systems were selected (947417)

  • Particles: Prevent bursts being added when multiple systems are selected, as it leads to unexpected results. (958320)

  • Particles: Sub Emitters with rate over distance could keep emitting after their parent particle has stopped moving due to a collision (950108)

  • Particles: Sub-emitter particles were still visible in Edit Mode when removing them from a parent emitter (946999)

  • Physics: Fix cloth prefab crash when enabling and disabling. (904655)

  • Scripting: Fix rare coroutine crash when exiting play mode (905492)

  • Scripting: Fix rare coroutine crash when having nested coroutines (903628)

  • Scripting: Fix to prevent domain reload when in play mode in the editor due to missing script reference in asset bundles (926516)

  • Scripting: Fixed crash when calling SerializedObject.CopyFromSerializedProperty(null) (927291)

  • Scripting: Fixed issue where resetting SerializedProperty.prefabOverride for one property could incorrectly reset other properties in some circumstances. (960775)

  • Scripting Upgrade: Fix crash in AssemblyUpdater when property body contains reference to an obsolete API method / property (935582)

  • Scripting Upgrade: Fix failure to resolve system types when building .Net player when user code, guarded by '#if NET_CORE' used obsolete APIs. (946498)

  • Scripting Upgrade: Fixed an issue where the send function from our synchronization context would fail to execute on the main thread (934819)

  • Scripting Upgrade: Fixes an issue where assemblies built with .NET 4.6 fail to be imported (922577)

  • Services: Fixed A very bad internet connexion can result on a black page when launching the editor (937367)

  • Services: Prevent collab from getting into a publish loop (932469)

  • 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. (931791)

  • Shaders: Fixed non rendering light probe debug visualization in metal editor (900987)

  • Shaders: Fixing shadow precision into fp32 for mobile platforms. (896448, 899729)

  • Shaders: Shaders: Added in standard shader a warning if bump scale is used on mobile platform (828427)

  • Terrain: Fixed an issue where a terrain detail mesh would have incorrect wind animation if it uses vertex colors as weights and "Optimize Mesh Data" is enabled in Player Settings. (921107)

  • Terrain: Fixed an issue where assertions would appear if you have OnTerrainChanged message callback in your MonoBehaviour. (927365)

  • Testing: Test runner can now launch tests on iOS/tvOS and get results back (943302)

  • Timeline: Added snapping on multi-selected clips (883991)

  • Timeline: Fixed drag when moving mouse outside of the Timeline Window. (881880)

  • Timeline: Fixed snap to frame will snap to middle of frame if clip beginning is not snapped (879564)

  • Timeline: Fixed trimming left side of activation clip will eventually move the clip (888393)

  • UI: Added option to use legacy font calculation (943141)

  • UI: Adding delay to updating the rect when in on Enable to prevent prefab modification.empty assert (713684)

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

  • UI: Fixed a bug where images would not render if they started disabled. (922641)

  • UI: Fixed a memory leak in the UGUI profiler (912789)

  • UI: Fixed broken GUI when selecting prefabs with scripts that have compile errors (930931)

  • UI: Fixed issue in RectTransform where changes would be lost if applied before Activating the GameObject. (953409)

  • UI: Fixed issue in which GraphicRaycaster incorrectly hit graphic elements behind the event camera's far clipping plane. (935665)

  • UI: Fixed null reference exception and malformed UI when selecting prefab referencing deleted asset (930291)

  • UI: Fixing circular refernce with slider trying to drive itself. You can no longer assign the sliders transform to the rect fields (957602)

  • UI: Fixing error with potential maximum underflowing the counts causing a very large gfx buffer trying to be created which isn't possible (953270)

  • UI: Fixing Freeze/crash when creating & destroying a lot of GUI canvases/elements (959492)

  • UI: Fixing issue where Font fallback references would not serialize properly (911613)

  • UI: Fixing issue with assert about the width, when reparenting.

  • UI: Fixing issue with CanvasRenderer sending to many updates when reparenting happens (959254)

  • UI: Fixing issue with ETC1 no longer clearing associatedAlphaSplitTexture causing ETC1 material to be used when it shouldn't (926901)

  • UI: Fixing issue with masking setting a keyword to false when it needs to be true (958177)

  • UI: Fixing issue with not sending the rect changed when parenting changes. (962072)

  • UI: Fixing issue with scale x, y = 0 not working as hit area

  • UI: Fixing issue with showing wrong data in graph due to same stat name as GFX module (930049)

  • UI: Fixing issue with UI profiler memory leak caused by not releasing all stored data. (955744)

  • UI: Force ReapplyDrivenProperties when a RectTransform is awaking from load. (943817)

  • UI: Limit size of text sent text generator to avoid it throwing an error (948059)

  • UI: making the event systems be a list such that you can add multiple, remove one and still have the old system working without having to find every time. (840983)

  • UI: Reverting change to driven property system used by the UI.

  • UI: Skip RectTransform preview when parent width is zero. (859385)

  • UI: updated Image editor warning message to match import settings.

  • Universal Windows Platform: Fix building project when its product name ends with a space or contains unicode characters (885265, 942554, 945345)

  • Universal Windows Platform: Fixed "AssemblyConverter running on already processed assemblies. There is something wrong with your build." error message when building on top of a built project that had its UnityOverwrite.txt file deleted (940463)

  • Universal Windows Platform: Fixed an inconsitent with other platforms error message "Script Error (script name): Update() can not take parameters." when those magic methods are defined in a certain order on .NET scripting backend (950025)

  • Universal Windows Platform: Fixed an issue where Build & Run wouldn't work with VS2017 if a project name had parentheses in it.

  • Universal Windows Platform: Follow up fix for runInBackground (759166)

  • Video: .mov with uncompressed RGBA now supported on OSX. (856784)

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

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

  • Video: Fixed crash when closing Unity with Video preview (938819)

  • Video: Fixed crash when exiting Standalone player with active VideoPlayer (942012)

  • Video: Fixed crash when releasing VideoPlayer outside Play Mode. (930707)

  • Video: Fixed incorrect VideoPlayer naming suffix when drag-anddropping a VideoClip into the scene. (923258)

  • Video: Fixed typo in one of the VideoPlayer editor tooltips (Audio Source). (920816)

  • Video: Fixed VideoPlayer CameraNear/FarPlane RenderModes when used in conjunction with VR

  • Video: Fixed VideoPlayer Preview outside Play Mode. (931846)

  • Video: On Android, videos stop playing when trying to resynchronize. (935659)

  • Web: Fix reading of local files (in Pictures/Documents/User directories) in UWP through WebRequest and WWW (910488)

  • Web: Fixed chunked data upload in UnityWebRequest on Standalone, iOS, Tizen, WiiU

  • Web: Fixed resource leak when aborting a UnityWebRequest that downloads an AssetBundle

  • WebGL: Fix missing progress bar and logo during loading screen (900105)

  • WebGL: Fixed back-buffer anti-aliasing on WebGL1.0 (923698)

  • WebGL: Fixed browser caching of data.unityweb files when Data Caching is enabled in Player Settings. (937594)

  • WebGL: Fixed file:// protocol warning on browsers that don't allow it (926842)

  • WebGL: Fixed Fullscreen mode on Safari (775206)

  • WebGL: Fixed server compression configuration warning (927459)

  • Windows: Fix artifacts when rendering to non-native resolution (930948)

  • Windows: Fix resolution reset when switching from minimized back to fullscreen (950056)

  • Windows: Fixed reading of loca, files in UWP through WebRequest. (910488)

  • Windows: Windows: Fixed switching to full screen from windowed when using dx11. (904471, 923430)

  • XR: Change hard coded GVR Device refresh rate to use Resolution.refreshRate (948896)

  • XR: Eye textures are no longer reallocated every frame when the main camera has MSAA disabled, but it is enabled for the VR device. (919459)

  • XR: Fix an issue with canvas lagging behind when attached to a spatially tracked object while in the editor and play mode. (814569)

  • XR: Fix Cardboard iOS target frame rate (950229)

  • XR: Fix crash in Holographic simulator when trying to exit play mode while paused and VR not enabled (948127)

  • XR: Fix for GearVR HMD touch pad not working with new Input System. (934585)

  • XR: Fix hardware volume controls so they are not locked out in Cardboard (938063)

  • XR: Fixed a number of issues with the VRDevice and rendering in the game view to remove occlusion mesh.

  • XR: Fixed billboard trees moving around in VR as viewer moves or rotates. Also fix VR issue of morphing tree vertices "growing" as camera moves closer to trees (733507, 946544)

  • XR: Fixed CommandBuffer.Blit doesn't work when used in CameraEvent.AfterEverything (918916)

  • XR: Fixed crash when using Android single-pass stereo rendering with the Mock HMD (930458)

  • XR: Fixed incorrect viewport in Single-Pass Stereo when blitting between different sized render textures (945940)

  • XR: Handle Android density (screen resolution) changes without crashing. (950540)

  • XR: Right eye is not rendering with Single Pass rendering and camera has Allow HDR enabled on Android (920106)

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)

News from Unity QA

We’re not just toolsmiths, but wordsmiths too! Read all the Unity QA blogposts past and present.

我们使用 Cookie 来确保为您提供网站的最佳体验。有关更多信息,请访问我们的 Cookie 政策页面

明白了