Unity 2017.3.0

Released:
Select the runtime platforms of your choice from the list below (the desktop runtime is included as standard) or, to install the full complement of runtime platforms, use the download assistant installer above.
New to Unity? Get started

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)

Changeset:
b84f5794ed91

Third Party Notices

For more information please see our Open Source Software Licenses FAQ on the Unity Support Portal

We use cookies to ensure that we give you the best experience on our website. Visit our cookie policy page for more information.

Got it