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 2018.1.0f2

Released:

LTS Release 2018.1.0f2

Released:

2018.1.0f2 Release Notes (Full)

System Requirements Changes

  • Removed support for Windows XP in standalone player builds. Windows Vista is the now minimum supported OS for Windows standalone player.
  • Deprecated support for MonoDevelop. VisualStudio is now the recommended and supported C# editor on both macOS and Windows.

Packages

  • Services: Updated Unity Ads (com.unity.ads) to v2.0.7.

    • Note that this is not to be confused with the Unity Ads SDK version, which is v2.1.1.
  • Services: Updated Analytics (com.unity.analytics) to v2.0.16

  • Services: Updated IAP (com.unity.purchasing) to v2.0.1

  • Services: Updated Standard Events (com.unity.standardevents) to v1.0.13

  • Editor: Added Package Manager UI (com.unity.package-manager-ui) at v1.8.8

    • Note that versions 1.8.X of the package are verified for use with 2018.1. Versions 1.9.x (or newer) may be available for download via the Package Manager UI itself, but are not officially verified for 2018.1.
    • See entry in Features section for further details.

Features

  • 2D: [Experimental] Added experimental API to support Sprite animation.

  • 2D: [Experimental] Added the ability for you to add functionality for Sprite editing in the Sprite Editor Window.

  • Android: Added a new interface, IPostGenerateGradleAndroidProject, with a callback that Unity calls after it generates the Android Gradle project, but before it builds it.

  • Android: Added a new setting, Sustained Performance Mode, which sets a predictable, consistent level of device performance over longer periods of time without thermal throttling.

  • Android: Added ARM64 (also known as AArch64) experimental support.

  • Animation: Added Position Constraint, Rotation Constraint and Scale Constraint components.

    • Also see "Constraint Creation" and "Constraint Activation" items.
  • Animation: Added new Parent Constraint component.

    • Multisource Animation:

  • Animation: Added the Aim Constraint component.

  • Animation: Added weighted tangent support to AnimationCurve.

  • Animation: Constraint Activation:

  • Animation: Constraint Creation:

  • Asset Import: Added support for importing Aim constraints from FBX files.

  • Asset Import: Added support for importing Parent Constraints from FBX files.

  • Asset Import: Added support for importing Point, Orient and Scale constraints from FBX files.

  • Asset Import: Added OnPreprocessAsset callback in AssetPostprocessor (also see API changes) .

  • Asset Import: [Experimental] Added experimental API to generate Textures/Sprites from Importer Settings.

  • Audio: Added Google's Resonance Audio plug-ins.

  • Build Pipeline: Added ability to store and retrieve GameObject references by name through EditorBuildSettings.

  • Build Pipeline: Added new API for changing platform icons. It supports platform-specific icon types and multi-layer icons. See documentation on PlayerSettings.SetPlatformIcons for more information.

  • Build Pipeline: Added new BuildReport API. Building Players and AssetBundles now returns a BuildReport object that allows you to query information about the build process and outputs.

  • Build Pipeline: Android Build & Run now has target device selection in Build Settings. This allows you to deploy to either a specific single device, or to all supported devices simultaneously.

  • Cache Server: Added -CacheServerIPAddress command line argument to connect the Editor to specified Cache Server on startup.

  • Editor: Added a Clear on play button to the Unity Profiler window.

  • Editor: Added a preset class that allows you to save serialized information about a GameObject to a .preset Asset, and apply it later to the same GameObject type.

  • Editor: Added new ObjectFactory API that allows you to create a GameObject using default values. See Scripting API and documentation on Presets for more details.

  • Editor: Added Templates for 3D, 2D, 3D with Extras (Preview), Lightweight (Preview), Lightweight VR (Preview), and High Definition (Preview) to streamline the new user experience with Scriptable Render Pipeline features, as well as to define better starting points for graphical, player, and lighting settings. description description

  • Editor: Unity now compiles Assembly Definition File (asmdef) assemblies on startup, before any other scripts (such as Assembly-CSharp.dll), and does not stop compilation on the first compile error. Uniy loads all asmdef assemblies that succesfully compile and have all their references compiled, then compiles the remaining scripts (Assembly-CSharp.dll and friends). This ensures that Unity packages are always built and and loaded, regardless of other compile errors in the Project.

  • Editor: When running PlayMode and EditMode tests in batch mode, you can now specify which scripting back-end to use, via a Test Settings file.

  • GI: Progressive Lightmapper is now out of preview!

  • GI: [Experimental] Added experimental API for baking sky occlusion in Progressive Lightmapper. The sky occlusion value for a given input position defines what fraction of the sky is visible for that point. It takes into account any static GameObjects. The sky occlusion allows you to apply the correct amount of sky lighting to GameObjects that are otherwise hard to lightmap, such as trees and foliage.

  • GI: [Experimental] Added new experimental C# interface to pass light information to the GI baking back-ends.

  • Graphics: Added dynamic resolution support for Playstation 4.

  • Graphics: GPU Instancing now supports GI.

    • Unity can now automatically batch GameObjects affected by Light Probes, Occlusion Probes (in Shadowmask mode) or lightmaps, with Foward and Deferred pipeline.
    • Unity can send Light Probe and Occlusion Probe data to Graphics.DrawMeshInstanced using the LightProbeUsage.CustomProvided mode.
    • Added New APIs to calculate probe data and copy it to MaterialPropertyBlock: LightProbes.CalculateInterpolatedLightAndOcclusionProbes, MaterialPropertyBlock.CopySHCoefficientArrayFrom, MaterialPropertyBlock.CopyProbeOcclusionArrayFrom.
  • Graphics: Metal: Added support for tessellation using DX11 convention through hull/domain shader stages.

  • Graphics: [Preview] High Definition (HD) Render Pipeline (in preview for 2018.1): a modern renderer built on the Scriptable Render Pipeline (SRP).

  • Launcher: The launcher now allows users to select one of the new project templates when creating new projects. Project templates available currently: 2D, 3D, 3D With Extras (Preview), Lightweight (Preview), Lightweight VR (Preview), and High Definition (Preview).

  • Multiplayer: You can now set Unity up to send you notifications about defined callbacks when there is something to read or the connection is ready to send information.

  • OSX: Added support for IL2CPP scripting backend for Mac Standalone player.

  • Package Manager: Added Package Manager User Interface to allow you to manage a Project's packages and discover new packages.

    • The Package Manager UI is itself a package, at version 1.8.8 at this time. Versions 1.8.x of the package are verified for use with 2018.1. Versions 1.9.x or newer may be available for download via the Package Manager UI itself, but are not officially verified for 2018.1.
    • Open the Package Manager from the Editor main menu (Window > Package Manager).
    • The 'In Project' tab shows the packages (and versions) in the current Project.
    • The 'All' tab shows other packages available for this version of Unity: including preview packages and newer versions of packages in the current Project.
    • The right hand pane shows information about the package, and contains links to the package documentation. description
  • Particles: Added GPU instancing support for Particle System Mesh rendering. description

  • Particles: Added support for Orbital Velocity to the Velocity over Lifetime module.

  • Particles: All Particle Emitter shapes now support reading a Texture for masking and color tinting.

  • Physics: 2D Physics can now use all the cores on a device to run its simulation. See Job Options (Experimental) in 2D Physics Settings.

  • Player: Added an experimental API, UnityEngine.Experimental.LowLevel.PlayerLoop. This allows you to change the order in which Unity invokes engine systems, removes engine systems from the update order, or inserts new C# entry points at any point in the update cycle.

  • Scripting: Added a new command line option, overrideMonoSearchPath, for desktop standalone players (OSX, Windows). This specifies an extra folder to search when Mono is loading assemblies. You can use this to re-use Assets but load different scripts.

  • Scripting Upgrade: Added support for Portable PDBs when running with the new scripting runtime.

  • Scripting Upgrade: Scripting Runtime Upgrade is no longer in Experimental.

  • Video: Added audio sample output API for the VideoPlayer, with support for access from C# or C++.

  • Video: Added support for reading videos from AssetBundles on Android.

  • Web: Added custom certificate validation support to UnityWebRequest. See CertificateHandler script documentation for more info.

  • Web: Added UploadHandlerFile for UnityWebRequest. This sends file contents as a request body, without loading the entire file to memory.

  • Windows: Added support for IL2CPP scripting backend for Windows Standalone player.

  • XR: Added 360-degree stereo image capturing, with support for converting rendered textures (cubemap) to stereo and mono equi-rectangular format for display in VR. Added new API: RenderTexture.ConvertToEquirect().

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

  • XR: Added Standalone player support for stereoscopic 360-degree image capture for VR and non-VR projects on Win64/macOS platforms.

    • Use the 360 Stereo Capture UI checkbox in the VR Editor Settings panel to generate 360-degree capture shader variants when building a Standalone Player.
    • Added PlayerSettings.enable360StereoCapture binding.
  • XR: Added support for capturing stereoscopic 360-degree images for VR and non-VR projects. Added omni-directional stereo (ODS) support in the Shader pipeline for rendering to 360-degree stereo cubemap.

    • Added support for 360-degree stereo cubemap rendering in forward/deferred pipelines, directional/point light shadows, Skybox, MSAA, HDR and post-processing stack.
    • Added ODS rendering support for screenspace shadows via separate ODS world space passes and render textures, to avoid incorrect shadows per eye.
    • Added stereo RenderToCubemap API script support: camera.RenderToCubemap with stereo eye parameter.

Backwards Compatibility Breaking Changes

  • Particles: Removed Legacy Particle System script bindings.

  • Tizen: Removed Tizen mobile support.

Changes

  • Android: Input field character now always appears at the end of text when opening keyboard. (966477)

  • Android: Newly created projects now default to ARMv7 CPU architecture.

  • Android: Removed support for UnityPlayerProxyActivity.

  • Android: SDK Platform 26 now required to build for Android.

  • Android: Unity now creates a 2048-bit RSA key for signing the APK.

  • Android: Updated JDK requirements to JDK 8. This a requirement from the latest Android SDK.

  • Animation: Starting play mode while editing an Avatar configuration will no longer change the current scene. (916586)

  • Audio: Added error message when calling AudioSource.GetSpectrumData or AudioListener.GetSpectrumData with float arrays that are not a power of 2 or are outside the valid range between 64 and 8192 samples. (827154)

  • Editor: Added InspectorWindow.OnPostHeaderGUI callback to allow drawing of custom GUI elements in the inspector window.

  • Editor: Compiling 'unsafe' C# code now requires the "Allow 'unsafe' code" option to be enabled in the player settings for predefined assemblies (Assembly-CSharp.dll, etc.) and in the inspector for Assembly Definition Files assemblies. Enabling this option will make Unity pass the /unsafe option to the C# compiler when compiling scripts.

  • Editor: Removed MonoDevelop 5.9.6 from macOS and Windows installers and deprecated support for it in Unity. Visual Studio for Mac is installed as the C# code editor on macOS and Visual Studio 2017 Community on Windows.

  • Editor: Removed the "Intensity" float field next to HDR texture fields in Material editors. Use the exposure controls in the Color Picker instead.

  • Editor: Substituted "intensity" float field in the Static Emissives tab of the Light Explorer for HDR color field; instead use the exposure controls in Color Picker.

  • Editor: The plug-in code that creates Textures used in rendering with IMGUI should now avoid specifying them in linear space (i.e. should set the linear parameter to false in the Texture2D constructor). Otherwise, GUI elements drawn with such textures might look washed out when the project is working in Linear space (Player Settings > Color space: Linear). (908904)

  • GI: Support for hiding and disabling GI features when making a render pipeline.

  • Graphics: Deprecated PlayerSettings.defaultIsFullscreen. Use PlayerSettings.fullscreenMode instead.

  • Graphics: GraphicsSettings shaders are no longer loaded on startup.

  • Graphics: Metal tessellation: Improved shader importing error reporting for when features are unsupported.

  • IL2CPP: Deprecated BuildOptions.IL2CPP, which never actually did anything. (986326)

  • iOS: Increased min target iOS version to 8.0.

  • iOS: iOS now links with Security framework by default. To remove it, set a pre-processor define DISABLE_WEBREQUEST_CERTIFICATE_CALLBACK and remove "Security" from the list of linked frameworks in Xcode.

  • iOS: ScreenOrientation.Unknown is deprecated.

  • OSX: Metal is now the default graphics backend for Editor.

  • Package Manager: Unity Package Manager project sub-folder was moved from UnityPackageManager to Packages. This is to align the physical path with the logical path of packages. Notes:

    • Projects configured with a NuGet should change their configuration to point to another folder (default repository path for NuGet configuration is \packages). The risk of NuGet and Unity Package Manager sharing the Packages folder is minimal, but we suggest to separate them nonetheless to avoid any issues.
    • When opening a project created with a previous version, a migration flow will copy the content of the UnityPackageManager folder to the Packages folder. It is left to the project maintainer to erase the UnityPackageManager folder and update source control configuration.
  • Services: Replaced web-based Collab history window with improved RMGUI version.

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

  • Universal Windows Platform: Build & Run now defaults to 64-bit player when running on local machine.

  • Web: AssetBundle-related parts of UnityWebRequest have been split into a new module, allowing UnityWebRequest to be used without pulling in AssetBundle module. API change: UnityWebRequest.GetAssetBundle -> UnityWebRequestAssetBundle.GetAssetBundle.

  • WebGL: Removed experimental label from WebAssembly linker target.

  • Windows: Removed support for Windows XP in Standalone Player builds. Windows Vista is the minimum supported OS now.

  • Windows: The Build Player location selection dialog now asks for a folder rather than a file name when building Windows standalone player. The BuildPipeline.BuildPlayer API is not affected by this change. (995320)

  • XR: Standalone UWP applications targeting Windows Mixed Reality now cause the OS to notify you if the Mixed Reality components are not installed or a headset is not connected, rather than silently falling back to non-VR desktop mode.

  • XR: Updated Google VR:

    • to 1.130 for Android
    • to 1.120 for iOS

