发行说明

Preview of Final 2019.2.0a4 Release Notes

System Requirements Changes

Nothing changed.

Features

  • Android: Android App Bundles: Added APK files size validation when generated AAB file is larger than some threshold

  • Editor: Visual Studio (Windows): Double clicking on C# compile messages in the console window will now open the corresponding C# file at both line and column, previously only at the line.

  • Editor: Visual Studio Code: Double clicking on C# compile messages in the console window will now open the corresponding C# file at both line and column, previously only at the line

  • GI: GPU agnostic lightmap denoiser that works across all our editor platforms.

Backwards Compatibility Breaking Changes

  • Android: Raise minimum Vulkan API version for Adreno drivers to 1.0.38.

  • Editor: UGui Objects are now using ObjectFactory and default Presets when created from the GameObject menu in the Editor.

  • Graphics: When using SRP, added Rendering Layer Mask to Lights as a filtering option during shadow passes (similar to Renderers Rendering Layer Masks).

  • Scripting: Make the GarbageCollector.GCMode property only throw an exception on unsupported platforms when trying to change it's value, not when reading it.

Changes

  • Android: Bundletool is updated up to version 0.7.2.

Improvements

  • Android: Mimic TouchScreenKeyboard.hideInput by drawing input field outside the screen, when this property is true.

  • Asset Import: Compressor Quality can now be set in the texture asset import settings for BC6H and BC7 formats allowing compression quality to be traded for import speed.

  • Editor: Added a message box whenever the OS fails to delete an asset when deleted from the Project Browser view.

  • Editor: Reduced the number of key presses in order to start a rebind in the Shortcut manager (from 3 to 2).

  • GI: Added a 'None' mode for emissive GI contribution in the standard shader GUI.

  • GI: Reduced GPU memory footprint for GPU lightmapper when baking lighting, by compressing normal vectors and albedo.

  • GI: The Optix AI denoiser is now supported with GPU Lightmapper.

  • GI: Upgraded Optix AI Denoiser to version 6. This new version has better performance and a lower memory footprint.

  • Graphics: Added support for Dynamic Resolution Scaling to the Lightweight Rendering Pipeline.

  • Graphics: Metal: Defer creation of command buffers and render encoders until actually needed.

  • Graphics: SRP batcher is now supported on Xbox, DirectX11.

  • Graphics: SRP hooks added for detail rendering shaders.

  • ps4: Improved PS4 Additional content to support multiple products.

  • Scripting: Enable incremental Garbage Collection in editor.

  • Shaders: Moved 38 builtin keywords to local keywords. Shaders inspector now shows used global/local keywords by shader.

  • XR: Move Google VR Cardboard and Daydream support to a package and Update to verision 1.180.

API Changes

  • Editor: Added AssemblyBuilder.referencesOptions to allow building assemblies using UnityEngine module .dlls instead of the default monolithic UnityEngine.dll.

  • Editor: Added AssetDatabase.OpenAsset() overloads that take both a line number and column number.

  • Editor: Added GameObjectUtility.GetMonoBehavioursWithMissingScriptCount and GameObjectUtility.RemoveMonoBehavioursWithMissingScript to be able to remove MonoBehaviours with a missing script from a game object.

  • Editor: Added new API to detect & control async shader compilation better in the Editor.

  • Editor: OnOpenAsset attribute now supports method signature (int instanceId, int line, int column)

  • GI: Fixed issue where we can't set Lightmap Parameters from script on non-prefab objects. (966408)

  • Graphics: Add static function to Matrix4x4 to compute inverse of an affine matrix

  • Mobile: Add 'Screen.cutouts' to get display cutout bounding boxes

  • Mobile: Application.absoluteURL property and Application.deepLinkActivated event to handle application activation via deep link, implemented for Android/iOS/UWP

  • Terrain: Added new callback APIs to monitor the terrain texture changes:

    • TerrainAPI.TerrainCallbacks.heightmapChanged
    • TerrainAPI.TerrainCallbacks.textureChanged These callbacks tell both the rect region being changed and if the change is CPU synchronized or not (i.e. GPU only).
  • Terrain: Added new TerrainData APIs for easier modifying the terrain textures:

    • TerrainData.CopyActiveRenderTextureToHeightmap
    • TerrainData.CopyActiveRenderTextureToTexture These two may be used for copying the content of the active RT into the terrain textures, optionally delaying the CPU synchronization, for instance at the event of mouse move in the middle of painting.

    • TerrainData.DirtyHeightmapRegion

    • TerrainData.DirtyTextureRegion These two may be used alternatively to the two functions above if the user directly changes the GPU resources by other means.

    • TerrainData.SyncHeightmap

    • TerrainData.SyncTexture These two may be used to do a full synchronization from GPU to CPU, for instance at the event of mouse up.
  • Terrain: Deprecate Terrain.ApplyDelayedHeightmapModification. Use TerrainData.SyncHeightmap instead.

  • Terrain: Deprecate TerrainData.UpdateDirtyRegion. Use TerrainData.DirtyHeightmapRegion instead.

  • Timeline: Exposed FootIK option on Timeline Animation Clips (1115652)

