Versionshinweise

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

Unity 2018.1

Quick Jump

    Back to Top