Improvements

  • Android: Added ability to use the activity attribute when setting max aspect ratio since API 26.

  • Android: Added API 26 and 27 to scripting and the Editor.

  • Android: Added support for Linear Rendering without additional fullscreen blit on Android O.

  • Android: Added GUIUtility.systemCopyBuffer support.

  • Android: Added InputTouch.radius and InputTouch.radiusVariance properties (currently works on a limited set of devices).

  • Android: Improved shader compilation time.

  • Android: Improved Ping class performance on devices supporting ICMP sockets. More information added to Ping scripting documentation. (972519, 1005103)

  • Android: Unity is now slightly smarter about guessing the location of the Android SDK if you didn't fill it out in the Preferences.

  • Android: Unity now imprints the product name into Unity's default Android banner, making it easier to distinguish between apps on Android devices where the banner is used for showing the app.

  • Android: Updated Gradle template to not strip symbols from *.so files, because they already are stripped where needed.

  • Android: [Gradle] Added more variables to build.gradle.

  • Animation: Transition exit time condition now works with negative state speed parameter. (941112)

  • Animation: Using Reset in the Inspector while Recording an animation creates a key for each supported modified property at the current frame. (766821)

  • Animation: AnimationUtility.SetAnimationEvents now sorts AnimationEvents by time. (913430)

  • Asset Import: In optimized mode, if a root bone is specified in the unoptimized SkinnedMeshRenderer and its Transform is exposed, it now stays as it is. Otherwise, Unity sets it to root. (972082, 988438)

  • Audio: Added minDistance/maxDistance information to the native Audio plug-in interface, so spatializers can implement near-field effects.

  • Audio: Fixed Audio Profiler stall of about 0.7 ms in the main loop, which was happening even for empty Scenes.

  • Build Pipeline: The build process progress bar now shows progress updates on shaders that have more than 100 variants to prevent editor from appearing unresponsive during long builds.

  • Documentation: The Scripting Reference now shows which assembly an API is implemented in.

  • Editor: Added lightmap overlap visualization for debugging.

  • Editor: Added Rename option to the the Project view's right-click menu. (773117)

  • Editor: Added the ability to duplicate any read-only sub-asset in the Project View to get a writable copy. Select any sub-asset and go to Edit > Duplicate.

  • Editor: Added time ruler, dynamic grid lines, and the ability to select and zoom to specific intervals in the Profiler timeline.

  • Editor: Added Application.wantsToQuit and Application.quitting events to EditorApplication, enabling the user to control the Editor quit process. (802175)

  • Editor: Added UnityEngine.TestTools.Utils to the Playmode test framework. This namespace contains utility classes to compare 'Vector2', 'Vector3', 'Vector4', Quaternion, Color and float types using NUnit constraints.

  • Editor: Clarified message shown in Build Settings window when the current license does not support the platform. (957929)

  • Editor: HDR color fields in the Inspector now use gradient overlay to indicate underexposed colors where the max color component is less than 1/255.

  • Editor: HDR color fields now always appear with HDR badge in the Inspector, irrespective of their current value.

  • Editor: It is no longer possible to start multiple EditMode or PlayMode test runs at the same time from the Test Runner UI. (945000)

  • Editor: Optimizations to Editor startup time.

  • Editor: Profiler now displays 3 frames of context, and supports jobs spanning more than one frame.

  • Editor: Profiler Window: Improved performance of Hierarchy View.

  • Editor: Redesigned the color picker window with exposure-based HDR controls. description

  • Editor: Reduced some heap allocations incurred every frame when drawing a serialized property with a PropertyDrawer.

  • Editor: Removed a workaround for WebViews that had been added for macOS Sierra 10.12.1. This prevents a warning message in the Editor.log file every time a WebView is added to the main window.

  • Editor: The Editor console window now displays a timestamp from when the entry was logged.

  • Editor: The Mute Audio option in the Editor / Game View now persists after Editor reload. (785243)

  • Editor: Unity now adds references and defines from mcs.rsp to generated .csproj for MonoDevelop, VS Code and Rider.

  • Editor: Unsupported shaders are now grouped in the shader selection dropdown in the Material inspector.

  • Editor: You can now select the text in the Profiler Window's "Details" sections. (787073)

  • Editor: ExecuteMenuItem can now quit the macOS EditorApplication.

  • GI: Creation of LightingDataAsset is now a job.

  • GI: Upgrades Enlighten SDK to version: 3.09.P1.62184

    • Fix for SetThreadAffinityMask crashes, backported from a newer version of Embree (CS-1196)
    • Fix in IffWriter, so that > 4GB file sizes fail instead of corrupting the file. (CS-1193)
    • Fix for CalcPrecomputedVisibilityWorkspaceSize() returning an error (CS-1204)
    • Unity no longer emits warnings for deprecated attributes that the schema definition has assigned default values to.
  • Graphics: - Directly render and sample into depth-cube map without additional color RT.

    • Enabled hardware PCF for shadow point light.
    • Added support for Vulkan.
  • Graphics: Add option to Texture Importer to select red color channel for Single Channel Textures

    • Added support for R8 uncompressed format
    • Added support for EAC_R compressed textures
    • Red channel Single Channel Textures use R8, EAC_R, BC4 formats
  • Graphics: Added new attribute ToggleUI, which you can use to display a checkbox in the Shader's Inspector without generating a keyword (unlike Toggle and ToggleOff). (986865)

  • Graphics: Added support for ETC textures with Texture2D.PackTextures, similar to DXT.

  • Graphics: Added MeshRenderer.subMeshStartIndex property.

  • Graphics: Change to allow you to attach async compute command buffers to Cameras and Lights.

  • Graphics: Enabled instancing flexible array size for Vulkan.

  • Graphics: Improved shader import handling when using #pragma target. If you are not using #pragma geometry, #pragma hull or #pragma domain statements to specify entrypoint functions, Unity drops these shader features (geometry or tessellation) from the internal shader capabilities requirement, allowing greater compatibility across non-DX11 graphics targets. In practise, this now allows using #pragma target 5.0 with Metal, as long as geometry shaders are not used.

  • Graphics: Improved Mesh.CombineMeshes to include only vertices of selected submeshes instead of the entire Mesh. (895464)

  • Graphics: In forward rendering, Unity no longer fetches 2x2 white shadowmask textures when lighting a dynamic GameObject with a Mixed light using baked occlusion. (952761)

  • Graphics: You can now directly render and sample into depth-cube maps without additional color RT. Hardware PCF for shadow Point light is now enabled. Added support for PS4, XB1, desktop GL Core, GLES3, WebGL 2.0, Metal.

  • IL2CPP: Added C++ compiler configuration setting to Player Settings. Note: this setting does not affect platforms which generate an IDE project rather than an executable, such as iOS and UWP.

  • iOS: Added a checkbox to the iOS plugin importer: when checked, the plug-in is added to the "Embedded Binaries" folder. (984264)

  • iOS: Added a default camera usage description when using Vuforia or ARKit. (956291)

  • iOS: Added change to allow you to manipulate the caret position in Input Field with touch when Hide Mobile Input is set.

  • iOS: Added ETC2 as texture format for iOS OpenGL ES3.

  • iOS: Added GUIUtility.systemCopyBuffer support.

  • iOS: Improved iCould capability support in Xcode API.

  • iOS: Improved shader compilation time.

  • iOS: Improved support of the plist specification in Xcode API.

  • iOS: iOS plugin importer extension updated to support new iOS 11 frameworks.

  • Kernel: Improved error messages for YAML file reading so that it also reports filenames, which aids in the resolution of merge conflicts for meta files.

  • Licenses: Improved error handling for command line activation. (834325)

  • Linux: Added ability to allow games to provide their own controller configuration files.

  • Linux: Improved support for unconfigured/non-gamepad joysticks.

  • Multiplayer: Two or more channels can now share the messages order, so that messages which send via differnet channels are delivered in order.

  • OSX: Added Visual Studio for Mac to macOS Installer.

  • OSX: Fixed Editor crash when using GLCore on High Sierra with Intel 6xxx series GPU. (956196)

  • Package Manager: Allow surface shaders compilation when relative path include are used inside a package.

  • Particles: Overriden Prefab values are now indicated/highlighted in the Inspector.

  • Particles: Sub-Emitters can now be triggered when conditions are met in the Trigger Module (e.g. when particles enter a collision volume).

  • Particles: You can now trigger Sub-Emitters from script, using the new TriggerSubEmitter script API.

  • Profiling: Added Editor startup profiling markers.

  • Scripting: Added a scripting callback which is called just before a cube map texture completes importing (AssetPostprocessor::OnPostprocessCubemap).

  • Scripting: Added new GetAllocatedMemoryForGraphicsDriver API. (896812)

  • Scripting: Improved "The referenced script on this Behaviour is missing!" error message to tell you which script is missing, where possible.

  • Scripting: Improved performance characteristics of FindObjectsOfType for scenes with large GameObject count.

  • Services: Updated Unity Ads SDK to v2.1.1. Note that this is via the update of the ads package to v2.0.7 - see 'Packages' section for details.

  • Shaders: Added a more granular way of specifying shader compilation requirements, compared to #pragma target.

    • #pragma require XYZ for specific features that the shader requires.
    • SHADER_REQUIRE_XYZ and SHADER_AVAILABLE_XYZ preprocessor defines are passed to shaders, based on which features are requested or are available.
  • Shaders: Added Windows support for shader include absolute paths longer than 260 characters.

  • Shaders: Compute shaders are now included in the shader cache. For example, tweaking a shader and then reverting the change fetches the shader from the cache instead of recompilation.

  • Shaders: Compute shaders now support #pragma exclude_renderers and #pragma only_renderers.

  • Shaders: Global shader properties are now visible to compute shaders. A global property value is used if the property is not set locally for the compute shader.

  • Shaders: Improved shader compilation speed.

  • Shaders: Proper shader include dependency tracking implemented. Whenever a shader include file is modified all the dependent shaders - and nothing else - will get reimported. (646064, 916386, 957024)

  • Shaders: Surface Shaders with many multi_compile/shader_feature variants import several times faster now (internally, Unity now multi-threads that process).

  • Shaders: You can now use SetPropertyBlock per Material (in the case of the multi-material renderer), and an optional Material index.

  • Shaders: ComputeShader.Dispatch now validates if all the properties are valid.

  • Shaders: UNITY_PASS_FORWARDBASE, UNITY_PASSFORWARDADD, etc. are now also defined for custom vertex / fragment shaders according to the pass type.

  • Timeline: Added support for exposed references on custom TrackAssets. (976409)

  • Timeline: Added support for left trim on recorded Animation Track clips.

  • Timeline: Improved clip visual rendering.

  • Timeline: Improved workflow when autokeying animation tracks that contain clips.

  • Timeline: Introduced new modes for editing clips in the Timeline Editor. description

  • Timeline: TrackAssets now allow multiple TrackClip types through base class specification. (950934)

  • UI: Added the ability to toggle the rounding of advance width. This allows you to get more consistent spacing between characters in a Text Mesh.

  • Universal Windows Platform: Added an option to select which configuration (debug/release/master) should be used when doing Build & Run.

  • Universal Windows Platform: Improved support for building project into longer paths.

  • Video: Added basic video bitrate control in MediaEncoder API.

  • Video: Video Decoding via Job System on many platforms (reducing overall thread count and improving performance).

  • Web: Improved performance for large data download using custom download handler script.

  • Web: UnityWebRequest now accepts URI instances alongside string URL (URI being faster). (944500)

  • WebGL: Added indexedDB caching support for all build files in WebGL and for compiled WebAssembly code.

  • WebGL: You can now override webglContextAttributes.premultipliedAlpha.

  • Windows: Added a completely new, out-of-process crash handler for both the Windows Editor and Windows Standalone Player, improving reliability of error.log and minidump generation.

  • Windows: Added support to enable/disable exclusive mode on Windows through new SetResolution API overload. Consolidated platform specific fullscreen modes into a single cross platform FullScreenMode API.

  • Windows: Multiple improvements in crash handling:

    • Unity applications that enable the Performance Reporting Service now receive Windows crash telemetry.
    • Crash interception is now much more reliable, catching more categories of error, sooner and later in the application life.
    • The crash UX for the player has been updated to remove the wordy English-only error message and display something generic before handing off to WER (which tells the user what happened in their native language).
  • Windows: When installing VS2017, Unity Download Assistant will now also include C++ modules so that IL2CPP builds work out of the box. (1003155)

  • XR: Android builds that support ARCore can now be built using target API version 14 or higher.

  • XR: Improved background rendering performance in ARCore by eliminating an unnecessary OpenGL state reset.

  • XR: Metal: Implemented the remaining draw call functionality (such as Graphics.DrawProcedural) for Single-Pass Stereo rendering, which was missing previously.

  • XR: Updated Vuforia to version 7.1.27.

API Changes

  • 2D: Added DetectChunkCullingBounds to TilemapRenderer to allow for correct culling of large tiles. (971087)

  • 2D: Experimental API TextureGenerator.GenerateTexture now takes in a NativeArrray for image buffer instead of setting an IntPtr in TextureGenerationSettings.

  • AI: Changed struct name in the Experimental API for Navmesh Queries from PolygonID to PolygonId.

  • AI: New experimental API for NavMesh queries, usable within C# jobs: namespace UnityEngine.Experimental.AI; struct PolygonID; struct NavMeshLocation; enum PathQueryStatus; enum NavMeshPolyTypes; struct NavMeshWorld; struct NavMeshQuery with these methods: BeginFindPath(), UpdateFindPath(), EndFindPath(), GetPathResult(), IsValid(), GetAgentTypeIdForPolygon(), MapLocation(), GetPortalPoints(), MoveLocations(), MoveLocation(), PolygonLocalToWorldMatrix(), PolygonWorldToLocalMatrix(), GetPolygonType(), Dispose().

  • Animation: Added AnimationClipPlayable.GetApplyPlayableIK and AnimationClipPlayable.SetApplyPlayableIK.

  • Animation: Moved AnimationUtility.SetGenerateMotionCurves and AnimationUtility.GetGenerateMotionCurves from internal to public.

  • Animation: AnimatorTransitionBase and Motion are now abstract.

  • Animation: AvatarBuilder.BuildHumanAvatar is no longer supported on the .NET scripting backend.

  • Asset Import: Added OnPreprocessAsset callback in AssetPostprocessor. (Also see Features)

  • Asset Pipeline: API manual previously stated that AssetDatabase.GetSubFolders() takes absolute paths, which was incorrect. This has now been updated to relative paths, consistent with other AssetDatabase methods.

  • Build Pipeline: Added EditorBuildSettings API methods: AddConfigObject, TryGetConfigObject, GetConfigObjectNames, RemoveConfigObejct.

  • Build Pipeline: Added IPreprocessBuildWithReport, IPostprocessBuildWithReport, and IProcessSceneWithReport interfaces to provide the BuildReport object during the build process.

  • Build Pipeline: Renamed BuildSummary.errors and BuildSummary.warnings to BuildSummary.totalErrors and BuildSummary.totalWarnings respectively.

  • Build Pipeline: Reverted IPreprocessBuild, IPostprocessBuild and IProcessScene interfaces to their 2017.3 signatures.

  • Build Pipeline: The IPreprocessBuild, IPostprocessBuild and IProcessScene interfaces have been changed to pass the BuildReport object instead of just the path to the build and target platform.

  • Build Pipeline: BuildReport API has been moved to the UnityEditor.Build.Reporting namespace.

  • Editor: Added Application.wantsToQuit and Application.quitting events.

  • Editor: Added EditorApplication.hierarchyChanged event and clarified API documentation.

  • Editor: Added EditorApplication.projectChanged event and clarified API documentation.

  • Editor: Added UnityEngine.TestTools.Utils to the Playmode test framework. This namespace contains utility classes to compare 'Vector2', 'Vector3', 'Vector4', Quaternion, Color and float types using NUnit constraints. (Also mentioned under Improvements)

  • Editor: Explicitly setting the following delegates to null will no longer draw a control handle, instead of drawing using a default implementation: PrimitiveBoundsHandle.midpointHandleDrawFunction, ArcHandle.angleHandleDrawFunction, ArcHandle.radiusHandleDrawFunction, JointAngularLimitHandle.angleHandleDrawFunction.

  • Editor: Explicitly setting the following delegates to null will now result in a handle size of 0 instead of using a default value: PrimitiveBoundsHandle.midpointHandleSizeFunction, ArcHandle.angleHandleSizeFunction, ArcHandle.radiusHandleSizeFunction, JointAngularLimitHandle.angleHandleSizeFunction.

  • Editor: ColorPickerHDRConfig is now obsolete and is no longer used.

  • Editor: EditorApplication.hierarchyWindowChanged is now obsolete, superceded by EditorApplication.hierarchyChanged.

  • Editor: EditorApplication.projectWindowChanged is now obsolete, superceded by EditorApplication.projectChanged.

  • Editor: EditorGUI.ColorField() and EditorGUILayout.ColorField() signatures taking a ColorPickerHDRConfig are now obsolete.

  • Editor: UnityEditor.AndroidTargetDevice is now obsolete, superceded by UnityEditor.AndroidArchitecture. UnityEditor.PlayerSettings.targetDevice is now obsolete, superceded by UnityEditor.PlayerSettings.targetArchitectures.

  • GI: Experimental Lightmapping scripting API now uses NativeArray instead of Lists.

  • Graphics: Added a new API to extract shader information (ShaderData).

  • Graphics: Exposed RenderPipelineAsset.OnValidate and OnDisable methods.

  • Graphics: Graphics.ConvertTexture now supports RenderTexture as source.

  • Graphics: Texture is now abstract.

  • Input: TouchScreenKeybord.done and TouchScreenKeyboard.wasCanceled are now obsolete, superceded by UseTocuhScreenKeyboard.status.

  • Multiplayer: Added GetHostPort function, reporting the port number assigned to the host.

  • Multiplayer: Deprecated unused function NetworkTransport.GetAssetId(). (950325)

  • Playables: New functions in UnityEditor.Playables.Utility to retrieve all the PlayableGraphs and events for when a PlayableGraph is created or destroyed.

  • Playables: New LeadTime feature allowing you to "pre-warm" the data inside the playable node.

  • Playables: PlayableGraphs can now have names.

  • Playables: Playable.ConnectInput can now optionally take a weight for the connected input.

  • Player: Added an experimental API which allows you to change the order in which engine systems are invoked, remove engine systems from the update order, or insert new C# entrypoints at any point in the update cycle: UnityEngine.Experimental.LowLevel.PlayerLoop. (Also mentioned under Features)

  • Player: Added Application.wantsToQuit and Application.quitting events.

  • Player: Deprecated Application.CancelQuit method.

  • Scripting: Added constructor for TextAsset that allows you to specify a string for its text contents.

  • Scripting: Added ShaderUtil.GetAllShaderInfo for listing all available shaders.

  • Scripting: Added Vector2.Perpendicular to calculate a perpendicular vector in 2D space.

  • Scripting: Extended Vector2 to support component-wise multiplication and division between two Vector2 values.

  • Scripting: Made unimplemented parameterless constructors for the following classes private: AudioManager, EditorSettings, GraphicsSettings, InputManager, LightmapSettings, MonoManager,Physics2DSettings, PhysicsManager, PlayerSettings, QualitySettings, RenderSettings, Shader, Sprite, TagManager, TimeManager, AssetBundle, AssetBundleManifest, AudioClip, ComputeShader, LightingDataAsset, LightProbes, MovieTexture, ProceduralTexture, SceneAsset, SubstanceArchive, VideoClip, RuntimeAnimatorController.

  • UI: Added characterLimit property for TouchScreenKeyboard.

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

  • XR: Added XR.WSA.HolographicSettings.IsContentProtectionEnabled.

  • XR: Added XR.WSA.HolographicSettings.ReprojectionMode.