Fixes

  • 2D: Editor crashes when spriteshape with one sprite on a single angle in scene closes the angle. (1115439)

  • 2D: PSB files do not get packed when added to Sprite Atlas. (1114959)

  • Android: Fixed "DllNotFoundException: MonoPosixHelper" exception being thrown when MonoPosixHelper APIs are used. (1045644)

  • Android: Fixed problem with crash when using Android JNI methods from custom thread. (545977)

  • Android: Handle geometry working set out-of-memory when using Vulkan on Mali GPUs. (1056056)

  • Android: Now the same sign config is being used for both release and debug configurations. (1109570)

  • Audio: Fixed a potential crash when resetting a group's properties in the Audiomixer. (1097134)

  • Build Pipeline: Fix error when loading an object from an asset bundle on the first frame of a scene load operation under certain conditions. (1094045)

  • Editor: 0 Item GenericMenu throws Error while in Play mode. (1110510)

  • Editor: Debug.LogException will correctly be shown in Editor console when received from the player. (1103744)

  • Editor: Fix assertion message 's2 != NULL' in log files.

  • Editor: Fix editor crash while saving a scene with missing script. (1111432)

  • Editor: Fix issue with FilePathAttribute constructor throwing exception if called from MonoBehaviour constructor or another thread. (1077857)

  • Editor: Fix Missing script disappears from Inspector until selection is changed. (1095540)

  • Editor: Fix splitter view layout and resizing rounding issues. (1099360)

  • Editor: Fixed "Add Component" popup window not receiving focus in Linux editor. (1098140)

  • Editor: Fixed an issue where Editor throws Enum errors while displaying nested serialized Unity Events. (1053465)

  • Editor: Fixed an issue where folder loses focus after renaming it in the Project Window. (1114527)

  • Editor: Fixed editor hang when batch processing sprites with asterisks in file name. (1106232)

  • Editor: Fixed flicker/jumping that occured when dragging floating windows in linux editor. (1102805)

  • Editor: Fixed issue where shift+tab in linux where shift+tab activated the last active window instead of the last active element. (1107323)

  • Editor: Fixed resizing called from managed code in linux editor. (1104108)

  • Editor: Fixed the Unhandled Group assertion message. (1109197)

  • Editor: Fixes holdover of alt modifier in the editor when gaining focus for Linux editor from alt+tab (1104979)

  • Editor: Focus the settings window after it has been shown. (1110475)

  • Editor: Improve project generation time. (1111543)

  • Editor: Incorrect error dialog appears when trying to attach script with spaces in name. (1106237)

  • Editor: Linux editor now supports multiple checkable items in a submenu. (1092501)

  • Editor: Rename UI Transparency Priority to Renderer Priority in MeshRenderer component.

  • Editor: Renaming "Logging" preference in "Stack Trace" to avoid confusion. (1118914)

  • Editor: Support menu trees in EditorTool context menu.

  • Editor: Support new toolbox format for Rider.

  • Editor: Update Undo to return Prefab instances with missing assets to previous state correctly. (1056446)

  • GI: Fix issue with Total Bake Time is shown as 0:00:00 in Progressive Lightmapper after a bake in some cases. (1095980)

  • GI: Fixed experimental custom bake API.

  • GI: Fixed hashing issue when writing out AO textures for PLM.

  • GI: GPU lightmapper: Handle out of memory gracefully when BVH doesn't fit in GPU memory. This can happen when baking a terrain with high heightmap resolution.

  • GI: GPU Lightmapper: Stabilize result in various cases (compositing parameters changed, sample count changed, having 2 bounces or more). (1099004)

  • GI: Renamed "Auto Bake On/Off" to "Auto Generate Lighting On/Off" in the app bar.

  • Graphics: Editor crashes at MaterialScripting::Lerp when Renderer.material.Lerp() has a null material. (1117775)

  • Graphics: Fix crash when stripping Umbra module on platforms supporting native code stripping. (1116487)

  • Graphics: Fix fo texture atlas generation when a detail mesh material does not contain a valid texture. (776013)

  • Graphics: Fix for crashes or incorrect display when updating mesh data from script when using Vulkan and graphics jobs. (1090932)

  • Graphics: Fixed the missing geometry shader output interpolation qualifier for Metal/OpenGL. (1113018)

  • Graphics: SRP Batcher doesn't support 32 bit vertex index buffer sub-mesh on dx11. (1117383)

  • Graphics: Vulkan: Disable error spew when attempting to draw with missing bindings.

  • IMGUI: Fixed: Input field is not always updated properly after pasting. (1103315)

  • IMGUI: Pixel alignment sometimes influenced word wrapping. (1096878)

  • iOS: Fixed Build And Run to work on projects with space in path. (1108944)

  • iOS: Made Screen.currentResolution.refreshRate return actual refresh rate instead of hardcoding 30. (1117877)

  • iOS: Metal: added warning for using grabpass+AA on old ios/gpu (when store+resolve action is not supported). (1107546)

  • iOS: Metal: stopped unconditionally discarding AA depth. (1107546)

  • Linux: Fix graphical corruption in framebuffer on Nvidia Linux. (1108929)

  • Linux: Fix to leave maximized window programmatically. (1099286)

  • Linux: Fixed annoying "'Unity' is not responding" message on Linux. (1072712)

  • Linux: Fixed cursor not being confined to the game window when using CursorLockMode.Confined on Linux standalone player. (1105204)

  • Linux: Fixed framerate drops caused by repainting on excessive mouse input events. (1023587)

  • Linux: Fixed issue with keyboard input not being captured by the Game view when in Play mode. (1109908)

  • Linux: Scrolling the mouse wheel no longer produces large framerate drop. (1066760)

  • OSX: Fix for GameKit reference in the application when Game Center is not used. (1065311)

  • OSX: Removed legacy Mono config folder from Mono BE player build. (1111649)

  • Package Manager: An error could occur during package resolution if the global npm cache was corrupted. (1111208)

  • Package Manager: Disable delete and rename menu items for all package root folders in the Project window. (1101384)

  • Particles: Particle trails could be culled incorrectly when using the World Space trails option. (1089679)

  • Particles: Update particle bounce light immediately when the multiplier is changed on the Light. (1102543)

  • Prefabs: Driven properties no longer cause Prefabs to have overrides for those properties. (1115499)

  • Scripting: Fix exception when calling XRSettings methods and properties on some platforms. (1109347)

  • Scripting: Fix freeze in editor when compiling script containing quote character literal. (1111740)

  • Services: Fix crash when unhandled exception occured on background thread with Cloud Diagnostics enabled. (1114571)

  • Shaders: Fixed SHADER_MACRO to stop it from generating version numbers that are too high when Unity's major/mino version reaches double-digits. (1113175)

  • Timeline: Made drag and drop of objects between track insert the new track correctly. (1011381)

  • UI Elements: Fixed the long names not displayed correctly in the shortcut manager. (1099039)

  • UI Elements: Fixed the multiline TextField not supporting the Tab character. (984808)

  • Web: Fix disposing WWW object that has been yield returned from coroutine. (1117213)

  • WebGL: Make audio work again in Safari after Apple added auto-play restrictions (requires clicking on content to enable audio). (1089060)

  • Windows: Improved Windows crash handling reliability.

  • XR: Allow Incremental GC on Lumin.

  • XR: The two types of raycasts in the XRRaycastSubsystem were profiled using the same tag, "XR.Raycast", making them indistinguishable in the profiler. They are now called "XR.RaycastFromScreen" and "XR.RaycastRay".

  • XR: UnityEngine.XR.InputTracking's GetLocalPosition and GetLocalRotation has been deprecated.

