Unity 2017.2

Additional downloads

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



Additional Resources
现在更新

Unity新功能? 立即获取!

发行说明

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

System Requirements Changes

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

Features

  • 2D: Added Tilemap. description

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

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

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

  • GI: Added profiler for Realtime Global Illumination.

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

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

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

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

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

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

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

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

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

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

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

  • WebGL: Added linear rendering to WebGL 2.0

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

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

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

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

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

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

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

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

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

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

Backwards Compatibility Breaking Changes

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

Changes

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

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

  • Audio: Made improvements to AudioMixer ducking:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • XR: Camera.stereoMirrorMode is now obsolete.

Improvements

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • DX12: Native Rendering Plugin improvements:

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

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

  • Editor: Made usability refinements to Profiler charts:

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

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

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

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

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

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

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

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

    Improvements:

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

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

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

  • Graphics: Frame Debugger Improvements:

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

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

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

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

  • iOS: Implemented Xcode API for embedding frameworks.

  • iOS: Improved render thread scheduling for Metal.

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

  • Kernel: Added completion events to all return AsyncOperations.

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

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

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

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

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

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

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

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

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

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

  • Services: Updated Unity Ads to version 2.1.1.

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

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

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

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

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

  • VR: Updated Oculus to version 1.14.

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

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

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

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

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

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

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

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

API Changes

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

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

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

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

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

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

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

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

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

  • Graphics: Added RenderPass functionality to scriptable render pipelines.

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

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

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

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

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

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

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

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

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

  • Physics: Added Collision2D.GetContacts().

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

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

  • Playables: Added PlayableGraph.IsPlaying().

  • Playables: Moved AudioPlayableOutput to namespace UnityEngine.Audio.

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

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

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

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

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

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

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

  • Terrain: Added Terrain.freeUnusedRenderingResources. (743462)

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

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

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

  • Web: Obsoleted the following deprecated API:

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

  • Web: Removed the following obsolete API:

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

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

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

  • XR: Added XRDevice.fovZoomFactor. (845344)

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

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

Fixes

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • WebGL: Fixed custom cursor support. (905625)

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

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

  • WebGL: Fixed Profiler connection. (901252)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Known Issues

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2017.2.0f3 Release Notes (diff since 2017.2.0f2)

Changes

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

Improvements

  • Services: Updated Unity Ads to version 2.1.1.

Fixes

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

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

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

Improvements

  • Multiplayer: Improved batch sending for web sockets.

Fixes

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

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

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

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

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

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

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

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

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

  • XR: Fixed issues with using renderViewportScale on WindowsMR.

Revision: 46dda1414e51