Fixes

  • 2D: Fixed case of snapping being enabled in the Sprite Editor Window's Outline Editor, even if set otherwise. (951918)

  • 2D: Fixed issue where changing Sprite in SpriteRenderer would cause Unity to recreate Collider2D when Collider2Ds auto-tiling was disabled. (971931)

  • 2D: Fixed issue where Unity would not set the Sprite 2D Physics Shape until the 'Edit Physics Shape' tab was opened for the first time after texture import. (985912)

  • 2D: Grid component now renders when the values in CellSize/CellGap are changed. (976408, 998558)

  • 2D: New SpriteRect in SpriteEditorWindow no longer contains data from last inserted SpriteRect. (1001198, 1010061)

  • 2D: SpriteRenderer no longer has a memory leak when in tiled draw mode. (1006814, 1010060)

  • Android: Amazon Kindle Fire no longer experiences screen distortion when a launching a Unity application that does not have a Splash Screen. (900732)

  • Android: Black textures no longer appear after pausing and resuming the Unity app during the splash screen. (952769)

  • Android: Buttons in scroll view should now properly detect input. (885600)

  • Android: Fixed poor Light Cookie quality on OpenGLES2 GPUs that don't have high support in fragment shaders. (908253)

  • Android: Fixed Vertex-Lit Point and Spot light issues seen on some Adreno devices. (949576)

  • Android: Selecting any path for Android sdk/Java/NDK no longer results in a null reference exception. (1010249)

  • Android: Selecting input field on some Samsung and Sony Xperia devices no longer cause a crash. (953849)

  • Android: Shadow quality no longer degrades on OpenGLES2 GPUs when a fragment shader does not support highp (high precision). (919669)

  • Android: The decimal point button on a decimal keyboard is now selectable on older Samsung devices. (973815)

  • Android: Unity applications no longer disable the built-in camera button on Sony Xperia devices. (944797)

  • Animation: Bool properties are now properly restored to their initial value when exiting the Animation window preview. (947491)

  • Animation: Calling AnimationUtility.SetAnimationEvents no longer causes a NullReferenceException. (989647)

  • Animation: Fixed an irrelevant assert in the Animation Component. (943954)

  • Animation: Fixed an issue where the Transition preview did not update when switching transitions in the Inspector. (938053)

  • Animation: Fixed an issue where Unity would reset the Animation mode saving the Scene. (949523)

  • Animation: Fixed an issue where Unity would sometimes not update Animators set to "Cull Completely". (947990)

  • Animation: Fixed case of Timeline sequence not firing animation events. (947918)

  • Animation: Fixed crash in the animation system when using code stripping. (938640)

  • Animation: Fixed issue where not all playables bound to the Animator were evaluated when coming out of culling. (883583)

  • Animation: The parameter now resets to default value when changing override controller. (958173)

  • Apple TV: Fix to only allow to set one layer for Top shelf images. (760436)

  • Asset Import: Clicking on other windows while Avatar Inspector is applying no longer results in random errors. (994383, 1011622)

  • Asset Import: Fixed 90-degree offset of Light and Camera animations from MotionBuilder when pre-rotation, post-rotation and rotation offset values are 0 and use Euler values. (954475)

  • Asset Import: Fixed an issue where the update avatar button would not disappear in the ModelImporter Rig panel. (837263, 990716)

  • Asset Import: Fixed bug where import of FBX with custom framerate would generate AnimationClips with the wrong framerate. (916405)

  • Asset Import: Fixed handling of Object fields on ScriptedImporters so that they can be assigned a value in the inspector.

  • Asset Import: Fixed issue where compressed mesh UVs produce huge serialized data when values are within a very short range. (960280)

  • Asset Import: Fixed issue where FBX models imported from 3DSMax 2018 for the first time have an avatar, even if they contain no animation. (923384)

  • Asset Import: Fixed issue where the Asset selector type is wrong in Material remapping import settings if the Material is already assigned. (971556)

  • Asset Import: Fixed the import of string typed custom properties from FBX files created with MotionBuilder. (956420)

  • Asset Import: Fixed the state of the "Extract Materials" button on the Model Importer Inspector when the names of the imported Materials has changed. (958044)

  • Asset Import: Fixed AssetImporter.GetAtPath when the asset is imported by a ScriptedImporter.

  • Audio: Fix to avoid GC allocations when using audio callbacks on consoles with IL2CPP (though note that the Mono backend still allocates). (1004804)

  • Audio: Fixed a bug on Windows Editor and Standalone builds where Unity would not react to changes in the system audio device list (such as when changing the default audio output device, amongst others). (935547)

  • Audio: Fixed a bug where a very low frequency generated audio clip (< 1000 Hz) would crash Unity. (873683)

  • Audio: Fixed a bug where an AudioSource with the highest possible priority could be virtualized before others. (928587)

  • Audio: Fixed a bug where assigning to AudioSource.clip would additionally stop the AudioSource's currently playing oneshots, also inducing performance spikes. Now it only stops the main clip. (875968)

  • Audio: Fixed a bug where the editor would crash when recompiling scripts while having generated streaming audio clips (AudioClip.Create()). (884965)

  • Audio: Fixed a bug where using Razer Kraken 7.1 headsets as an audio input device (using Microphone.Start()) would throw errors. (946835, 950409)

  • Audio: Fixed a crash when calling AudioSource.SetCustomCurve() with a null argument. (931396)

  • Audio: Fixed a crash when creating audio clips (AudioClip.Create()) inside OnEnable().

  • Audio: Fixed a possible crash when destroying GameObjects with attached custom filters (OnAudioFilterRead).

  • Audio: Fixed a possible crash with bad audio drivers, device initialization is more now robust - also added a diagnostic message in case of failure to open audio devices with expected settings. (916971)

  • Audio: Fixed issue where AudioClips with future time stamps would fail import. (951169)

  • Audio: [RequireComponent(AudioBehaviour)] now works correctly with AudioSources and AudioListeners. (888121)

  • Build Pipeline: An occasional crash when building AssetBundles no longer occurs. (1009641)

  • Build Pipeline: Scripts-only build now requires that the destination directory of the player match the last cached build. Some platforms such as Xbox One and PS4 fail in unclear ways without this requirement. (932403)

  • Build Pipeline: The Icon setting for Linux player & consoles is no longer broken. (1018605)

  • Cache Server: Add check for enough data in protocol version check (943300)

  • Cache Server: Fixed bugs that could potentially cause communication with the Cache Server to stall

  • Cache Server: Fixed caching issue where slashes '/' were in the url parameters were causing the cache key to be corrupted (896779)

  • DX12: Opening a Scene using Android graphics target API and the Editor is using DX12 API no longer causes a crash. (969590)

  • Editor: "OS X Color Picker" is now named "macOS Color Picker" in Editor Preferences. (991730)

  • Editor: A menu item checked state are no longer lost on entering Play mode. (923501)

  • Editor: Added a list of whitelist paths, which will be the only ones to get copied/replaced when cloning a template in project. (996769)

  • Editor: Auxiliary Editor windows with a fixed size no longer contain a maximize button on macOS. (1006807)

  • Editor: Canvas text no longer disappears when the Editor regains focus. (807380, 988399)

  • Editor: Collab updates now reload scenes in the correct order to preserve the value of new script variables. (996118)

  • Editor: Collaborate no longer deletes ignored files when restoring to an older version. (932926, 985130)

  • Editor: Cursor lock no longer engages at unexpected moments on Mac and Windows. (959859)

  • Editor: Deleting the child of a prefab that's nested in a child of itself no longer causes a crash. (956141)

  • Editor: Ensures that Collaborate reloads data in the correct order to avoid losing values of new script variables after update. (996118)

  • Editor: Executing PlayMode tests in batch mode no longer leaves behind a bootstrap scene after execution.

  • Editor: Fixed a crash when importing an skp file. (1004401)

  • Editor: Fixed ALOC_TEMP_THREAD error when entering Play mode. (939779)

  • Editor: Fixed background in Keys tab of Preferences when using the Personal Skin. (931908)

  • Editor: Fixed bug where clicking on the "Swatches" label in Color Picker would not expand preset controls. (976080)

  • Editor: Fixed bug where HDR color swatches in the Inspector were not converted to gamma color space before being displayed.

  • Editor: Fixed bug where pressing Esc would not cancel color sampling eyedropper mode.

  • Editor: Fixed bug where sampling color with eyedropper would not convert sampled color back to linear space when the color field was marked as HDR.

  • Editor: Fixed bug where UnityEvent drawer would not synchronize correctly when displayed using multiple different serialized data streams, such as when displayed in two different windows at once. (974069)

  • Editor: Fixed case of "System is already interested in this transform" errors in some cases. (962008)

  • Editor: Fixed case of asset remaining highlighted when moving last asset out of a folder. (961630)

  • Editor: Fixed case of Color Picker eyedropper preview rendering upside-down in Linux editor.

  • Editor: Fixed case of Color Picker window losing color when intensity is dropped and then increased again while window is still open. (712903)

  • Editor: Fixed case of locks on multiple inspectors getting lost on maximising and restoring views. (775007)

  • Editor: Fixed case of never-ending exception when an invalid character was present on the iOS version string in Player Settings. (986098)

  • Editor: Fixed case of object skipping its initial position when using the Transform Tool or the Universal Tool + (Control/Command) key. (964593)

  • Editor: Fixed case of scene view picking sometimes not selecting the topmost object when loading previously serialized window layout. (943051)

  • Editor: Fixed case of EditorConnection removing registered callbacks when player disconnects.

  • Editor: Fixed crash from "RenderSelectionOutline" when using ImageEffectAllowedInSceneView and setting camera's targetTexture to null. (966404)

  • Editor: Fixed Editor crash when closing 2 custom editor windows at the same time. (967778)

  • Editor: Fixed Editor hang when merging files with Collaborate. (971434)

  • Editor: Fixed error when using "Static" checkbox on a game object with children. (962453, 964436)

  • Editor: Fixed exception while selecting Android NDK in preferences and clicking Cancel when NDK path is invalid. (909635)

  • Editor: Fixed GUI state scoping issues. (967017)

  • Editor: Fixed hard crash in Linux editor when a progress bar supplied a very long string.

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

  • Editor: Fixed issue whereby RequireComponent would cause components on prefabs to be duplicated on play. This would happen if the user added a new component (of the same type) and removed the original. (778588)

  • Editor: Fixed issue with uXML asset preview being clipped incorrectly. (960313)

  • Editor: Fixed moving assets around when ctrl/cmnd buttons are pressed (938735)

  • Editor: Fixed OnSceneUnload being called when switching focus away from objects with materials (946988)

  • Editor: Fixed pinging newly created objects (766150)

  • Editor: Fixed plugin setting "Exclude Platforms" having no effect. (873575)

  • Editor: Fixed project view sorting file names with long numbers incorrectly (681738)

  • Editor: Fixed random hangs during Editor startup. (954607)

  • Editor: Fixed scrolling down to the last selected item in a one column layout when selecting or desecting an item (800606)

  • Editor: Fixed the "Add component" window reseting the search after domain reload (946012)

  • Editor: Fixed top right-hand scene view gizmo to update projection type label correctly when setting SceneView.lastActiveSceneView.orthographic (878205)

  • Editor: Generated Visual Studio Solutions will now reference module assemblies, fixing use of PS4 and WebGL API in VS projects. (967854)

  • Editor: Items in the AddComponent dropdown are now sorted by name.

  • Editor: Layout orientation of AudioMixer window now persists after being closed / reloaded. (776811)

  • Editor: Made ObjectSelector's text field react to Home and End button (762158)

  • Editor: Made subasset textures visible when searching (788431)

  • Editor: Mip-level slider now works on Metal (900891)

  • Editor: Now batching and tier settings are correctly restored after exiting from playmode (965811)

  • Editor: Removed UnityConnect error output from console window. (963815)

  • Editor: The crash in scripting_stack_trace_info_for when opening Projects where loading of assemblies fails no longer exists. (1005030, 1005520)

  • Editor: The Game View no longer has a bug that stops it updating in some layouts. (988147)

  • Editor: Throw ArgumentNullException instead of crashing if null Asset/ChangeSet are passed to VersionControl Provider methods. (922714)

  • Editor: [Collab] Fix to prevent snapshot from getting updated when publish fails with copy file error. (952686)

  • Editor: [OSX] Exceptions are no longer thrown in GUILayoutUtility.BeginLayoutGroup after pressing Cancel button in a dialog window. (971204)

  • Editor: InspectorWindow.OnSelectionChange() callback during certain operations no longer causes a null reference exception. (851988, 970700)

  • Editor: Profiling.Recorder now picks up all dynamic markers visible in Profiler. (881136, 1006484)

  • GI: An error code is no longer reported when switching Scene visualization mode to Indirect or Emissive due to a lack of data. (997954)

  • GI: Assigning a Light Probe Group to Anchor Override Parameter on a Mesh Renderer component no longer causes errors or crashes the Editor after some time. (1002580)

  • GI: Building Standalone no longer throws ... program 'frag_surf': Unrecognized sampler 'samplerunity_lightmap' .. error with specific shaders. Shadowmasks now use their own sampler. (955176)

  • GI: Double-sided GI is now able to be rendered when an occluder uses a transparent texture. (981329)

  • GI: Exiting play mode with realtime GI enabled no longer causes a memory leak. (991939, 1007945)

  • GI: Fix for issue where there is no available job slot but jobs are being issued nonetheless.

  • GI: Fixed an assert caused by an incorrectly triggered Lighting Data Asset write. (985915, 1010124)

  • GI: Fixed case of assert kValidSceneObjectIdentifier == res firing after selecting a prefab and its preview window is visible. (955674)

  • GI: Fixed case of default specular reflection texture containing object from the scene when Umbra is enabled. (975325)

  • GI: Fixed case of Reflection Probes always including Terrain objects even if they are not Reflection Probe Static. (863968)

  • GI: Fixed case of scene becoming completely black after clicking 'Generate Lighting' button. (973666, 988957)

  • GI: Fixed crash when trying to access the "Baked Lightmap" parameter of a Terrain. (952939)

  • GI: Fixed issue where in standalone the skybox would disappear after switching active scene, whereas in the editor the skybox would remain. (828440)

  • GI: Fixed issue where IsLightmapBakeTypeSupported() GCAlloc's 17B every frame when CPU usage is 0.0% (986319)

  • GI: Lightmaps now bake correctly after the first bake. (1006916)

  • GI: Progressive Lightmapper: Fix to composit shadowmasks correctly. (953780)

  • GI: Receive Shadows and Cast Shadows options in Progressive Lightmapper now work as expected. (953108)

  • GI: The EnlightenRuntimeManager no longer has a small memory leak that resulted in failure to free texture wrapper objects. (991939, 1007945)

  • GI: The output for spotlights from the Progressive Lightmapper is no longer too bright when compared to the output from Enlighten. (953775)

  • GI: The Progressive Lightmapper now correctly deals with all quad faces in models. (908068)

  • Graphics: A rare crash when you enable seam stitching on an object packed to the boundary of a lightmap no longer occurs. (1000350)

  • Graphics: A rare deadlock in CreateGpuProgram when you enable graphics jobs no longer occurs. (934897)

  • Graphics: Added GetColor API to MaterialPropertyBlock. (942523)

  • Graphics: Added support for Cube RenderTexture as a cookie on PointLight. (999718)

  • Graphics: Black screen on devices that do not support RGBA16F rendering to texture no longer occurs. (989654)

  • Graphics: Boxing in the GI system no longer causes small per-frame allocations. (986319)

  • Graphics: Fix crash when script is creating a culling group, but fails to call SetBoundingSphere.

  • Graphics: Fix for deadlock in graphics command buffer when updating constant buffers. (986772, 995312)

  • Graphics: Fix for leaking texture IDs associated with the depth textures on some platforms.

  • Graphics: Fix to avoid attempting to render LineRenderers with huge vertex counts. (977228)

  • Graphics: Fixed case of incorrect realtime sampling of gradient ambient. The previous behavior can be re-enabled by setting UnityEditor.Experimental.RenderSettings.useRadianceAmbientProbe to true. (673298)

  • Graphics: Fixed case of objects using HideAndDontSave being visible in preview windows after being disbled and re-enabled. (963576, 994424)

  • Graphics: Fixed case of splash screen flickering if background color alpha is not 1. (901782)

  • Graphics: Fixed crash in SkinnedMeshRenderer::PrepareSkinCommon when SkinnedMeshRenderer has Animator and Cloth attached. (941369)

  • Graphics: Fixed crash on Mesh.ClearBlendShapes (972060)

  • Graphics: Fixed crash when using shadow-casting Lines/Particles/Trails with SRP. (985077)

  • Graphics: Fixed Flare constructor returning null object.

  • Graphics: Fixed issue where the TrailRenderer didn't drop a point at its spawning location. (978250)

  • Graphics: Fixed Material ctor crashing with null shader/material (now it will correctly throw managed nullref exception) (971263)

  • Graphics: Fixed occasional crash seen when using marquee selection on dynamic geometry such as Particles, Lines and Trails. (1021655)

  • Graphics: Fixed OpenGL errors in the Editor due to mismatched of color and depth MSAA samples.

  • Graphics: Fixed Vulkan multiple display support.

  • Graphics: Metal: Fix occassional GPU hang/crash when dispatching compute shader (950983)

  • Graphics: No longer an inconsistency in UI between lighting group and material group functionality in the MeshRenderer component. (969494)

  • Graphics: Renderer AABB position is no longer reset to zero in case of zero extents (856906)

  • Graphics: We no longer create OSX GLCore compute shader variants when they are not supported. (989250)

  • IL2CPP: Corrected the behavior of DateTime.TryParse with the .NET 4.6 profile. (948887)

  • IL2CPP: Fix to allow link.xml files to contain comments at the beginning of the file. (956493)

  • IL2CPP: Fix to prevent an intermittent crash in the GC on PS4. (955991)

  • IL2CPP: Fixed ArgumentException when accessing Socket.LocalEndPoint on .NET 4.6. (943671)

  • IL2CPP: Fixed crash when calling Socket.GetSocketOption using the latest scripting runtime. (952403)

  • IL2CPP: Fixed unimplemented COM related internal calls in System.Runtime.InteropServices.Marshal class, such as QueryInterface. (930386)

  • iOS: "Done" and "Cancel" buttons are no longer missing from the keyboard in landscape mode on iPhone X. (966702)

  • iOS: Added a Provisioning Profile type property. It is set automatically for profiles available locally, or via a dropdown if it's not available. (1018835)

  • iOS: Changed default iOS launch screen color to the same (black) color as the Unity default launch screen.

  • iOS: Changing Screen.autorotateToXXX should now work properly. (974181)

  • iOS: DTD declaration is no longer missing in plist files written by Xcode API.

  • iOS: Fixed Screen.dpi return value for iPhone 8/8+/x. (960914)

  • iOS: FMOD no longer fails to initialize if the app is minimized during launch. FMOD now re-initializes if this happens. (915971)

  • iOS: iOS8 : The correct screen size is now used when you change screen orientation from a script. (997885, 1004720)

  • iOS: Keyboard now open correctly when switching between input fields. (789270)

  • iOS: Metal: RenderTexture.DiscardContents should now work properly on Metal. (930907)

  • iOS: Screen no longer flickers during screen autorotation. (956026)

  • iOS: Screen no longer flickers when you change the orientation via script (953524)

  • iOS: Team Signing ID is no longer hidden when switching to manual signing. (960657)

  • iOS: UnityViewControllerBase+iOS.h is now compatible with Objective-C. (793420, 1018836)

  • Kernel: Corrected spelling mistakes in editor log output. (966081)

  • Kernel: Fix a precision issue on AMD cpu for windows and linux platform (953111)

  • Kernel: Fix scripting math Quaternion.Angle function so it returns 0 when quaternions are considered equal by operator== (955655)

  • Licenses: Clicking the NO button on the "Confirm" pop-up while returning the license View no longer causes a crash. (991220)

  • Licenses: Fixed issue in license time verification logic when timezone changed. Previously a time verification error could be reported. (960760)

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

  • Linux: Fixed a Progressive Lightmapper crash in the Linux Editor. (913799, 1013759)

  • Multiplayer: Fixed issue with scene id determinism during scene post processing. (935230)

  • OSX: "Do you really want to quit?" dialog no longer appears when closing windows in macOS Standalone build. (984155)

  • OSX: CMD-Q and Quit menu option fixed for Unity launcher on macOS. (978777)

  • OSX: Fixed FPS no longer drops in the Editor when you set Graphics API to OpenGLCore and when you turn V.Sync Count "Every V Blank" on. (950318)

  • OSX: Game no longer continues to run when you minimize the Standalone build, and regardless of whether the user was active on another application. (776557)

  • OSX: Game no longer receives mouse input when running in the background on macOS. (758806)

  • OSX: Hidden cursor no longer fails to hide when moved down to Dock. (858220)

  • OSX: Input from USB mouse no longer disables further touchpad input in Input.GetAxis on MacBooks. (842835)

  • OSX: Mac native resolution is now set correctly. (792350)

  • OSX: Metal: Metal no longer hangs when using MSAA on OSX 10.11 on Nvidia GPUs. (952826)

  • OSX: Resizing the Standalone game window on Mac no longer causes flickering. (852470)

  • OSX: Second screen can now be displayed on macOS when the built Scene is 64-bit or Universal. (959498)

  • OSX: The close button is no longer grayed out and unavailable for the Editor main window. (985142)

  • OSX: You can no longer play a built Scene in higher than desktop resolution in windowed mode. (962469)

  • Package Manager: Cancelling a package manager operation through the progress bar no longer results in a crash. (1011686, 1014739)

  • Package Manager: Cured an uncaught exception in the upm startup sequence, which could result in failure to start Unity. (1003077)

  • Package Manager: Fixed a permissions issue on Windows that would prevent package metadata from being updated. (1003070, 1024322)

  • Package Manager: Packaged assets are now reimported when appropriate, when switching build target or graphics API. (1018493, 1019200)

  • Package Manager: Switched Packages folder name to UnityPackageManager in order to prevent conflict with nuget. (941516)

  • Particles: Fixed issue where particle bounds were not being calculated correctly when transform scale was non-uniform. (977520)

  • Particles: Fixed issue with Align to Velocity and 3D Rotation where local space particles could align inconsistently. (970786)

  • Particles: Fixed some inconsistencies with Pivot Offset and Bounding Boxes when using particle meshes. (962121)

  • Particles: Implemented more accurate handling of start delay and non-fixed-update. (971841)

  • Particles: Receive Shadows checkbox is now always ticked when using Deferred Rendering. (960622)

  • Physics: Corrected error message when changing Mesh on Skinned Mesh Renderer on GameObjects that have a Cloth Component. (950424)

  • Physics: Disabled cloth now inherits its parent's transform. (946307)

  • Physics: Editor no longer freezes for a long time when adding a Cloth component to a Mesh with high vertex count. (956856)

  • Physics: Fixed a crash on project load that was caused by tiny meshes. (953083)

  • Physics: Fixed crash in PhysicsManager::SetColliderTransform, which would be triggered when entering Play mode after reloading a scene that had changes on disk. (958230, 983579)

  • Physics: Physics Debugger's layer mask now filters GameObjects correctly. (948201)

  • Physics: Prevented crash when loading new scene and activating a Cloth GameObject in a coroutine. (951789)

  • Physics: Prevented potential crash in Rigidbody::GetVelocity() when opening certain scenes. (955697)

  • Physics: Set cloth pointer to null in SkinnedMeshRenderer when deactivating, to prevent the SkinnedMeshrenderer from trying to use a de-allocated cloth object. (946356)

  • Physics: When performing a transform change that causes a Collider2D to be recreated, we now ensure that any existing pending physics moves do not cause a crash. (1017868)

  • Scripting: Added support for IPv6 on Android with the .NET 2.0 profile (803576, 804510)

  • Scripting: Added support for IPv6 on Android with the .NET 2.0 profile. (803576, 804510)

  • Scripting: C# compiler error when using implicit operators and Nullable no longer occurs. (970493)

  • Scripting: Calling MethodInfo.GetParameters() no longer causes a crash. (1006251)

  • Scripting: Crash at mono_class_array_element_size when opening iOS project that contains IAP plugin no longer occurs. (980669, 998787)

  • Scripting: Error no longer being logged to the console when you modify a MonoBehaviour-derived script that is attached to a GameObject to a ScriptableObject-derived script. (946510, 947929)

  • Scripting: Fix issue with scripts in the editor being compiled with ENABLE_IL2CPP instead of ENABLE_MONO in some cases

  • Scripting: Fix menu items not getting removed when changing the MenuItem name and it contains consecutive forward slashes (916305)

  • Scripting: Fixed deadlocks and pauses when using System.Threading.Monitor. (827984)

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

  • Scripting: Fixed potential crash when calling Activator.CreateInstance() on an array type. (964848)

  • Scripting: GameObjects that are being disabled or destroyed no longer start coroutines. (863131)

  • Scripting: Indexing into an array with negative values no longer produces an IndexOutOfRange exception on x64. (967679)

  • Scripting: MonoDevelop: Fix startup-crash on macOS 10.13 when using multiple monitors (955089)

  • Scripting: Prevented garbage collection allocations when invoking UnityEvents if the event handler does not use the parameters. (967201)

  • Scripting: Prevented StopCoroutine from not working with nested IEnumerator coroutines. (935955)

  • Scripting: Text written to System.Environment.Out is no longer flushed to disk character-by-character.

  • Scripting: The Mono C# compiler no longer hangs while compiling certain C# scripts. (948492)

  • Scripting: HashSet.TrimExcess no longer results in a memory use increase. (969832)

  • Scripting Upgrade: Awaiting continuations that spawn more continuations no longer cause a hang. (1004428)

  • Scripting Upgrade: Calling NativeArray.Equals no longer causes a crash. (1005597)

  • Scripting Upgrade: Fix ScriptUpdater not running when building some players leading to "Recursion error" message logged (952674)

  • Scripting Upgrade: Fixed crash in the updater when scripts contains a call to NetworkConnection.TransportRecieve() (951261)

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

  • Scripting Upgrade: Fixed pinvoke structure alignment on Android. (915869)

  • Scripting Upgrade: Text fields in the Editor can now accept strings with unmatched surrogate characters. (939578)

  • Scripting Upgrade: Type.GetInterface now finds the specified interface on .NET 4.6 (985462)

  • Services: Building in Cloud Build with Performance Reporting enabled no longer causes an exception. (996949)

  • Services: Fixed case of local assets being overwritten during Collab update. (952569, 1008212)

  • Services: Fixed issue where the Editor would fail to build project when Performance Reporting is enabled but the service was unavailable. (980543, 1022106)

  • Terrain: The crash in SplatMaterials::FindMaterialProperties when opening a Scene with specific Material and Terrain combination no longer occurs. (919769)

  • Timeline: A hang no longer occurs when you use a Prefab instance with the same Prefab on a control track. (989856)

  • Timeline: Audio waveform now refreshes on re-open. (927126)

  • Timeline: Bindings no longer fail on first track with inline curve open. (998182)

  • Timeline: Changes to inline curves are now applied immediately on custom tracks. (976036)

  • Timeline: Copied groups are no longer being saved under the wrong Timeline. (991434)

  • Timeline: Corrected inability to drag multiple clips to another track. (908228)

  • Timeline: Custom track properties now show in Inspector. (989269)

  • Timeline: Dragging a clip in the timeline and releasing drag outside of the timeline window no longer freezes clip. (946823)

  • Timeline: Finder window no longer shows 'none' when creating a Timeline asset on OSX. (998190)

  • Timeline: Fixed Animation Clip offset issue when dragging from the project view to an override track. (906895)

  • Timeline: Fixed issue where arrow would not show when you trimmed the right side of the clip, but would show when you extended it. (881902)

  • Timeline: Selecting a clip in Play mode no longer throws a NullReferenceException. (996000)

  • Timeline: Shift+, / Shift+'.' shortcuts now work when inline curves are selected. (952552)

  • Timeline: Timeline Editor no longer loses scroll position when you enter Play mode. (876341)

  • Timeline: Timeline no longer causes GC allocations under 4.6 scripting runtime. (998642)

  • Timeline: Timeline now shows the rename field after creating a Timeline Asset. (995886)

  • Timeline: Tracks and clips copied across Timelines no longer retain links to the original ones. (979587)

  • Timeline: Tracks no longer duplicate names when copied to a new Timeline. (923360)

  • Timeline: Undo on root motion offset manipulator now works. (974289)

  • Timeline: Undoing a clip move no longer throws an ArgumentOutOfRange exception. (927807)

  • UI: Fix hover issue when using mouse wheel to scroll in a scrollview (959647)

  • UI: Fix to recompute the RectTransform for a Canvas when it is enabled/added. (1008313)

  • UI: Fixed a bug preventing renaming UI objects after duplicating them. (950420)

  • UI: Fixed a crash caused by UI Mask on Buid & Run when material is null. (935112)

  • UI: Fixed an issue where calling ClearProgressbar did not remove the progress bar in synchronous code in the Editor on MacOS.

  • UI: Fixed problem with ScrollRect size recalculation on start. (950200)

  • UI: Graphics raycaster no longer returns the wrong object if the distance between two rays is very small. (974500)

  • UI: Input Field now responds to character limit without delay on iOS and Android

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

  • UI: The default UI shaders no longer ignore tiling and scaling. (722133)

  • UI: The RectTransform is now switched to permanent registration to listen to position changes if disabled. (959492)

  • UI: The value shown on start in Text elements now refresh in order for prefab overrides to apply correctly. (975553)

  • UI: UI no longer constantly sends out transform update messages for a canvas that moves, as this causes Physics systems to misbehave. (889350)

  • UI: We no longer modify the scene when setting or clearing UNITY_UI_CLIP_RECT for rendering purpose. (967024)

  • Universal Windows Platform: App icons of certain sizes that did not appear in the manifest of the exported Visual Studio project before now do. (949269)

  • Universal Windows Platform: Incorrect error message is no longer thrown when doing Build & Run to a phone device when it is not connected. (923345)

  • Universal Windows Platform: Removed an error message that was previously printed to the log when the clipboard contents changed, but the app had no permissions to read it. (916357)

  • Video: Fixed case of erroneous frame increments when in paused state. (937167)

  • Video: Fixed Media Foundation block using H264 videos on Windows. (964280)

  • Video: [Mac] Fixed issue where certain h264 video clips would stop playing or lag after a few seconds if playing on a low-spec hardware. (930947)

  • Web: [UnityWebRequest] The CompleteContent not being called error in download handler on HTTP no longer exists. (954119)

  • WebGL: Application.isMobilePlatform no longer returns false on WebGL Projects launched on mobile browser. (911870)

  • WebGL: Black screen no longer shows during loading. (900105)

  • WebGL: Browser model is now detected correctly in Microsoft Edge. (943241)

  • WebGL: Fixed UnityLoader backwards compatibility (5.6 and 2017.1 builds would fail when using 2017.2+ loader).

  • WebGL: Mouse no longer gets stuck in state of GetMouseButton(0) after mouse drag. (905712)

  • WebGL: Slashes no longer missing from blob url. (940942)

  • WebGL: WebAssembly build now works even when memory size is not a multiple of 16. (955246)

  • WebGL: Webcam is now supported on Firefox and Safari. (1005628)

  • WebGL: WWW/UnityWebRequest.isHttpError is now set correctly on 404 error (File not found). (988784)

  • WebGL: /b is no longer added to inputString on keyup event. (981495)

  • WebGL: AudioSource.pitch is zero now has no divide by zero problem. (946393)

  • WebGL: SHADER_API_MOBILE is no longer defined on WebGL 2.0.

  • Windows: Builds with IL2CPP scripting backend can now print out C++ compilation errors if compilation failed when using VS 2017 Update 6.

  • Windows: Moving the window while the mouse cursor is locked no longer causes the window to go out-of-screen. (932978)

  • XR: Android VR terrain trees no longer rotate with camera. (956544)

  • XR: API used in deprecation warning/error is now updated. (942738)

  • XR: Cardboard iOS target frame rate is now correct. (950229)

  • XR: Corrected Podfile version number. (962253)

  • XR: Fixed inconsistency between generic and WSA-namespace code paths defining whether the select button is pressed. (954940)

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

  • XR: No longer a crash in the Holographic simulator when you try to exit Play mode while paused and VR is not enabled. (948127)

  • XR: The (Failed to get spatial interaction controller...) and WinRT errors (SpatialinteractionSourceLocation.SourcePointerPose failed ...) on WindowsMR no longer happen. Before they were occurring under normal expected conditions.

  • XR: There is no longer a TEMP_ALLOC error and warning messages in the console when using an XR-related package.

  • XR: Tracked Pose Driver no longer causes a crash when using the VR Mock Test Device. (966990)

  • XR: Unity now issues a warning message when user tries to reload a VR Device that is already loaded. (996223)

  • XR: GrabPass no longer grabs only one eye with Single Pass Rendering Method. (953360)

  • XR: ScreenCapture.CaptureScreenshot() no longer captures screenshots incorrectly when stereo instancing is enabled. (970906)