System Requirements

For development

OS: Windows 7 SP1+, 8, 10, 64-bit versions only; macOS 10.12+. (Server versions of Windows & OS X are not tested.)

CPU: SSE2 instruction set support.

GPU: Graphics card with DX10 (shader model 4.0) capabilities.

The rest mostly depends on the complexity of your projects.

Additional platform development requirements:
  • iOS: Mac computer running minimum macOS 10.12.6 and Xcode 9.0 or higher.

  • Android: Android SDK and Java Development Kit (JDK); IL2CPP scripting backend requires Android NDK.

  • Universal Windows Platform: Windows 10 (64-bit), Visual Studio 2015 with C++ Tools component or later and Windows 10 SDK

For running Unity games

Generally content developed with Unity can run pretty much everywhere. How well it runs is dependent on the complexity of your project. More detailed requirements:

  • Desktop:

    • OS: Windows 7 SP1+, macOS 10.12+, Ubuntu 12.04+, SteamOS+
    • Graphics card with DX10 (shader model 4.0) capabilities.
    • CPU: SSE2 instruction set support.
  • iOS player requires iOS 9.0 or higher.

  • Android: OS 4.1 or later; ARMv7 CPU with NEON support or Atom CPU; OpenGL ES 2.0 or later.

  • WebGL: Any recent desktop version of Firefox, Chrome, Edge or Safari.

  • Universal Windows Platform: Windows 10 and a graphics card with DX10 (shader model 4.0) capabilities

变更集: 2403bdbdd88b