Known Issues

  • Editor: Editor Skin becomes grey when player settings are changed from outside the Editor - for example, when fetching a project from Collab for the first time or when modifying the project by hand. Restarting the Editor clears the issue. (994405)

  • GI: When working with instances generated through level geometry tools (i.e. Terrain/ProBuilder), Progressive Lightmapper restarts baking for every change by the user. In doing so it distrupts level authoring workflow. This can be seen on newly created 3D projects since Progressive Lightmapper is on by default for new 3D projects. Will be addressed post 2018.1.0 release. (1028364)

  • Graphics: Render Pipeline HD - Errors are spewed after package is installed. Will be addressed in a patch release. (1004692)

  • Graphics: Lightweight (Preview) and Lightweight VR (Preview) templates don't build on UWP with the bundled LW pipeline. Update to the latest version of the LW pipeline package (com.unity.render-pipelines.lightweight) to overcome this issue. (1025523)

  • OSX: [OSX 10.13][2018.1] Rapidly switching between 2 Game view tabs multiple times may freeze or crash the Editor when rendering with Metal. Note: it's much harder to reproduce on the latest 10.13.4 Beta (17E160e). (991828)

  • Particles: Line Renderer is rendered in the Scene and Game windows when you select a GameObject in the Project window. Will be addressed post 2018.1 release. (972298)

  • Scripting: Editor crashes when opening external folder through MenuItem (1018162)

  • XR: VRModule may be stripped when using IL2CPP with 'Strip Engine Code' enabled, resulting in build not entering VR mode. See https://forum.unity.com/threads/2018-1-il2cpp-vrmodule-stripping-issue.528799/ for details on how to work around this issue. Will be addressed post 2018.1 release.

2018.1.0f2 Release Notes (diff since 2018.1.0f1)

Fixes

  • Asset Import: Fixed crash when importing framework plugins inside Assets/Plugins/iOS folder. (1021172, 1025454)

  • Editor: Fixed issue whereby it was not possible to clear console compile errors that were reported during compilation of .asmdef assemblies on startup. (1027989)

  • Package Manager: Fixed package manager loading time and responsiveness issues. (1004307, 1024102)

  • Physics: Fixed crash inside the 2D physics contact cache allocator. (1023737)

Revision: d4d99f31acba

LTS Release 2017.4.2f2

Released:

LTS Release 2017.4.2f2

Released:

Improvements

  • 2D - Added parameter to Sprite.Create to specify if a fallback physics shape is generated. False by default.
  • Android - Added API 26 and 27 to scripting and Editor.
  • Audio - Fixed audio profiler slowness caused by iteration of unused channels attached to the FMOD master group.
  • Metal - Enabled 32bit index buffer support on Intel GPUs starting macOS 10.13.4.
  • Mobile - Improved Ping class performance on devices supporting ICMP sockets, more information in Ping scripting documentation.

Fixes

  • (1016640) - Android: Fixed apk signer v2 being used when building Oculus apps with gradle.
  • (1014623) - Android: Fixed incorrectly including files to noCompress when their extensions are already included by default.
  • (986780) - Android: Disabled warnings in ProGuard by default; fixes build errors with 3rd party plugins.
  • (1009641) - Asset Bundles: Fixed crash when building Asset Bundles.
  • (1008371) 1006573 - Core: Fixed a regression in memory usage at startup in Editor and Player.
  • (975341) 956741 - DirectX 12: Fixed Standalone crashing when using DestroyImmediate on a Texture2D when graphics jobs are enabled.
  • (1014167) - Editor: Fixed starting Unity from the Unity Hub disables File menu and other key bindings.
  • (966404) - Editor: Fixed Editor crashes in "RenderSelectionOutline" when using ImageEffectAllowedInSceneView and set camera's targetTexture to null.
  • (1016691) 978204 - Editor: Fixed opening project in editor causing newly spawn instance to get stalled/suspended.
  • (963576) - Graphics: Fixed objects using HideAndDontSave being visible in preview windows, after being disabled and enabled.
  • (1009868) - Graphics: Fixed Tangents on the LineRenderer, which would cause Normal Maps to look incorrect.
  • (1021655) - Graphics: Fixed occasional graphical corruption when using marquee selection on dynamic geometry, such as Lines, Particles and Trails.
  • (1017529) - Graphics: Fixed LineRenderer scripting bug where start/end width would sometimes not update correctly if set from script.
  • (1019586) - IL2CPP: Prevented an error during code conversion related to a missing RGCTX entry for type T that can occur with an unbox opcode for a nullable type.
  • (1021529) 1013634 iOS: Fixed showing both orientation custom Launch Images on Landscape orientation.
  • (1016731) 991204 - iOS: Fixed build failing with error "DXT1 compressed textures are not supported when publishing to iPhone".
  • (967197) - iOS: Fixed an audio crash when moving an app to the background, and back to the foreground.
  • (947049) - Linux: Fixed Linux touch input for mouse events.
  • (978602) - Mobile: Fixed screen flicker when launching Handheld.PlayFullScreenMovie.
  • (1008385) - Multiplayer: Fixed editor crashing in AddWebsocketHost on a second instance using the same port.
  • (1006947) - Particles: Improved Dynamic Batching when systems with 0 particles exist in the scene.
  • (1013161) - Particles: Fixed Rate Over Distance script setter property.
  • (1006435) - Particles: Fixed crash in AnimationCurveTpl::Evaluate when setting XYZ curves to mismatched modes via script.
  • (994938) - Particles: Fixed rare case where bounding boxes could be incorrect on procedural systems.
  • (998680) - Particles: Fixed invalid bounding box errors when using scripted emission.
  • (976785) - PS Vita: Fixed video sample project so it correctly initialises the render texture before playing a video, and cleaned up some error and warning messages.
  • (991010) 981757 - Scripting: Fixed crash on the .NET backend when calling Unity APIs that take structs with with bool fields.
  • (1011626) - Scripting: Fixed crash when taking memory snapshot.
  • (989777) - Shaders: Fixed GLSL TranslateVariableNameWithMask() printing a swizzle on a wrong place.
  • (919351) - Shaders: Fixed an issue with the Shader Compiler which would result in GLSL based platforms not being able to compiler certain shaders.
  • (1006986) - Timeline: Fixed Copy/Paste between Timelines causing Groups Tracks to have incorrect parent.
  • (986040) 972997 - Video: Fixed flickering video playback on iOS/Metal.
  • (1017468) 976010 - WebRequest: Fixed crash when aborting AssetBundle download using UnityWebRequest.
  • (998331) - XR: Fixed XR.WSA.WorldManager.OnPositionalLocatorStateChanged() not getting called when state changes back to active.

Revision: 52d9cb89b362

LTS Release 2018.1.0f1

Released:

LTS Release 2018.1.0f1

Released:

2018.1.0f1 Release Notes (diff since 2018.1.0b13)

System Requirements Changes

  • Removed support for Windows XP in standalone player builds. Windows Vista is the now minimum supported OS for Windows standalone player.
  • Deprecated support for MonoDevelop. VisualStudio is now the recommended and supported C# editor on both macOS and Windows.

Known Issues in 2018.1.0f1

  • Physics: Crash FixedSizeAllocator<3584>::alloc while in Play mode (1023737)

Known Issues - won’t be fixed in 2018.1

  • GI: When working with instances generated through level geometry tools (i.e. Terrain/ProBuilder), Progressive Lightmapper restarts baking for every change by the user. In doing so it distrupts level authoring workflow. This can be seen on newly created 3D projects since Progressive Lightmapper is on by default for new 3D projects. Will be addressed post 2018.1.0 release. (1028364)

  • Graphics: Render Pipeline HD - Errors are spewed after package is installed. Will be addressed in a patch release. (1004692)

  • OSX: [OSX 10.13][2018.1] Rapidly switching between 2 Game view tabs multiple times may freeze or crash the Editor when rendering with Metal. Note: it’s much harder to reproduce on the latest 10.13.4 Beta (17E160e). (991828)

  • Particles: Line Renderer is rendered in the Scene and Game windows when you select a GameObject in the Project window. Will be addressed post 18.1 release. (972298)

  • Scripting: Editor crashes when opening external folder through MenuItem (1018162)

Improvements

  • Android: Ping class performance have been improved on devices supporting ICMP sockets. More information added to Ping scripting documentation. (972519, 1005103)

  • iOS: iOS plugin importer extension updated to support new iOS 11 frameworks.

Fixes

  • Android: Selecting any path for Android sdk/Java/NDK no longer results in a null reference exception. (1010249)

  • Build Pipeline: The Icon setting for Linux player & consoles is no longer broken. (1018605)

  • Editor: Canvas text no longer disappears when the Editor regains focus. (807380, 988399)

  • Editor: Fixed a crash when importing an skp file. (1004401)

  • Editor: Fixed crash from “RenderSelectionOutline” when using ImageEffectAllowedInSceneView and setting camera’s targetTexture to null. (966404)

  • Graphics: Fixed case of objects using HideAndDontSave being visible in preview windows after being disbled and re-enabled. (963576, 994424)

  • Graphics: Fixed occasional crash seen when using marquee selection on dynamic geometry such as Particles, Lines and Trails. (1021655)

  • iOS: Added a Provisioning Profile type property. It is set automatically for profiles available locally, or via a dropdown if it’s not available. (1018835)

  • iOS: iOS8 : The correct screen size is now used when you change screen orientation from a script. (997885, 1004720)

  • iOS: UnityViewControllerBase+iOS.h is now compatible with Objective-C. (793420, 1018836)

  • Licenses: Clicking the NO button on the “Confirm” pop-up while returning the license View no longer causes a crash. (991220)

  • Package Manager: Cancelling a package manager operation through the progress bar no longer results in a crash. (10116861014739)

  • Package Manager: Cured an uncaught exception in the upm startup sequence, which could result in failure to start Unity. (1003077)

  • Package Manager: Fixed a permissions issue on Windows that would prevent package metadata from being updated. (1003070, 1024322)

  • Package Manager: Packaged assets are now reimported when appropriate, when switching build target or graphics API. (1018493, 1019200)

  • Physics: When performing a transform change that causes a Collider2D to be recreated, we now ensure that any existing pending physics moves do not cause a crash. (1017868)

  • Scripting Upgrade: Fixed pinvoke structure alignment on Android. (915869)

  • Services: Fixed issue where the Editor would fail to build project when Performance Reporting is enabled but the service was unavailable. (980543, 1022106)

  • UI: Fix to recompute the RectTransform for a Canvas when it is enabled/added. (1008313)

  • XR: There is no longer a TEMP_ALLOC error and warning messages in the console when using an XR-related package.

The following are changes and fixes to 2018.1.0 features and regressions…

Changes

  • Package Manager: The main window title now displays [PREVIEW PACKAGES IN USE] when the current project uses preview packages.

Improvements

  • 2D: Added parameter to Sprite.Create to specify if a fallback physics shape is generated for the Sprite created. False by default. (1011341, 1013150)

  • UI: Removed the requirement to call ForceUpdateRectTransformafter setting a .localPosition. (1010932)

Fixes

  • Android: Fixed an issue where files whose extensions were already excluded from compression were still explicitly included in the noCompress gradle build setting. (1014623)

  • Android: Fixed crashes related to Application.Quit. (1013695)

  • Asset Import: Fixed crash when importing FBX with animated user properties in multiple animation clips. (1013071, 1013471)

  • Build Pipeline: Scenes in build settings are no longer lost if the scene file is moved. (1022690, 1023034)

  • Editor: Fixed an exception showing up in the console when canceling the build dialog. (993097)

  • Editor: Fixed bug where copying/pasting color field via context menu did not work consistently. (1005340)

  • Editor: Fixed crash when changing layouts on arch Linux.

  • Editor: Fixed issue where a GameObject would be disabled and re-enabled when a component was added to it using ObjectFactory, drag-n-drop or the AddComponent menu.

  • Editor: Fixed issue where multiple selection of presets didn’t edit all of them. (1005972, 1011235)

  • Editor: Fixed issue where PresetManager was not cleaning up properly when removing a Preset previously set as default. (1017606)

  • Editor: Fixed issue where Reset and OnEnable calls were switched when using ObjectFactory API or adding a component from the UI. (1026810, 1027749)

  • Editor: Fixed issue whereby modifying a preset in the inspector didn’t set it dirty. (1006883, 1011234)

  • Editor: Selecting a transform preset no longer creates a broken transform in the hierarchy. (1018619, 1018621)

  • Editor: The default preset is now applied as expected when dragging a script from Project window to Inspector. (1006561, 1011233)

  • Graphics: Fixed case of Editor hanging or crashing when using a CustomRenderTexture with a shader that contains GrabPass. (948225)

  • Graphics: Metal tessellation: Performance fixes to scratch memory reservation and handling. (1015910)

  • Graphics: Templates: Graphics Jobs are no longer enabled in the 3D template. (1026749)

  • Graphics: Templates: the 2D and 3D templates now set color space to gamma, for best compatibility with GLES 2 devices still in use. (1024031)

  • IL2CPP: Added support for C# attributes with hex-encdoded data passed to string parameters. (1004003)

  • IL2CPP: Corrected delegate invocation of a virtual method that is passed directly to an action. (1011133)

  • IL2CPP: Fix to allow marshalling of a native function pointer to a managed delegate and then back to a native function pointer. (1002479)

  • IL2CPP: Fix to handle method parameter attributes for methods on generic types. (999803)

  • iOS: Fixed crash when creating texture from PNG image when cardboard VR was enabled. (1013198, 1016612)

  • iOS: Fixed issue where both the portrait and landscape custom launch images were shown on the launch screen when in landscape mode. (1013634, 1021528)

  • iOS: Metal: depth clip mode is now effective on iOS and tvOS. (1014653)

  • Linux: Fixed Linux touch input for mouse events. (947049)

  • Multiplayer: Editor no longer crashes on AddWebsocketHost on another instance but to the same port. (1008385)

  • OSX: Fixed case of toggling between two Unity Editor windows not working. (995346)

  • OSX: Fixed issue where player build wouldn’t launch on Mac if its name included &amp; or &lt; characters while generating the build. (977503)

  • Package Manager: Disabled generation of pre-built library folder for templates (which had been added to help improve template load times) as it was causing scenes to be rendered in pink in some circumstances. (1017502, 1026725)

  • Package Manager: Fixed a vulnerability where a malicious attacker could access the local package manager server from a script served on the internet.

  • Package Manager: Fixed an issue where the dialog informing users about the UnityPackageManager renaming was displayed every time Unity was opened.

  • Particles: Fixed crash when calling Emit from script, when Particle System already contains particles. (988854)

  • Particles: Fixed crash when using the same Sub-Emitter more than once in a single effect. (991880)

  • Particles: Fixed issue where velocity could be ignored when using scripted particle emission. (990696)

  • Particles: Fixed large performance regression when emitting particles from script with a Size Module enabled. (983677)

  • Physics: Fix to ensure that recursive 2D physics callbacks do not cause a crash when reparenting/disabling with existing contacts. (1006679)

  • Scripting: Fixed crash when taking memory snapshot. (1011626)

  • Scripting Upgrade: Add some missing Facades that exist in 4.7.1-api. (996947)

  • Scripting Upgrade: Fix to avoid assert and crash on invalid text content. (1015822)

  • Scripting Upgrade: Fixed case of HttpWebRequest throwing DllNotFoundException on IL2CPP scripting backend. (989588)

  • Scripting Upgrade: Fixed p/invoke on Win64 when soft debugger is enabled. (1001996)

  • Scripting Upgrade: IL2CPP: Fixed case of debugger requiring multiple single-step commands when on breakpoint. (1012887)

  • Universal Windows Platform: Fixed startup performance regression present since 2017.3. (1007032)

  • Windows: Fixed case of player not remembering the last launch resolution. (1012477)

  • Windows: Fixed graphics initialization failure on select Windows 7 machines. (950417)

  • XR: Fixed case of skinned meshes rendering incorrectly on mobile VR when GPU skinning was enabled. (1001538)

2018.1.0f1 Release Notes (Full)

Packages

  • Services: Updated Unity Ads (com.unity.ads) to v2.0.7.

    • Note that this is not to be confused with the Unity Ads SDK version, which is v2.1.1.
  • Services: Updated Analytics (com.unity.analytics) to v2.0.16

  • Services: Updated IAP (com.unity.purchasing) to v2.0.1

  • Services: Updated Standard Events (com.unity.standardevents) to v1.0.13

  • Editor: Added Package Manager UI (com.unity.package-manager-ui) at v1.8.7

    • See entry in Features section for further details.

Features

  • 2D: [Experimental] Added experimental API to support Sprite animation.

  • 2D: [Experimental] Added the ability for you to add functionality for Sprite editing in the Sprite Editor Window.

  • Android: Added a new interface, IPostGenerateGradleAndroidProject, with a callback that Unity calls after it generates the Android Gradle project, but before it builds it.

  • Android: Added a new setting, Sustained Performance Mode, which sets a predictable, consistent level of device performance over longer periods of time without thermal throttling.

  • Android: Added ARM64 (also known as AArch64) experimental support.

  • Animation: Added Position ConstraintRotation Constraint and Scale Constraint components.

  • Animation: Added new Parent Constraint component.

  • Animation: Added the Aim Constraint component.

  • Animation: Added weighted tangent support to AnimationCurve.

  • Asset Import: Added support for importing Aim constraints from FBX files.

  • Asset Import: Added support for importing Parent Constraints from FBX files.

  • Asset Import: Added support for importing Point, Orient and Scale constraints from FBX files.

  • Asset Import: Added OnPreprocessAsset callback in AssetPostprocessor (also see API changes) .

  • Asset Import: [Experimental] Added experimental API to generate Textures/Sprites from Importer Settings.

  • Audio: Added Google’s Resonance Audio plug-ins.

  • Build Pipeline: Added ability to store and retrieve GameObject references by name through EditorBuildSettings.

  • Build Pipeline: Added new API for changing platform icons. It supports platform-specific icon types and multi-layer icons. See documentation on PlayerSettings.SetPlatformIcons for more information.

  • Build Pipeline: Added new BuildReport API. Building Players and AssetBundles now returns a BuildReport object that allows you to query information about the build process and outputs.

  • Build Pipeline: Android Build & Run now has target device selection in Build Settings. This allows you to deploy to either a specific single device, or to all supported devices simultaneously.

  • Cache Server: Added -CacheServerIPAddress command line argument to connect the Editor to specified Cache Server on startup.

  • Editor: Added a Clear on play button to the Unity Profiler window.

  • Editor: Added a preset class that allows you to save serialized information about a GameObject to a .preset Asset, and apply it later to the same GameObject type.

  • Editor: Added new ObjectFactory API that allows you to create a GameObject using default values. See Scripting API and documentation on Presets for more details.

  • Editor: Added Templates for 3D, 2D, 3D with Extras (Preview), Lightweight (Preview), Lightweight VR (Preview), and High Definition (Preview) to streamline the new user experience with Scriptable Render Pipeline features, as well as to define better starting points for graphical, player, and lighting settings.

    ![](https://storage.googleapis.com/unity3d_files/public/sites/default/files/2018.1_lwrp_template_1.png "2018.1 LWRP Template")
    ![](https://storage.googleapis.com/unity3d_files/public/sites/default/files/2018.1_hdrp_template_1.png "2018.1 HDRP Template")

  • Editor: Unity now compiles Assembly Definition File (asmdef) assemblies on startup, before any other scripts (such as Assembly-CSharp.dll), and does not stop compilation on the first compile error. Uniy loads all asmdef assemblies that succesfully compile and have all their references compiled, then compiles the remaining scripts (Assembly-CSharp.dll and friends). This ensures that Unity packages are always built and and loaded, regardless of other compile errors in the Project.

  • Editor: When running PlayMode and EditMode tests in batch mode, you can now specify which scripting back-end to use, via a Test Settings file.

  • GI: Progressive Lightmapper is now out of preview!

  • GI: [Experimental] Added experimental API for baking sky occlusion in Progressive Lightmapper. The sky occlusion value for a given input position defines what fraction of the sky is visible for that point. It takes into account any static GameObjects. The sky occlusion allows you to apply the correct amount of sky lighting to GameObjects that are otherwise hard to lightmap, such as trees and foliage.

  • GI: [Experimental] Added new experimental C# interface to pass light information to the GI baking back-ends.

  • Graphics: Added dynamic resolution support for Playstation 4.

  • Graphics: GPU Instancing now supports GI.

    • Unity can now automatically batch GameObjects affected by Light Probes, Occlusion Probes (in Shadowmask mode) or lightmaps, with Foward and Deferred pipeline.
    • Unity can send Light Probe and Occlusion Probe data to Graphics.DrawMeshInstanced using the LightProbeUsage.CustomProvided mode.
    • Added New APIs to calculate probe data and copy it to MaterialPropertyBlockLightProbes.CalculateInterpolatedLightAndOcclusionProbesMaterialPropertyBlock.CopySHCoefficientArrayFromMaterialPropertyBlock.CopyProbeOcclusionArrayFrom.
  • Graphics: Metal: Added support for tessellation using DX11 convention through hull/domain shader stages.

  • Graphics: [Preview] High Definition (HD) Render Pipeline (in preview for 2018.1): a modern renderer built on the Scriptable Render Pipeline (SRP).

    Launcher: The launcher now allows users to select one of the new project templates when creating new projects. Project templates available currently: 2D3D3D With Extras (Preview), Lightweight (Preview), Lightweight VR (Preview), and High Definition (Preview).

  • Multiplayer: You can now set Unity up to send you notifications about defined callbacks when there is something to read or the connection is ready to send information.

  • OSX: Added support for IL2CPP scripting backend for Mac Standalone player.

  • Package Manager: Added Package Manager User Interface, to allow you to manage a project’s packages and discover new packages.

    • The Package Manager UI is itself a package, at version 1.8.7 at this time (also see ‘Packages’ section in these notes).
    • Reachable from the Editor main menu via Windows -> Package Manager.
    • ‘In Project’ tab shows the packages (and versions) in the current project.
    • ‘All’ tab shows other packages available for this version of Unity: including preview packages and newer versions of packages in the current project.
    • The right hand pane shows information about the package, and contains links to the package online documentation.

![](https://storage.googleapis.com/unity3d_files/public/sites/default/files/2018.1_feature_packmanui.png "2018.1 Packman UI")

  • Particles: Added GPU instancing support for Particle System Mesh rendering.

    ![](https://storage.googleapis.com/unity3d_files/public/sites/default/files/2018.1_particles_gpumeshinstancing_1.jpg "2018.1 Particles GPU Mesh Instancing")

  • Particles: Added support for Orbital Velocity to the Velocity over Lifetime module.

  • Particles: All Particle Emitter shapes now support reading a Texture for masking and color tinting.

  • Physics: 2D Physics can now use all the cores on a device to run its simulation. See Job Options (Experimental) in 2D Physics Settings.

  • Player: Added an experimental API, UnityEngine.Experimental.LowLevel.PlayerLoop. This allows you to change the order in which Unity invokes engine systems, removes engine systems from the update order, or inserts new C# entry points at any point in the update cycle.

  • Scripting: Added a new command line option, overrideMonoSearchPath, for desktop standalone players (OSX, Windows). This specifies an extra folder to search when Mono is loading assemblies. You can use this to re-use Assets but load different scripts.

  • Scripting Upgrade: Added support for Portable PDBs when running with the new scripting runtime.

  • Scripting Upgrade: Scripting Runtime Upgrade is no longer in Experimental.

  • Video: Added audio sample output API for the VideoPlayer, with support for access from C# or C++.

  • Video: Added support for reading videos from AssetBundles on Android.

  • Web: Added custom certificate validation support to UnityWebRequest. See CertificateHandler script documentation for more info.

  • Web: Added UploadHandlerFile for UnityWebRequest. This sends file contents as a request body, without loading the entire file to memory.

  • Windows: Added support for IL2CPP scripting backend for Windows Standalone player.

  • XR: Added 360-degree stereo image capturing, with support for converting rendered textures (cubemap) to stereo and mono equi-rectangular format for display in VR. Added new API: RenderTexture.ConvertToEquirect().

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

  • XR: Added Standalone player support for stereoscopic 360-degree image capture for VR and non-VR projects on Win64/macOS platforms.

    • Use the 360 Stereo Capture UI checkbox in the VR Editor Settings panel to generate 360-degree capture shader variants when building a Standalone Player.
    • Added PlayerSettings.enable360StereoCapture binding.
  • XR: Added support for capturing stereoscopic 360-degree images for VR and non-VR projects. Added omni-directional stereo (ODS) support in the Shader pipeline for rendering to 360-degree stereo cubemap.

    • Added support for 360-degree stereo cubemap rendering in forward/deferred pipelines, directional/point light shadows, Skybox, MSAA, HDR and post-processing stack.
    • Added ODS rendering support for screenspace shadows via separate ODS world space passes and render textures, to avoid incorrect shadows per eye.
    • Added stereo RenderToCubemap API script support: camera.RenderToCubemap with stereo eye parameter.

Backwards Compatibility Breaking Changes

  • Particles: Removed Legacy Particle System script bindings.

  • Tizen: Removed Tizen mobile support.

Changes

  • Android: Input field character now always appears at the end of text when opening keyboard. (966477)

  • Android: Newly created projects now default to ARMv7 CPU architecture.

  • Android: Removed support for UnityPlayerProxyActivity.

  • Android: SDK Platform 26 now required to build for Android.

  • Android: Unity now creates a 2048-bit RSA key for signing the APK.

  • Android: Updated JDK requirements to JDK 8. This a requirement from the latest Android SDK.

  • Animation: Starting play mode while editing an Avatar configuration will no longer change the current scene. (916586)

  • Audio: Added error message when calling AudioSource.GetSpectrumData or AudioListener.GetSpectrumData with float arrays that are not a power of 2 or are outside the valid range between 64 and 8192 samples. (827154)

  • Editor: Added InspectorWindow.OnPostHeaderGUI callback to allow drawing of custom GUI elements in the inspector window.

  • Editor: Compiling ‘unsafe’ C# code now requires the “Allow ‘unsafe’ code” option to be enabled in the player settings for predefined assemblies (Assembly-CSharp.dll, etc.) and in the inspector for Assembly Definition Files assemblies. Enabling this option will make Unity pass the /unsafe option to the C# compiler when compiling scripts.

  • Editor: Removed MonoDevelop 5.9.6 from macOS and Windows installers and deprecated support for it in Unity. Visual Studio for Mac is installed as the C# code editor on macOS and Visual Studio 2017 Community on Windows.

  • Editor: Removed the “Intensity” float field next to HDR texture fields in Material editors. Use the exposure controls in the Color Picker instead.

  • Editor: Substituted “intensity” float field in the Static Emissives tab of the Light Explorer for HDR color field; instead use the exposure controls in Color Picker.

  • Editor: The plug-in code that creates Textures used in rendering with IMGUI should now avoid specifying them in linear space (i.e. should set the linear parameter to false in the Texture2D constructor). Otherwise, GUI elements drawn with such textures might look washed out when the project is working in Linear space (Player Settings > Color space: Linear). (908904)

  • GI: Support for hiding and disabling GI features when making a render pipeline.

  • Graphics: Deprecated PlayerSettings.defaultIsFullscreenUse PlayerSettings.fullscreenMode instead.

  • Graphics: GraphicsSettings shaders are no longer loaded on startup.

  • Graphics: Metal tessellation: Improved shader importing error reporting for when features are unsupported.

  • IL2CPP: Deprecated BuildOptions.IL2CPP, which never actually did anything. (986326)

  • iOS: Increased min target iOS version to 8.0.

  • iOS: iOS now links with Security framework by default. To remove it, set a pre-processor define DISABLE_WEBREQUEST_CERTIFICATE_CALLBACK and remove “Security” from the list of linked frameworks in Xcode.

  • iOS: ScreenOrientation.Unknown is deprecated.

  • OSX: Metal is now the default graphics backend for Editor.

  • Package Manager: Unity Package Manager project sub-folder was moved from UnityPackageManager to Packages. This is to align the physical path with the logical path of packages. Notes:

    • Projects configured with a NuGet should change their configuration to point to another folder (default repository path for NuGet configuration is \packages). The risk of NuGet and Unity Package Manager sharing the Packages folder is minimal, but we suggest to separate them nonetheless to avoid any issues.
    • When opening a project created with a previous version, a migration flow will copy the content of the UnityPackageManager folder to the Packages folder. It is left to the project maintainer to erase the UnityPackageManager folder and update source control configuration.
  • Services: Replaced web-based Collab history window with improved RMGUI version.

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

  • Universal Windows Platform: Build & Run now defaults to 64-bit player when running on local machine.

  • Web: AssetBundle-related parts of UnityWebRequest have been split into a new module, allowing UnityWebRequest to be used without pulling in AssetBundle module. API change: UnityWebRequest.GetAssetBundle -> UnityWebRequestAssetBundle.GetAssetBundle.

  • WebGL: Removed experimental label from WebAssembly linker target.

  • Windows: Removed support for Windows XP in Standalone Player builds. Windows Vista is the minimum supported OS now.

  • Windows: The Build Player location selection dialog now asks for a folder rather than a file name when building Windows standalone player. The BuildPipeline.BuildPlayer API is not affected by this change. (995320)

  • XR: Standalone UWP applications targeting Windows Mixed Reality now cause the OS to notify you if the Mixed Reality components are not installed or a headset is not connected, rather than silently falling back to non-VR desktop mode.

  • XR: Updated Google VR:

    • to 1.130 for Android
    • to 1.120 for iOS

Improvements

  • Android: Added ability to use the activity attribute when setting max aspect ratio since API 26.

  • Android: Added API 26 and 27 to scripting and the Editor.

  • Android: Added support for Linear Rendering without additional fullscreen blit on Android O.

  • Android: Added GUIUtility.systemCopyBuffer support.

  • Android: Added InputTouch.radius and InputTouch.radiusVariance properties (currently works on a limited set of devices).

  • Android: Improved shader compilation time.

  • Android: Ping class performance have been improved on devices supporting ICMP sockets. More information added to Ping scripting documentation. (972519, 1005103)

  • Android: Unity is now slightly smarter about guessing the location of the Android SDK if you didn’t fill it out in the Preferences.

  • Android: Unity now imprints the product name into Unity’s default Android banner, making it easier to distinguish between apps on Android devices where the banner is used for showing the app.

  • Android: Updated Gradle template to not strip symbols from *.so files, because they already are stripped where needed.

  • Android: [Gradle] Added more variables to build.gradle.

  • Animation: Transition exit time condition now works with negative state speed parameter. (941112)

  • Animation: Using Reset in the Inspector while Recording an animation creates a key for each supported modified property at the current frame. (766821)

  • Animation: AnimationUtility.SetAnimationEvents now sorts AnimationEvents by time. (913430)

  • Asset Import: In optimized mode, if a root bone is specified in the unoptimized SkinnedMeshRenderer and its Transform is exposed, it now stays as it is. Otherwise, Unity sets it to root. (972082, 988438)

  • Audio: Added minDistance/maxDistance information to the native Audio plug-in interface, so spatializers can implement near-field effects.

  • Audio: Fixed Audio Profiler stall of about 0.7 ms in the main loop, which was happening even for empty Scenes.

  • Build Pipeline: The build process progress bar now shows progress updates on shaders that have more than 100 variants to prevent editor from appearing unresponsive during long builds.

  • Documentation: The Scripting Reference now shows which assembly an API is implemented in.

  • Editor: Added lightmap overlap visualization for debugging.

  • Editor: Added Rename option to the the Project view’s right-click menu. (773117)

  • Editor: Added the ability to duplicate any read-only sub-asset in the Project View to get a writable copy. Select any sub-asset and go to Edit > Duplicate.

  • Editor: Added time ruler, dynamic grid lines, and the ability to select and zoom to specific intervals in the Profiler timeline.

  • Editor: Added Application.wantsToQuit and Application.quitting events to EditorApplication, enabling the user to control the Editor quit process. (802175)

  • Editor: Added UnityEngine.TestTools.Utils to the Playmode test framework. This namespace contains utility classes to compare ‘Vector2’, ‘Vector3’, ‘Vector4’, Quaternion, Color and float types using NUnit constraints.

  • Editor: Clarified message shown in Build Settings window when the current license does not support the platform. (957929)

  • Editor: HDR color fields in the Inspector now use gradient overlay to indicate underexposed colors where the max color component is less than 1/255.

  • Editor: HDR color fields now always appear with HDR badge in the Inspector, irrespective of their current value.

  • Editor: It is no longer possible to start multiple EditMode or PlayMode test runs at the same time from the Test Runner UI. (945000)

  • Editor: Optimizations to Editor startup time.

  • Editor: Profiler now displays 3 frames of context, and supports jobs spanning more than one frame.

  • Editor: Profiler Window: Improved performance of Hierarchy View.

  • Editor: Redesigned the color picker window with exposure-based HDR controls.

    ![](https://storage.googleapis.com/unity3d_files/public/sites/default/files/2018_1_feature_color-picker_2.png "2018.1 Color Picker")

  • Editor: Reduced some heap allocations incurred every frame when drawing a serialized property with a PropertyDrawer.

  • Editor: Removed a workaround for WebViews that had been added for macOS Sierra 10.12.1. This prevents a warning message in the Editor.log file every time a WebView is added to the main window.

  • Editor: The Editor console window now displays a timestamp from when the entry was logged.

  • Editor: The Mute Audio option in the Editor / Game View now persists after Editor reload. (785243)

  • Editor: Unity now adds references and defines from mcs.rsp to generated .csproj for MonoDevelop, VS Code and Rider.

  • Editor: Unsupported shaders are now grouped in the shader selection dropdown in the Material inspector.

  • Editor: You can now select the text in the Profiler Window’s “Details” sections. (787073)

  • Editor: ExecuteMenuItem can now quit the macOS EditorApplication.

  • GI: Creation of LightingDataAsset is now a job.

  • GI: Upgrades Enlighten SDK to version: 3.09.P1.62184

    • Fix for SetThreadAffinityMask crashes, backported from a newer version of Embree (CS-1196)
    • Fix in IffWriter, so that > 4GB file sizes fail instead of corrupting the file. (CS-1193)
    • Fix for CalcPrecomputedVisibilityWorkspaceSize()returning an error (CS-1204)
    • Unity no longer emits warnings for deprecated attributes that the schema definition has assigned default values to.
  • Graphics: - Directly render and sample into depth-cube map without additional color RT.

    • Enabled hardware PCF for shadow point light.
    • Added support for Vulkan.
  • Graphics: Add option to Texture Importer to select red color channel for Single Channel Textures

    • Added support for R8 uncompressed format
    • Added support for EAC_R compressed textures
    • Red channel Single Channel Textures use R8, EAC_R, BC4 formats
  • Graphics: Added new attribute ToggleUI, which you can use to display a checkbox in the Shader’s Inspector without generating a keyword (unlike Toggle and ToggleOff). (986865)

  • Graphics: Added support for ETC textures with Texture2D.PackTextures, similar to DXT.

  • Graphics: Added MeshRenderer.subMeshStartIndex property.

  • Graphics: Change to allow you to attach async compute command buffers to Cameras and Lights.

  • Graphics: Enabled instancing flexible array size for Vulkan.

  • Graphics: Improved shader import handling when using #pragma target &lt;version&gt;. If you are not using #pragma geometry#pragma hull or #pragma domain statements to specify entrypoint functions, Unity drops these shader features (geometry or tessellation) from the internal shader capabilities requirement, allowing greater compatibility across non-DX11 graphics targets. In practise, this now allows using #pragma target 5.0 with Metal, as long as geometry shaders are not used.

  • Graphics: Improved Mesh.CombineMeshes to include only vertices of selected submeshes instead of the entire Mesh. (895464)

  • Graphics: In forward rendering, Unity no longer fetches 2x2 white shadowmask textures when lighting a dynamic GameObject with a Mixed light using baked occlusion. (952761)

  • Graphics: You can now directly render and sample into depth-cube maps without additional color RT. Hardware PCF for shadow Point light is now enabled. Added support for PS4, XB1, desktop GL Core, GLES3, WebGL 2.0, Metal.

  • IL2CPP: Added C++ compiler configuration setting to Player Settings. Note: this setting does not affect platforms which generate an IDE project rather than an executable, such as iOS and UWP.

  • iOS: Added a checkbox to the iOS plugin importer: when checked, the plug-in is added to the “Embedded Binaries” folder. (984264)

  • iOS: Added a default camera usage description when using Vuforia or ARKit. (956291)

  • iOS: Added change to allow you to manipulate the caret position in Input Field with touch when Hide Mobile Input is set.

  • iOS: Added ETC2 as texture format for iOS OpenGL ES3.

  • iOS: Added GUIUtility.systemCopyBuffer support.

  • iOS: Improved iCould capability support in Xcode API.

  • iOS: Improved shader compilation time.

  • iOS: Improved support of the plist specification in Xcode API.

  • iOS: iOS plugin importer extension updated to support new iOS 11 frameworks.

  • Kernel: Improved error messages for YAML file reading so that it also reports filenames, which aids in the resolution of merge conflicts for meta files.

  • Licenses: Improved error handling for command line activation. (834325)

  • Linux: Added ability to allow games to provide their own controller configuration files.

  • Linux: Improved support for unconfigured/non-gamepad joysticks.

  • Multiplayer: Two or more channels can now share the messages order, so that messages which send via differnet channels are delivered in order.

  • OSX: Added Visual Studio for Mac to macOS Installer.

  • OSX: Fixed Editor crash when using GLCore on High Sierra with Intel 6xxx series GPU. (956196)

  • Package Manager: Allow surface shaders compilation when relative path include are used inside a package.

  • Particles: Overriden Prefab values are now indicated/highlighted in the Inspector.

  • Particles: Sub-Emitters can now be triggered when conditions are met in the Trigger Module (e.g. when particles enter a collision volume).

  • Particles: You can now trigger Sub-Emitters from script, using the new TriggerSubEmitter script API.

  • Profiling: Added Editor startup profiling markers.

  • Scripting: Added a scripting callback which is called just before a cube map texture completes importing (AssetPostprocessor::OnPostprocessCubemap).

  • Scripting: Added new GetAllocatedMemoryForGraphicsDriver API. (896812)

  • Scripting: Improved “The referenced script on this Behaviour is missing!” error message to tell you which script is missing, where possible.

  • Scripting: Improved performance characteristics of FindObjectsOfType for scenes with large GameObject count.

  • Services: Updated Unity Ads to 2.1.1.

  • Shaders: Added a more granular way of specifying shader compilation requirements, compared to #pragma target.

    • #pragma require XYZ for specific features that the shader requires.
    • SHADER_REQUIRE_XYZ and SHADER_AVAILABLE_XYZpreprocessor defines are passed to shaders, based on which features are requested or are available.
  • Shaders: Added Windows support for shader include absolute paths longer than 260 characters.

  • Shaders: Compute shaders are now included in the shader cache. For example, tweaking a shader and then reverting the change fetches the shader from the cache instead of recompilation.

  • Shaders: Compute shaders now support #pragma exclude_renderers and #pragma only_renderers.

  • Shaders: Global shader properties are now visible to compute shaders. A global property value is used if the property is not set locally for the compute shader.

  • Shaders: Improved shader compilation speed.

  • Shaders: Proper shader include dependency tracking implemented. Whenever a shader include file is modified all the dependent shaders - and nothing else - will get reimported. (646064916386957024)

  • Shaders: Surface Shaders with many multi_compile/shader_feature variants import several times faster now (internally, Unity now multi-threads that process).

  • Shaders: You can now use SetPropertyBlock per Material (in the case of the multi-material renderer), and an optional Material index.

  • Shaders: ComputeShader.Dispatch now validates if all the properties are valid.

  • Shaders: UNITY_PASS_FORWARDBASEUNITY_PASSFORWARDADD, etc. are now also defined for custom vertex / fragment shaders according to the pass type.

  • Timeline: Added support for exposed references on custom TrackAssets. (976409)

  • Timeline: Added support for left trim on recorded Animation Track clips.

  • Timeline: Improved clip visual rendering.

  • Timeline: Improved workflow when autokeying animation tracks that contain clips.

  • Timeline: Introduced new modes for editing clips in the Timeline Editor.
    ![](https://storage.googleapis.com/unity3d_files/public/sites/default/files/2018.1_timeline_editmodes_1.png "2018.1 Timeline Edit Modes")

  • Timeline: TrackAssets now allow multiple TrackClip types through base class specification. (950934)

  • UI: Added the ability to toggle the rounding of advance width. This allows you to get more consistent spacing between characters in a Text Mesh.

  • Universal Windows Platform: Added an option to select which configuration (debug/release/master) should be used when doing Build & Run.

  • Universal Windows Platform: Improved support for building project into longer paths.

  • Video: Added basic video bitrate control in MediaEncoder API.

  • Video: Video Decoding via Job System on many platforms (reducing overall thread count and improving performance).

  • Web: Improved performance for large data download using custom download handler script.

  • Web: UnityWebRequest now accepts URI instances alongside string URL (URI being faster). (944500)

  • WebGL: Added indexedDB caching support for all build files in WebGL and for compiled WebAssembly code.

  • WebGL: You can now override webglContextAttributes.premultipliedAlpha.

  • Windows: Added a completely new, out-of-process crash handler for both the Windows Editor and Windows Standalone Player, improving reliability of error.log and minidump generation.

  • Windows: Added support to enable/disable exclusive mode on Windows through new SetResolution API overload. Consolidated platform specific fullscreen modes into a single cross platform FullScreenMode API.

  • Windows: Multiple improvements in crash handling:

    • Unity applications that enable the Performance Reporting Service now receive Windows crash telemetry.
    • Crash interception is now much more reliable, catching more categories of error, sooner and later in the application life.
    • The crash UX for the player has been updated to remove the wordy English-only error message and display something generic before handing off to WER (which tells the user what happened in their native language).
  • Windows: When installing VS2017, Unity Download Assistant will now also include C++ modules so that IL2CPP builds work out of the box. (1003155)

  • XR: Android builds that support ARCore can now be built using target API version 14 or higher.

  • XR: Improved background rendering performance in ARCore by eliminating an unnecessary OpenGL state reset.

  • XR: Metal: Implemented the remaining draw call functionality (such as Graphics.DrawProcedural) for Single-Pass Stereo rendering, which was missing previously.

  • XR: Updated Vuforia to version 7.1.27.

API Changes

  • 2D: Added DetectChunkCullingBounds to TilemapRenderer to allow for correct culling of large tiles. (971087)

  • 2D: Experimental API TextureGenerator.GenerateTexture now takes in a NativeArrray for image buffer instead of setting an IntPtrin TextureGenerationSettings.

  • AI: Changed struct name in the Experimental API for Navmesh Queries from PolygonID to PolygonId.

  • AI: New experimental API for NavMesh queries, usable within C# jobs: namespace UnityEngine.Experimental.AIstruct PolygonIDstruct NavMeshLocationenum PathQueryStatusenum NavMeshPolyTypesstruct NavMeshWorldstruct NavMeshQuery with these methods: BeginFindPath()UpdateFindPath()EndFindPath()GetPathResult()IsValid()GetAgentTypeIdForPolygon()MapLocation()GetPortalPoints()MoveLocations()MoveLocation()PolygonLocalToWorldMatrix()PolygonWorldToLocalMatrix()GetPolygonType()Dispose().

  • Animation: Added AnimationClipPlayable.GetApplyPlayableIKand AnimationClipPlayable.SetApplyPlayableIK.

  • Animation: Moved AnimationUtility.SetGenerateMotionCurvesand AnimationUtility.GetGenerateMotionCurves from internal to public.

  • Animation: AnimatorTransitionBase and Motion are now abstract.

  • Animation: AvatarBuilder.BuildHumanAvatar is no longer supported on the .NET scripting backend.

  • Asset Import: Added OnPreprocessAsset callback in AssetPostprocessor. (Also see Features)

  • Asset Pipeline: API manual previously stated that AssetDatabase.GetSubFolders() takes absolute paths, which was incorrect. This has now been updated to relative paths, consistent with other AssetDatabase methods.

  • Build Pipeline: Added EditorBuildSettings API methods: AddConfigObjectTryGetConfigObjectGetConfigObjectNamesRemoveConfigObejct.

  • Build Pipeline: Added IPreprocessBuildWithReportIPostprocessBuildWithReport, and IProcessSceneWithReportinterfaces to provide the BuildReport object during the build process.

  • Build Pipeline: Renamed BuildSummary.errors and BuildSummary.warnings to BuildSummary.totalErrors and BuildSummary.totalWarnings respectively.

  • Build Pipeline: Reverted IPreprocessBuildIPostprocessBuildand IProcessScene interfaces to their 2017.3 signatures.

  • Build Pipeline: The IPreprocessBuildIPostprocessBuild and IProcessScene interfaces have been changed to pass the BuildReport object instead of just the path to the build and target platform.

  • Build Pipeline: BuildReport API has been moved to the UnityEditor.Build.Reporting namespace.

  • Editor: Added Application.wantsToQuit and Application.quitting events.

  • Editor: Added EditorApplication.hierarchyChanged event and clarified API documentation.

  • Editor: Added EditorApplication.projectChanged event and clarified API documentation.

  • Editor: Added UnityEngine.TestTools.Utils to the Playmode test framework. This namespace contains utility classes to compare ‘Vector2’, ‘Vector3’, ‘Vector4’, Quaternion, Color and float types using NUnit constraints. (Also mentioned under Improvements)

  • Editor: Explicitly setting the following delegates to null will no longer draw a control handle, instead of drawing using a default implementation: PrimitiveBoundsHandle.midpointHandleDrawFunctionArcHandle.angleHandleDrawFunctionArcHandle.radiusHandleDrawFunctionJointAngularLimitHandle.angleHandleDrawFunction.

  • Editor: Explicitly setting the following delegates to null will now result in a handle size of 0 instead of using a default value: PrimitiveBoundsHandle.midpointHandleSizeFunctionArcHandle.angleHandleSizeFunctionArcHandle.radiusHandleSizeFunctionJointAngularLimitHandle.angleHandleSizeFunction.

  • Editor: ColorPickerHDRConfig is now obsolete and is no longer used.

  • Editor: EditorApplication.hierarchyWindowChanged is now obsolete, superceded by EditorApplication.hierarchyChanged.

  • Editor: EditorApplication.projectWindowChanged is now obsolete, superceded by EditorApplication.projectChanged.

  • Editor: EditorGUI.ColorField() and EditorGUILayout.ColorField() signatures taking a ColorPickerHDRConfig are now obsolete.

  • Editor: UnityEditor.AndroidTargetDevice is now obsolete, superceded by UnityEditor.AndroidArchitectureUnityEditor.PlayerSettings.targetDevice is now obsolete, superceded by UnityEditor.PlayerSettings.targetArchitectures.

  • GI: Experimental Lightmapping scripting API now uses NativeArrayinstead of Lists.

  • Graphics: Added a new API to extract shader information (ShaderData).

  • Graphics: Exposed RenderPipelineAsset.OnValidate and OnDisable methods.

  • Graphics: Graphics.ConvertTexture now supports RenderTextureas source.

  • Graphics: Texture is now abstract.

  • Input: TouchScreenKeybord.done and TouchScreenKeyboard.wasCanceled are now obsolete, superceded by UseTocuhScreenKeyboard.status.

  • Multiplayer: Added GetHostPort function, reporting the port number assigned to the host.

  • Multiplayer: Deprecated unused function NetworkTransport.GetAssetId(). (950325)

  • Playables: New functions in UnityEditor.Playables.Utility to retrieve all the PlayableGraphs and events for when a PlayableGraph is created or destroyed.

  • Playables: New LeadTime feature allowing you to “pre-warm” the data inside the playable node.

  • Playables: PlayableGraphs can now have names.

  • Playables: Playable.ConnectInput can now optionally take a weight for the connected input.

  • Player: Added an experimental API which allows you to change the order in which engine systems are invoked, remove engine systems from the update order, or insert new C# entrypoints at any point in the update cycle: UnityEngine.Experimental.LowLevel.PlayerLoop. (Also mentioned under Features)

  • Player: Added Application.wantsToQuit and Application.quitting events.

  • Player: Deprecated Application.CancelQuit method.

  • Scripting: Added constructor for TextAsset that allows you to specify a string for its text contents.

  • Scripting: Added ShaderUtil.GetAllShaderInfo for listing all available shaders.

  • Scripting: Added Vector2.Perpendicular to calculate a perpendicular vector in 2D space.

  • Scripting: Extended Vector2 to support component-wise multiplication and division between two Vector2 values.

  • Scripting: Made unimplemented parameterless constructors for the following classes private: AudioManagerEditorSettingsGraphicsSettingsInputManagerLightmapSettingsMonoManager,Physics2DSettingsPhysicsManagerPlayerSettingsQualitySettingsRenderSettingsShaderSpriteTagManagerTimeManagerAssetBundleAssetBundleManifestAudioClipComputeShaderLightingDataAssetLightProbesMovieTextureProceduralTextureSceneAssetSubstanceArchiveVideoClipRuntimeAnimatorController.

  • UI: Added characterLimit property for TouchScreenKeyboard.

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

  • XR: Added XR.WSA.HolographicSettings.IsContentProtectionEnabled.

  • XR: Added XR.WSA.HolographicSettings.ReprojectionMode.

Fixes

  • 2D: Fixed case of snapping being enabled in the Sprite Editor Window’s Outline Editor, even if set otherwise. (951918)

  • 2D: Fixed issue where changing Sprite in SpriteRenderer would cause Unity to recreate Collider2D when Collider2Ds auto-tiling was disabled. (971931)

  • 2D: Fixed issue where Unity would not set the Sprite 2D Physics Shape until the ‘Edit Physics Shape’ tab was opened for the first time after texture import. (985912)

  • 2D: Grid component now renders when the values in CellSize/CellGap are changed. (976408998558)

  • 2D: New SpriteRect in SpriteEditorWindow no longer contains data from last inserted SpriteRect. (1001198, 1010061)

  • 2D: SpriteRenderer no longer has a memory leak when in tiled draw mode. (1006814, 1010060)

  • Android: Amazon Kindle Fire no longer experiences screen distortion when a launching a Unity application that does not have a Splash Screen. (900732)

  • Android: Black textures no longer appear after pausing and resuming the Unity app during the splash screen. (952769)

  • Android: Buttons in scroll view should now properly detect input. (885600)

  • Android: Fixed poor Light Cookie quality on OpenGLES2 GPUs that don’t have high support in fragment shaders. (908253)

  • Android: Fixed Vertex-Lit Point and Spot light issues seen on some Adreno devices. (949576)

  • Android: Selecting any path for Android sdk/Java/NDK no longer results in a null reference exception. (1010249)

  • Android: Selecting input field on some Samsung and Sony Xperia devices no longer cause a crash. (953849)

  • Android: Shadow quality no longer degrades on OpenGLES2 GPUs when a fragment shader does not support highp (high precision). (919669)

  • Android: The decimal point button on a decimal keyboard is now selectable on older Samsung devices. (973815)

  • Android: Unity applications no longer disable the built-in camera button on Sony Xperia devices. (944797)

  • Animation: Bool properties are now properly restored to their initial value when exiting the Animation window preview. (947491)

  • Animation: Calling AnimationUtility.SetAnimationEvents no longer causes a NullReferenceException. (989647)

  • Animation: Fixed an irrelevant assert in the Animation Component. (943954)

  • Animation: Fixed an issue where the Transition preview did not update when switching transitions in the Inspector. (938053)

  • Animation: Fixed an issue where Unity would reset the Animation mode saving the Scene. (949523)

  • Animation: Fixed an issue where Unity would sometimes not update Animators set to “Cull Completely”. (947990)

  • Animation: Fixed case of Timeline sequence not firing animation events. (947918)

  • Animation: Fixed crash in the animation system when using code stripping. (938640)

  • Animation: Fixed issue where not all playables bound to the Animator were evaluated when coming out of culling. (883583)

  • Animation: The parameter now resets to default value when changing override controller. (958173)

  • Apple TV: Fix to only allow to set one layer for Top shelf images. (760436)

  • Asset Import: Clicking on other windows while Avatar Inspector is applying no longer results in random errors. (994383, 1011622)

  • Asset Import: Fixed 90-degree offset of Light and Camera animations from MotionBuilder when pre-rotation, post-rotation and rotation offset values are 0 and use Euler values. (954475)

  • Asset Import: Fixed an issue where the update avatar button would not disappear in the ModelImporter Rig panel. (837263, 990716)

  • Asset Import: Fixed bug where import of FBX with custom framerate would generate AnimationClips with the wrong framerate. (916405)

  • Asset Import: Fixed handling of Object fields on ScriptedImporters so that they can be assigned a value in the inspector.

  • Asset Import: Fixed issue where compressed mesh UVs produce huge serialized data when values are within a very short range. (960280)

  • Asset Import: Fixed issue where FBX models imported from 3DSMax 2018 for the first time have an avatar, even if they contain no animation. (923384)

  • Asset Import: Fixed issue where the Asset selector type is wrong in Material remapping import settings if the Material is already assigned. (971556)

  • Asset Import: Fixed the import of string typed custom properties from FBX files created with MotionBuilder. (956420)

  • Asset Import: Fixed the state of the “Extract Materials” button on the Model Importer Inspector when the names of the imported Materials has changed. (958044)

  • Asset Import: Fixed AssetImporter.GetAtPath when the asset is imported by a ScriptedImporter.

  • Audio: Fix to avoid GC allocations when using audio callbacks on consoles with IL2CPP (though note that the Mono backend still allocates). (1004804)

  • Audio: Fixed a bug on Windows Editor and Standalone builds where Unity would not react to changes in the system audio device list (such as when changing the default audio output device, amongst others). (935547)

  • Audio: Fixed a bug where a very low frequency generated audio clip (< 1000 Hz) would crash Unity. (873683)

  • Audio: Fixed a bug where an AudioSource with the highest possible priority could be virtualized before others. (928587)

  • Audio: Fixed a bug where assigning to AudioSource.clip would additionally stop the AudioSource’s currently playing oneshots, also inducing performance spikes. Now it only stops the main clip. (875968)

  • Audio: Fixed a bug where the editor would crash when recompiling scripts while having generated streaming audio clips (AudioClip.Create()). (884965)

  • Audio: Fixed a bug where using Razer Kraken 7.1 headsets as an audio input device (using Microphone.Start()) would throw errors. (946835950409)

  • Audio: Fixed a crash when calling AudioSource.SetCustomCurve() with a null argument. (931396)

  • Audio: Fixed a crash when creating audio clips (AudioClip.Create()) inside OnEnable().

  • Audio: Fixed a possible crash when destroying GameObjects with attached custom filters (OnAudioFilterRead).

  • Audio: Fixed a possible crash with bad audio drivers, device initialization is more now robust - also added a diagnostic message in case of failure to open audio devices with expected settings. (916971)

  • Audio: Fixed issue where AudioClips with future time stamps would fail import. (951169)

  • Audio: [RequireComponent(AudioBehaviour)] now works correctly with AudioSources and AudioListeners. (888121)

  • Build Pipeline: An occasional crash when building AssetBundles no longer occurs. (1009641)

  • Build Pipeline: Scripts-only build now requires that the destination directory of the player match the last cached build. Some platforms such as Xbox One and PS4 fail in unclear ways without this requirement. (932403)

  • Build Pipeline: The Icon setting for Linux player & consoles is no longer broken. (1018605)

  • Cache Server: Add check for enough data in protocol version check (943300)

  • Cache Server: Fixed bugs that could potentially cause communication with the Cache Server to stall

  • Cache Server: Fixed caching issue where slashes ‘/’ were in the url parameters were causing the cache key to be corrupted (896779)

  • DX12: Opening a Scene using Android graphics target API and the Editor is using DX12 API no longer causes a crash. (969590)

  • Editor: “OS X Color Picker” is now named “macOS Color Picker” in Editor Preferences. (991730)

  • Editor: A menu item checked state are no longer lost on entering Play mode. (923501)

  • Editor: Added a list of whitelist paths, which will be the only ones to get copied/replaced when cloning a template in project. (996769)

  • Editor: Auxiliary Editor windows with a fixed size no longer contain a maximize button on macOS. (1006807)

  • Editor: Canvas text no longer disappears when the Editor regains focus. (807380, 988399)

  • Editor: Collab updates now reload scenes in the correct order to preserve the value of new script variables. (996118)

  • Editor: Collaborate no longer deletes ignored files when restoring to an older version. (932926, 985130)

  • Editor: Cursor lock no longer engages at unexpected moments on Mac and Windows. (959859)

  • Editor: Deleting the child of a prefab that’s nested in a child of itself no longer causes a crash. (956141)

  • Editor: Ensures that Collaborate reloads data in the correct order to avoid losing values of new script variables after update. (996118)

  • Editor: Executing PlayMode tests in batch mode no longer leaves behind a bootstrap scene after execution.

  • Editor: Fixed a crash when importing an skp file. (1004401)

  • Editor: Fixed ALOC_TEMP_THREAD error when entering Play mode. (939779)

  • Editor: Fixed background in Keys tab of Preferences when using the Personal Skin. (931908)

  • Editor: Fixed bug where clicking on the “Swatches” label in Color Picker would not expand preset controls. (976080)

  • Editor: Fixed bug where HDR color swatches in the Inspector were not converted to gamma color space before being displayed.

  • Editor: Fixed bug where pressing Esc would not cancel color sampling eyedropper mode.

  • Editor: Fixed bug where sampling color with eyedropper would not convert sampled color back to linear space when the color field was marked as HDR.

  • Editor: Fixed bug where UnityEvent drawer would not synchronize correctly when displayed using multiple different serialized data streams, such as when displayed in two different windows at once. (974069)

  • Editor: Fixed case of “System is already interested in this transform” errors in some cases. (962008)

  • Editor: Fixed case of asset remaining highlighted when moving last asset out of a folder. (961630)

  • Editor: Fixed case of Color Picker eyedropper preview rendering upside-down in Linux editor.

  • Editor: Fixed case of Color Picker window losing color when intensity is dropped and then increased again while window is still open. (712903)

  • Editor: Fixed case of locks on multiple inspectors getting lost on maximising and restoring views. (775007)

  • Editor: Fixed case of never-ending exception when an invalid character was present on the iOS version string in Player Settings. (986098)

  • Editor: Fixed case of object skipping its initial position when using the Transform Tool or the Universal Tool + (Control/Command) key. (964593)

  • Editor: Fixed case of scene view picking sometimes not selecting the topmost object when loading previously serialized window layout. (943051)

  • Editor: Fixed case of EditorConnection removing registered callbacks when player disconnects.

  • Editor: Fixed crash from “RenderSelectionOutline” when using ImageEffectAllowedInSceneView and setting camera’s targetTexture to null. (966404)

  • Editor: Fixed Editor crash when closing 2 custom editor windows at the same time. (967778)

  • Editor: Fixed Editor hang when merging files with Collaborate. (971434)

  • Editor: Fixed error when using “Static” checkbox on a game object with children. (962453, 964436)

  • Editor: Fixed exception while selecting Android NDK in preferences and clicking Cancel when NDK path is invalid. (909635)

  • Editor: Fixed GUI state scoping issues. (967017)

  • Editor: Fixed hard crash in Linux editor when a progress bar supplied a very long string.

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

  • Editor: Fixed issue whereby RequireComponent would cause components on prefabs to be duplicated on play. This would happen if the user added a new component (of the same type) and removed the original. (778588)

  • Editor: Fixed issue with uXML asset preview being clipped incorrectly. (960313)

  • Editor: Fixed moving assets around when ctrl/cmnd buttons are pressed (938735)

  • Editor: Fixed OnSceneUnload being called when switching focus away from objects with materials (946988)

  • Editor: Fixed pinging newly created objects (766150)

  • Editor: Fixed plugin setting “Exclude Platforms” having no effect. (873575)

  • Editor: Fixed project view sorting file names with long numbers incorrectly (681738)

  • Editor: Fixed random hangs during Editor startup. (954607)

  • Editor: Fixed scrolling down to the last selected item in a one column layout when selecting or desecting an item (800606)

  • Editor: Fixed the “Add component” window reseting the search after domain reload (946012)

  • Editor: Fixed top right-hand scene view gizmo to update projection type label correctly when setting SceneView.lastActiveSceneView.orthographic (878205)

  • Editor: Generated Visual Studio Solutions will now reference module assemblies, fixing use of PS4 and WebGL API in VS projects. (967854)

  • Editor: Items in the AddComponent dropdown are now sorted by name.

  • Editor: Layout orientation of AudioMixer window now persists after being closed / reloaded. (776811)

  • Editor: Made ObjectSelector’s text field react to Home and End button (762158)

  • Editor: Made subasset textures visible when searching (788431)

  • Editor: Mip-level slider now works on Metal (900891)

  • Editor: Now batching and tier settings are correctly restored after exiting from playmode (965811)

  • Editor: Removed UnityConnect error output from console window. (963815)

  • Editor: The crash in scripting_stack_trace_info_for when opening Projects where loading of assemblies fails no longer exists. (1005030, 1005520)

  • Editor: The Game View no longer has a bug that stops it updating in some layouts. (988147)

  • Editor: Throw ArgumentNullException instead of crashing if null Asset/ChangeSet are passed to VersionControl Provider methods. (922714)

  • Editor: [Collab] Fix to prevent snapshot from getting updated when publish fails with copy file error. (952686)

  • Editor: [OSX] Exceptions are no longer thrown in GUILayoutUtility.BeginLayoutGroup after pressing Cancel button in a dialog window. (971204)

  • Editor: InspectorWindow.OnSelectionChange() callback during certain operations no longer causes a null reference exception. (851988970700)

  • Editor: Profiling.Recorder now picks up all dynamic markers visible in Profiler. (881136, 1006484)

  • GI: An error code is no longer reported when switching Scene visualization mode to Indirect or Emissive due to a lack of data. (997954)

  • GI: Assigning a Light Probe Group to Anchor Override Parameter on a Mesh Renderer component no longer causes errors or crashes the Editor after some time. (1002580)

  • GI: Building Standalone no longer throws … program ‘frag_surf’: Unrecognized sampler ‘samplerunity_lightmap’ … error with specific shaders. Shadowmasks now use their own sampler. (955176)

  • GI: Double-sided GI is now able to be rendered when an occluder uses a transparent texture. (981329)

  • GI: Exiting play mode with realtime GI enabled no longer causes a memory leak. (9919391007945)

  • GI: Fix for issue where there is no available job slot but jobs are being issued nonetheless.

  • GI: Fixed an assert caused by an incorrectly triggered Lighting Data Asset write. (985915, 1010124)

  • GI: Fixed case of assert kValidSceneObjectIdentifier == resfiring after selecting a prefab and its preview window is visible. (955674)

  • GI: Fixed case of default specular reflection texture containing object from the scene when Umbra is enabled. (975325)

  • GI: Fixed case of Reflection Probes always including Terrain objects even if they are not Reflection Probe Static. (863968)

  • GI: Fixed case of scene becoming completely black after clicking ‘Generate Lighting’ button. (973666, 988957)

  • GI: Fixed crash when trying to access the “Baked Lightmap” parameter of a Terrain. (952939)

  • GI: Fixed issue where in standalone the skybox would disappear after switching active scene, whereas in the editor the skybox would remain. (828440)

  • GI: Fixed issue where IsLightmapBakeTypeSupported() GCAlloc’s 17B every frame when CPU usage is 0.0% (986319)

  • GI: Lightmaps now bake correctly after the first bake. (1006916)

  • GI: Progressive Lightmapper: Fix to composit shadowmasks correctly. (953780)

  • GI: Receive Shadows and Cast Shadows options in Progressive Lightmapper now work as expected. (953108)

  • GI: The EnlightenRuntimeManager no longer has a small memory leak that resulted in failure to free texture wrapper objects. (9919391007945)

  • GI: The output for spotlights from the Progressive Lightmapper is no longer too bright when compared to the output from Enlighten. (953775)

  • GI: The Progressive Lightmapper now correctly deals with all quad faces in models. (908068)

  • Graphics: A rare crash when you enable seam stitching on an object packed to the boundary of a lightmap no longer occurs. (1000350)

  • Graphics: A rare deadlock in CreateGpuProgram when you enable graphics jobs no longer occurs. (934897)

  • Graphics: Added GetColor API to MaterialPropertyBlock. (942523)

  • Graphics: Added support for Cube RenderTexture as a cookie on PointLight. (999718)

  • Graphics: Black screen on devices that do not support RGBA16F rendering to texture no longer occurs. (989654)

  • Graphics: Boxing in the GI system no longer causes small per-frame allocations. (986319)

  • Graphics: Fix crash when script is creating a culling group, but fails to call SetBoundingSphere.

  • Graphics: Fix for deadlock in graphics command buffer when updating constant buffers. (986772, 995312)

  • Graphics: Fix for leaking texture IDs associated with the depth textures on some platforms.

  • Graphics: Fix to avoid attempting to render LineRenderers with huge vertex counts. (977228)

  • Graphics: Fixed case of incorrect realtime sampling of gradient ambient. The previous behavior can be re-enabled by setting UnityEditor.Experimental.RenderSettings.useRadianceAmbientProbeto true. (673298)

  • Graphics: Fixed case of objects using HideAndDontSave being visible in preview windows after being disbled and re-enabled. (963576, 994424)

  • Graphics: Fixed case of splash screen flickering if background color alpha is not 1. (901782)

  • Graphics: Fixed crash in SkinnedMeshRenderer::PrepareSkinCommon when SkinnedMeshRenderer has Animator and Cloth attached. (941369)

  • Graphics: Fixed crash on Mesh.ClearBlendShapes (972060)

  • Graphics: Fixed crash when using shadow-casting Lines/Particles/Trails with SRP. (985077)

  • Graphics: Fixed Flare constructor returning null object.

  • Graphics: Fixed issue where the TrailRenderer didn’t drop a point at its spawning location. (978250)

  • Graphics: Fixed Material ctor crashing with null shader/material (now it will correctly throw managed nullref exception) (971263)

  • Graphics: Fixed occasional crash seen when using marquee selection on dynamic geometry such as Particles, Lines and Trails. (1021655)

  • Graphics: Fixed OpenGL errors in the Editor due to mismatched of color and depth MSAA samples.

  • Graphics: Fixed Vulkan multiple display support.

  • Graphics: Metal: Fix occassional GPU hang/crash when dispatching compute shader (950983)

  • Graphics: No longer an inconsistency in UI between lighting group and material group functionality in the MeshRenderer component. (969494)

  • Graphics: Renderer AABB position is no longer reset to zero in case of zero extents (856906)

  • Graphics: We no longer create OSX GLCore compute shader variants when they are not supported. (989250)

  • IL2CPP: Corrected the behavior of DateTime.TryParse with the .NET 4.6 profile. (948887)

  • IL2CPP: Fix to allow link.xml files to contain comments at the beginning of the file. (956493)

  • IL2CPP: Fix to prevent an intermittent crash in the GC on PS4. (955991)

  • IL2CPP: Fixed ArgumentException when accessing Socket.LocalEndPoint on .NET 4.6. (943671)

  • IL2CPP: Fixed crash when calling Socket.GetSocketOption using the latest scripting runtime. (952403)

  • IL2CPP: Fixed unimplemented COM related internal calls in System.Runtime.InteropServices.Marshal class, such as QueryInterface. (930386)

  • iOS: “Done” and “Cancel” buttons are no longer missing from the keyboard in landscape mode on iPhone X. (966702)

  • iOS: Added a Provisioning Profile type property. It is set automatically for profiles available locally, or via a dropdown if it’s not available. (1018835)

  • iOS: Changed default iOS launch screen color to the same (black) color as the Unity default launch screen.

  • iOS: Changing Screen.autorotateToXXX should now work properly. (974181)

  • iOS: DTD declaration is no longer missing in plist files written by Xcode API.

  • iOS: Fixed Screen.dpi return value for iPhone 8/8+/x. (960914)

  • iOS: FMOD no longer fails to initialize if the app is minimized during launch. FMOD now re-initializes if this happens. (915971)

  • iOS: iOS8 : The correct screen size is now used when you change screen orientation from a script. (997885, 1004720)

  • iOS: Keyboard now open correctly when switching between input fields. (789270)

  • iOS: Metal: RenderTexture.DiscardContents should now work properly on Metal. (930907)

  • iOS: Screen no longer flickers during screen autorotation. (956026)

  • iOS: Screen no longer flickers when you change the orientation via script (953524)

  • iOS: Team Signing ID is no longer hidden when switching to manual signing. (960657)

  • iOS: UnityViewControllerBase+iOS.h is now compatible with Objective-C. (793420, 1018836)

  • Kernel: Corrected spelling mistakes in editor log output. (966081)

  • Kernel: Fix a precision issue on AMD cpu for windows and linux platform (953111)

  • Kernel: Fix scripting math Quaternion.Angle function so it returns 0 when quaternions are considered equal by operator== (955655)

  • Licenses: Clicking the NO button on the “Confirm” pop-up while returning the license View no longer causes a crash. (991220)

  • Licenses: Fixed issue in license time verification logic when timezone changed. Previously a time verification error could be reported. (960760)

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

  • Linux: Fixed a Progressive Lightmapper crash in the Linux Editor. (913799, 1013759)

  • Multiplayer: Fixed issue with scene id determinism during scene post processing. (935230)

  • OSX: “Do you really want to quit?” dialog no longer appears when closing windows in macOS Standalone build. (984155)

  • OSX: CMD-Q and Quit menu option fixed for Unity launcher on macOS. (978777)

  • OSX: Fixed FPS no longer drops in the Editor when you set Graphics API to OpenGLCore and when you turn V.Sync Count “Every V Blank” on. (950318)

  • OSX: Game no longer continues to run when you minimize the Standalone build, and regardless of whether the user was active on another application. (776557)

  • OSX: Game no longer receives mouse input when running in the background on macOS. (758806)

  • OSX: Hidden cursor no longer fails to hide when moved down to Dock. (858220)

  • OSX: Input from USB mouse no longer disables further touchpad input in Input.GetAxis on MacBooks. (842835)

  • OSX: Mac native resolution is now set correctly. (792350)

  • OSX: Metal: Metal no longer hangs when using MSAA on OSX 10.11 on Nvidia GPUs. (952826)

  • OSX: Resizing the Standalone game window on Mac no longer causes flickering. (852470)

  • OSX: Second screen can now be displayed on macOS when the built Scene is 64-bit or Universal. (959498)

  • OSX: The close button is no longer grayed out and unavailable for the Editor main window. (985142)

  • OSX: You can no longer play a built Scene in higher than desktop resolution in windowed mode. (962469)

  • Package Manager: Cancelling a package manager operation through the progress bar no longer results in a crash. (10116861014739)

  • Package Manager: Cured an uncaught exception in the upm startup sequence, which could result in failure to start Unity. (1003077)

  • Package Manager: Fixed a permissions issue on Windows that would prevent package metadata from being updated. (1003070, 1024322)

  • Package Manager: Packaged assets are now reimported when appropriate, when switching build target or graphics API. (1018493, 1019200)

  • Package Manager: Switched Packages folder name to UnityPackageManager in order to prevent conflict with nuget. (941516)

  • Particles: Fixed issue where particle bounds were not being calculated correctly when transform scale was non-uniform. (977520)

  • Particles: Fixed issue with Align to Velocity and 3D Rotation where local space particles could align inconsistently. (970786)

  • Particles: Fixed some inconsistencies with Pivot Offset and Bounding Boxes when using particle meshes. (962121)

  • Particles: Implemented more accurate handling of start delay and non-fixed-update. (971841)

  • Particles: Receive Shadows checkbox is now always ticked when using Deferred Rendering. (960622)

  • Physics: Corrected error message when changing Mesh on Skinned Mesh Renderer on GameObjects that have a Cloth Component. (950424)

  • Physics: Disabled cloth now inherits its parent’s transform. (946307)

  • Physics: Editor no longer freezes for a long time when adding a Cloth component to a Mesh with high vertex count. (956856)

  • Physics: Fixed a crash on project load that was caused by tiny meshes. (953083)

  • Physics: Fixed crash in PhysicsManager::SetColliderTransform, which would be triggered when entering Play mode after reloading a scene that had changes on disk. (958230983579)

  • Physics: Physics Debugger’s layer mask now filters GameObjects correctly. (948201)

  • Physics: Prevented crash when loading new scene and activating a Cloth GameObject in a coroutine. (951789)

  • Physics: Prevented potential crash in Rigidbody::GetVelocity()when opening certain scenes. (955697)

  • Physics: Set cloth pointer to null in SkinnedMeshRenderer when deactivating, to prevent the SkinnedMeshrenderer from trying to use a de-allocated cloth object. (946356)

  • Physics: When performing a transform change that causes a Collider2D to be recreated, we now ensure that any existing pending physics moves do not cause a crash. (1017868)

  • Scripting: Added support for IPv6 on Android with the .NET 2.0 profile (803576804510)

  • Scripting: Added support for IPv6 on Android with the .NET 2.0 profile. (803576804510)

  • Scripting: C# compiler error when using implicit operators and Nullable no longer occurs. (970493)

  • Scripting: Calling MethodInfo.GetParameters() no longer causes a crash. (1006251)

  • Scripting: Crash at mono_class_array_element_size when opening iOS project that contains IAP plugin no longer occurs. (980669, 998787)

  • Scripting: Error no longer being logged to the console when you modify a MonoBehaviour-derived script that is attached to a GameObject to a ScriptableObject-derived script. (946510, 947929)

  • Scripting: Fix issue with scripts in the editor being compiled with ENABLE_IL2CPP instead of ENABLE_MONO in some cases

  • Scripting: Fix menu items not getting removed when changing the MenuItem name and it contains consecutive forward slashes (916305)

  • Scripting: Fixed deadlocks and pauses when using System.Threading.Monitor. (827984)

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

  • Scripting: Fixed potential crash when calling Activator.CreateInstance() on an array type. (964848)

  • Scripting: GameObjects that are being disabled or destroyed no longer start coroutines. (863131)

  • Scripting: Indexing into an array with negative values no longer produces an IndexOutOfRange exception on x64. (967679)

  • Scripting: MonoDevelop: Fix startup-crash on macOS 10.13 when using multiple monitors (955089)

  • Scripting: Prevented garbage collection allocations when invoking UnityEvents if the event handler does not use the parameters. (967201)

  • Scripting: Prevented StopCoroutine from not working with nested IEnumerator coroutines. (935955)

  • Scripting: Text written to System.Environment.Out is no longer flushed to disk character-by-character.

  • Scripting: The Mono C# compiler no longer hangs while compiling certain C# scripts. (948492)

  • Scripting: HashSet.TrimExcess no longer results in a memory use increase. (969832)

  • Scripting Upgrade: Awaiting continuations that spawn more continuations no longer cause a hang. (1004428)

  • Scripting Upgrade: Calling NativeArray.Equals no longer causes a crash. (1005597)

  • Scripting Upgrade: Fix ScriptUpdater not running when building some players leading to “Recursion error” message logged (952674)

  • Scripting Upgrade: Fixed crash in the updater when scripts contains a call to NetworkConnection.TransportRecieve() (951261)

  • Scripting Upgrade: Fixed failure to resolve system types when building .NET player when user code guarded by #if NET_COREused obsolete APIs. (946498)

  • Scripting Upgrade: Fixed pinvoke structure alignment on Android. (915869)

  • Scripting Upgrade: Text fields in the Editor can now accept strings with unmatched surrogate characters. (939578)

  • Scripting Upgrade: Type.GetInterface now finds the specified interface on .NET 4.6 (985462)

  • Services: Building in Cloud Build with Performance Reporting enabled no longer causes an exception. (996949)

  • Services: Fixed case of local assets being overwritten during Collab update. (952569, 1008212)

  • Services: Fixed issue where the Editor would fail to build project when Performance Reporting is enabled but the service was unavailable. (980543, 1022106)

  • Terrain: The crash in SplatMaterials::FindMaterialPropertieswhen opening a Scene with specific Material and Terrain combination no longer occurs. (919769)

  • Timeline: A hang no longer occurs when you use a Prefab instance with the same Prefab on a control track. (989856)

  • Timeline: Audio waveform now refreshes on re-open. (927126)

  • Timeline: Bindings no longer fail on first track with inline curve open. (998182)

  • Timeline: Changes to inline curves are now applied immediately on custom tracks. (976036)

  • Timeline: Copied groups are no longer being saved under the wrong Timeline. (991434)

  • Timeline: Corrected inability to drag multiple clips to another track. (908228)

  • Timeline: Custom track properties now show in Inspector. (989269)

  • Timeline: Dragging a clip in the timeline and releasing drag outside of the timeline window no longer freezes clip. (946823)

  • Timeline: Finder window no longer shows ‘none’ when creating a Timeline asset on OSX. (998190)

  • Timeline: Fixed Animation Clip offset issue when dragging from the project view to an override track. (906895)

  • Timeline: Fixed issue where arrow would not show when you trimmed the right side of the clip, but would show when you extended it. (881902)

  • Timeline: Selecting a clip in Play mode no longer throws a NullReferenceException. (996000)

  • Timeline: Shift+, / Shift+’.’ shortcuts now work when inline curves are selected. (952552)

  • Timeline: Timeline Editor no longer loses scroll position when you enter Play mode. (876341)

  • Timeline: Timeline no longer causes GC allocations under 4.6 scripting runtime. (998642)

  • Timeline: Timeline now shows the rename field after creating a Timeline Asset. (995886)

  • Timeline: Tracks and clips copied across Timelines no longer retain links to the original ones. (979587)

  • Timeline: Tracks no longer duplicate names when copied to a new Timeline. (923360)

  • Timeline: Undo on root motion offset manipulator now works. (974289)

  • Timeline: Undoing a clip move no longer throws an ArgumentOutOfRange exception. (927807)

  • UI: Fix hover issue when using mouse wheel to scroll in a scrollview (959647)

  • UI: Fix to recompute the RectTransform for a Canvas when it is enabled/added. (1008313)

  • UI: Fixed a bug preventing renaming UI objects after duplicating them. (950420)

  • UI: Fixed a crash caused by UI Mask on Buid & Run when material is null. (935112)

  • UI: Fixed an issue where calling ClearProgressbar did not remove the progress bar in synchronous code in the Editor on MacOS.

  • UI: Fixed problem with ScrollRect size recalculation on start. (950200)

  • UI: Graphics raycaster no longer returns the wrong object if the distance between two rays is very small. (974500)

  • UI: Input Field now responds to character limit without delay on iOS and Android

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

  • UI: The default UI shaders no longer ignore tiling and scaling. (722133)

  • UI: The RectTransform is now switched to permanent registration to listen to position changes if disabled. (959492)

  • UI: The value shown on start in Text elements now refresh in order for prefab overrides to apply correctly. (975553)

  • UI: UI no longer constantly sends out transform update messages for a canvas that moves, as this causes Physics systems to misbehave. (889350)

  • UI: We no longer modify the scene when setting or clearing UNITY_UI_CLIP_RECT for rendering purpose. (967024)

  • Universal Windows Platform: App icons of certain sizes that did not appear in the manifest of the exported Visual Studio project before now do. (949269)

  • Universal Windows Platform: Incorrect error message is no longer thrown when doing Build & Run to a phone device when it is not connected. (923345)

  • Universal Windows Platform: Removed an error message that was previously printed to the log when the clipboard contents changed, but the app had no permissions to read it. (916357)

  • Video: Fixed case of erroneous frame increments when in paused state. (937167)

  • Video: Fixed Media Foundation block using H264 videos on Windows. (964280)

  • Video: [Mac] Fixed issue where certain h264 video clips would stop playing or lag after a few seconds if playing on a low-spec hardware. (930947)

  • Web: [UnityWebRequest] The CompleteContent not being called error in download handler on HTTP no longer exists. (954119)

  • WebGL: Application.isMobilePlatform no longer returns false on WebGL Projects launched on mobile browser. (911870)

  • WebGL: Black screen no longer shows during loading. (900105)

  • WebGL: Browser model is now detected correctly in Microsoft Edge. (943241)

  • WebGL: Fixed UnityLoader backwards compatibility (5.6 and 2017.1 builds would fail when using 2017.2+ loader).

  • WebGL: Mouse no longer gets stuck in state of GetMouseButton(0) after mouse drag. (905712)

  • WebGL: Slashes no longer missing from blob url. (940942)

  • WebGL: WebAssembly build now works even when memory size is not a multiple of 16. (955246)

  • WebGL: Webcam is now supported on Firefox and Safari. (1005628)

  • WebGL: WWW/UnityWebRequest.isHttpError is now set correctly on 404 error (File not found). (988784)

  • WebGL: /b is no longer added to inputString on keyup event. (981495)

  • WebGL: AudioSource.pitch is zero now has no divide by zero problem. (946393)

  • WebGL: SHADER_API_MOBILE is no longer defined on WebGL 2.0.

  • Windows: Builds with IL2CPP scripting backend can now print out C++ compilation errors if compilation failed when using VS 2017 Update 6.

  • Windows: Moving the window while the mouse cursor is locked no longer causes the window to go out-of-screen. (932978)

  • XR: Android VR terrain trees no longer rotate with camera. (956544)

  • XR: API used in deprecation warning/error is now updated. (942738)

  • XR: Cardboard iOS target frame rate is now correct. (950229)

  • XR: Corrected Podfile version number. (962253)

  • XR: Fixed inconsistency between generic and WSA-namespace code paths defining whether the select button is pressed. (954940)

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

  • XR: No longer a crash in the Holographic simulator when you try to exit Play mode while paused and VR is not enabled. (948127)

  • XR: The (Failed to get spatial interaction controller...) and WinRT errors (SpatialinteractionSourceLocation.SourcePointerPose failed ...) on WindowsMR no longer happen. Before they were occurring under normal expected conditions.

  • XR: There is no longer a TEMP_ALLOC error and warning messages in the console when using an XR-related package.

  • XR: Tracked Pose Driver no longer causes a crash when using the VR Mock Test Device. (966990)

  • XR: Unity now issues a warning message when user tries to reload a VR Device that is already loaded. (996223)

  • XR: GrabPass no longer grabs only one eye with Single Pass Rendering Method. (953360)

  • XR: ScreenCapture.CaptureScreenshot() no longer captures screenshots incorrectly when stereo instancing is enabled. (970906)

LTS Release 2017.4.1f1

Released:

LTS Release 2017.4.1f1

Released:

Fixes

  • (1008942) - 2D: Fixed Tilemap not setting Tiles with the correct data in players with code stripping.
  • (970038) - Android: Fixed performance regression caused by compiler optimizing for size.
  • (978599) - Android: Fixed unity pause during Android Handheld.PlayFullScreenMovie start.
  • (1013173 (970945)) - Android: Fixed Time.deltaTime sometimes returning negative value on certain devices/Android versions.
  • (1011573 (991127)) - Android: Fixed Cardboard VR fails to initialize on certain Android devices.
  • (992130 (983938)) - Android: Fixed terrain shader to avoid crashing when calling glLinkProgram on Adreno 3xx.
  • (970038) - Android: Fixed performance regression of Render.Mesh in apps built with Gradle.
  • (985786) - Animation: Fixed an issue where scrubbing in the Animation Window would spam warning messages if some properties could not be found.
  • (1003190) - Animation: Fixed an issue where importing additional curves in a Legacy clip would crash.
  • (1012200) - Asset Importing: Fixed ScriptedImporters such that SerializedProperty.objectReferenceValue can be set in the inspector.
  • (1013472 (1013071)) - Asset Importing: Fixed crash when importing FBX with animated user properties in multiple animation clips.
  • (991034) - Audio: Fixed a bug where the matrices passed to spatializer and ambisonic audio plugins could be set to the identity matrix briefly when a sound starts playing.
  • (905161) - Editor: Fixed various UnityEditor.VersionControl.Provider APIs when used with newly created VersionControl.Assets.
  • (1009686) - Editor: Fixed vsync not always off in scene view on macOS.
  • (None) - Editor: Fixed license activation issue when losing the network.
  • (1008764 (921915)) - Editor: Fixed errors related to temp TLS allocations.
  • (952517) - Editor: Fixed rare startup crash in BaseHierarchyProperty.
  • (None) - Editor: Fixed performance regression when Game View is visible while in play mode.
  • (909987) - Editor: Fixed m_CurrentEntriesPtr != NULL && m_IsGettingEntries error thrown when double clicking on a specific warning.
  • (913869) - GI: Fixed for LightingData.asset for multiple scenes baked together being vastly bigger than the sum of the sizes of those assets for scenes being baked separately. Enlighten probeset data was included multiple times.
  • (996127) - GI: Fixed realtime probes going black when unloading a scene that was a part of a multi-scene bake.
  • (957736) - GI: Fixed realtime probes not working when loading scenes (that were baked together) additively.
  • (980811) - GI: Fixed errors on loading Enlighten probesets in the Editor after clearing the GI cache.
  • (1000692) - GI: Fixed LoadDataTimeSliced working on the wrong scene mapping in the Editor.
  • (949117) - GI: Fixed the "m_ProbeSetHashes.empty()" error occuring in certain projects when clearing the GI cache or when quitting the standalone.
  • (971907) - GI: Fixed duplicate GI light probe data in the player build with scenes that were part of a multi-scene bake.
  • (990626) - GI: Fixed harmless "Lighting data asset [...] is inconsistent" errors when moving those assets between projects.
  • (1011232) - Graphics: Fixed for Android/OpenGLES Cubemap native texture not being registered correctly causing cubemap CopyTexture to native texture to fail.
  • (989654) - Graphics: Fixed black screen on devices that do not support RGBA16F rendering to texture.
  • (None) - Il2CPP: Improve Android build size.
  • (1005019) - IL2CPP: Fixed an error in the managed linker which can occur when the Vurforia plugin is used on iOS.
  • (1011133) - IL2CPP: Fixed delegate invocation of a virtual method that is passed directly to an action.
  • (999803) - IL2CPP: Fixed method parameter attributes not being handled for methods on generic types.
  • (1009701 (953606)) - iOS: Fixed Standard shader specular highlights on mobiles.
  • (1005678) - iOS: Fixed possible crash in UnityWebRequest.
  • (1016613 (1013198)) - iOS: Fixed crash when creating texture from PNG image when cardboard VR is enabled.
  • (None) - iOS: Improved robustness of second stage splash screen setup to work correctly on both ancient and current iOS versions.
  • (972995) - iOS: Added support for iPhone X second stage splash screen.
  • (None) - Multiplayer: Fixed server active disconnect client for web sockets.
  • (946958) - OSX: Fixed crash in UnitcodeInputView during editor shutdown.
  • (985049) - Particles: Fixed Particle Collision not being detected when System uses negative scale.
  • (983677) - Particles: Fixed performance drop with Size over Lifetime or Size over Speed modules enabled when emitting particles from script.
  • (990696) - Particles: Fixed case where ParticleSystem's EmitParams.velocity was ignored when 'Shape' was checked.
  • (989631) - Particles: Fixed prefabs with a ParticleSystem no longer keeps creating duplicate entries into its serialization after each modification.
  • (967476) - Particles: Particles/Alpha Blended material inverted colors of other blended objects when using HDR.
  • (988854) - Particles: Fixed Editor crashing after two Emit() waves with UpdateSizeTpl<0> when Noise module's Size Amount parameter was more than zero.
  • (970414) - Particles: Fixed ParticlesStandardUnlit shader causing MissingReferenceException when Particle System StopAction was set to Destroy.
  • (967752) - Particles: Fixed preview of Rate over Distance emission, during Edit Mode.
  • (1001875) - Physics: Fixed an issue where auto-simulation is off but 2D collider shapes that are destroyed do not get removed from the internal shape changes queue resulting in shape destruction time increasing.
  • (1006679) - Physics: Ensured that recursive 2D physics callbacks do not causes a crash when reparenting/disabling with existing contacts.
  • (983374) - Physics: Ensured that a Kinematic Rigidbody2D created in script stays in a relative position to any parent Rigidbody2D when reparented.
  • (1012718 (987943)) - Profiler: Fixed missing format extension for binary logging, added .raw extension to our binary format.
  • (919769) - Scene Management: Fixed crash in SplatMaterials::FindMaterialProperties when opening a scene with specific Material and Terrain combination.
  • (986215) - Scripting: Fixed crash when SocketException is encountered.
  • (911661) - Scripting: Fixed memory leak when entering play mode.
  • (952292) - Scripting Upgrade: Fixed crashes when exiting via alt+f4 when using new scripting runtime.
  • (943047) - Scripting Upgrade: Fixed DateTime.Now on scripting runtime upgrade.
  • (990979) - Scripting Upgrade: Fixed random error when using UDPClient.
  • (977917) - Scripting Upgrade: Fixed exception when binding delegate with Enum value to method with int parameter.
  • (1002004) - Sprite Packer: Fixed specific set of sprites are packed non-optimaly.
  • (1005779) - Substance: Fixed a memory leak when using cloned ProceduralMaterials.
  • (979587) - Timeline: Fixed tracks and clips copied across timelines retaining links to original.
  • (1010354) - Universal Windows Platform: Fixed player getting stuck on a white screen when a fatal error (such as unable to load files or system doesn't meet minimum requirements) occurs during startup.
  • (997876) - Universal Windows Platform: Fixed build failing on IL2CPP scripting backend if class library from Mono directory was copied into the project (like System.Data.dll).
  • (991154) - Universal Windows Platform: Fixed a crash in .NET native compiler ("RHB0011: Internal error: 'pchTypeNameEnd[0] == L'>"at'f:\dd\ndp\rh\src\tools\rhbind\makepdb.cpp:998") in certain scenarios involving plugins.
  • (1004327 (1001438)) - Web: Fixed abort on iOS on UnityWebRequest timeout.
  • (None) - Web: Switched UnityWebRequest default to chunkedTransfer=false.
  • (996015) - Windows: Fixed resolution dialog not showing monitor list and crashing on pressing 'Play' button on some weird monitor setups.
  • (948559) - Windows MR: Fixed GestureRecognizer is not returning grip data.
  • (976378) - Windows MR: Fixed GetureRecognizer stops working after HMD loses tracking.
  • (989909) - Windows MR: Fixed Gesture manipulation horizontal movement appears to operate on X/Z plane.
  • (964836) - Windows MR: Fixed GestureRecognizer callbacks returning InteractionSourceKind Other for hand gestures.
  • (956509) - Windows MR: Fixed incorrect grip position in Gesture Recognizer event handlers.
  • (1008179 (950796)) - Windows MR: Fixed plugging a HMD with a running MR app causes performance to drop from a warning spam.
  • (971384) - Windows MR: Fixed Manipulation axes are not matching controller axes.
  • (976544) - Windows MR: Fixed Manipulation Event Data is wonky after resuming from sleep.
  • (None) - XR: Fixed incorrect thread affinity setting on Gear VR.
  • (1008179 (950796)) - XR: Fixed log spam when app starts disconnected from Windows MR HMD and crash when HMD is reconnected.
  • (None - XR: Updated warning issued when a VR SDK is not supported in the Editor.
  • (1011573 (991127)) - XR: Updated Google VR NDK to 1.130 for Android, 1.120 for iOS.
  • (None) - XR: Updated Vuforia to version 7.0.50.

Revision: 9231f953d9d3

LTS Release 2017.4.0f1

Released:

LTS Release 2017.4.0f1

Released:

Improvements

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

Changes

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

Fixes

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

Revision: b5bd171ee9ba

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

News from Unity QA

We’re not just toolsmiths, but wordsmiths too! Read all the Unity QA blogposts past and present.

弊社のウェブサイトは最善のユーザー体験をお届けするためにクッキーを使用しています。詳細については、クッキーポリシーのページをご覧ください。

OK