Unity 歷史版本列表
Unity 是一個遊戲開發生態系統:一個強大的渲染引擎完全集成了一整套直觀的工具和快速的工作流程來創建交互式的 3D 和 2D 內容; 輕鬆的多平台發布; 成千上萬的質量,在資源商店和知識共享 community.For 獨立開發者和工作室,Unity&rsquo 的現成的資產; S 民主化生態系統摔破的時間和成本障礙,創造獨特的美麗的遊戲。他們使用 Unity 打造民生做他們喜歡的事情:創建遊戲... Unity 軟體介紹更新時間:2021-03-23
更新細節:
What's new in this version:
Features:
- Graphics : Added real-time Point Light Shadows to URP
- 2D: Added a button in the Tile Palette window to let users toggle drawing of Grid Gizmo in the Tile Palette window
- 2D: Added a confirmation dialog for the Sprite Editor window when the Apply or Revert button is pressed. Enable or disable this option in Preferences
- 2D: Added an option to enable/disable Alpha Dilate for SpriteAtlas
- This adds ability to use Alpha Transparency for padding pixels around Sprite Borders when packing SpriteAtlas
- 2D: Added C# Job Tessellation support for Fill Area of SpriteShape
- 2D: Added Isometric Grid slicing to Sprite Editor
- 2D: Enabled users to toggle drawing of Grid Gizmo for a Grid component in the SceneView. To enable or disable this feature, use the SceneView Gizmo button or the list in the Gizmo dropdown.
- Burst: Added a compiler warning for any use of throwing an exception from a method not guarded by [Conditional("ENABLE_UNITY_COLLECTIONS_CHECKS")]. Since exceptions in Burst are only supported in the editor, this provides a useful warning to users who may be relying on try/catch behaviors for control-flow which is not supported in final game builds.
- Burst: Added ability for exceptions thrown from Burst to contain a callstack
- Burst: Added experimental support for some ArmV8.2A intrinsics (dotprod, crypto, RDMA)
- Burst: Added experimental support for tvOS
- Burst: Added first batch of Arm Neon intrinsics. Currently, only ArmV8 (AArch64) targets are supported. The supported intrinsics include all ArmV7 and ArmV8 ones
- Burst: Added intrinsics support for AtomicSafetyHandle.NewStaticSafetyId
- Burst: Added preliminary support for loading additional burst compiled libraries in play mode/standalone
- Burst: Added support for Apple silicon chipsets
- Burst: Added support for calling Burst code directly from C# without using function pointers
- Burst: Added support for creating profiler markers from Burst code
- Burst: Added support for new intrinsics
- Burst: Added support for stacktraces in Burst exceptions
- Burst: Added support for try/finally and using/foreach for IDisposable patterns
- Burst: Added support for version 11 of the LLVM compiler infrastructure
- Burst: Added support for Visual Studio 2017 for certain platforms
- Burst: Added support to load additional burst libraries in playmode/standalone for the intention of allowing Modding support on desktop platforms
- Burst: Added the new option [BurstCompile(DisableSafetyChecks = true)] which allows per job or function-pointer disabling of safety checks
- Burst: Added the option to display Burst compilation status in the Background Tasks window
- Burst: Added BurstCompiler.IsEnabled API
- Burst: An error message if attempting to BurstCompiler.CompileFunctionPointer() on a multicast delegate, since this is not supported in Burst.
- Burst: Improved Editor experience by scheduling compilation immediately after assemblies are changed, instead of waiting until Play Mode is entered.
- Burst: Improved our aliasing detection to allow DynamicBuffer structs to be easily vectorizable
- Burst: Updated Burst to fully support ARMv7 and ARMv8-A Neon intrinsics
- Burst: Updated Burst to use version 10.0.0 of the LLVM compiler infrastructure by default
- Burst: You can now select explicit x86/x64 architecture SIMD target for Universal Windows Platform
- Editor: Added Device Simulator window as a Core feature of the Editor
- Editor: Fetch the access token in a synchronous way if username and password are passed in arguments
- Editor: Improved integration Search in Unity
- Graphics: Added support for skinned mesh sampling in VFX
- Mobile: Added a transparency scaler for Adaptive Performance
- Mobile: Added settings for Adaptive Performance to control the Indexer's thermal and performance actions when using the Device Simulator
- Package: Added Visual Scripting (previously known as Bolt) as a default package
- Package Manager: Added a new Add package by name dropdown option and revamped the existing Add from git URL dropdown option
- Package Manager: Added an information box describing the current flow of the package when the version is not "Released"
- Package Manager: Provided more choices concerning the Load Next value when using the My Assets filter
- Package Manager: Removed 'See all versions' option in version list for external users, and added Project Setting for internal users to re-enable this option.
- Package Manager: Removed the "Release Candidate (RC)" tags from the Package Manager for released builds. RC packages now show the "Pre-release" tags.
- Package Manager: The Package Manager now supports installing packages from a browser hyperlink (even experimental packages).
- Package Manager: Updated Package Manager UI version tags for new Lifecycle and logic for recommending/showing available versions to users.
- Particles: Added new Emitter velocity mode - Manual. This mode can be used to override the ParticleSystem's calculated emitter velocity value. This gives scripts complete control over the ParticleSystem velocity. It is also possible to use this whilst authoring a system to simulate movement when making an effect that relies on movement.
- Scripting: Added the ability to setup script compilation defines in the assmebly definition inspector, depending on the Unity version the scripts are being compiled for.
- UI Toolkit: Added 2D Sprites use as background style images
- UI Toolkit: Added in-Canvas style toggles for flex and text alignment
- UI Toolkit: Added rich text style properties to the Inspector
- UI Toolkit: Added sprite support in UI Toolkit
- UI Toolkit: Added support for azimuthAngle, altitudeAngle, twist, and multiple Pen devices in EventSystem when using Input System package
- UI Toolkit: Added support for mixed values mode in the UI Toolkit when implementing the Property field
- UI Toolkit: Added the ability to drag and drop and re-order elements in the Canvas
- UI Toolkit: Added the PanelEventHandler and PanelRaycaster components. These enable the UI Toolkit panels to receive events and selections from a standard UI EventSystem. Added the SetUITookitEventSystemOverride method to EventSystem. This lets you override the UI Toolkit event system and define whether to create panel components automatically on start. Added PanelSettings sortingOrder to determine drawing and selection order between UI Toolkit panels and UI canvases.
- UI Toolkit: Added UI Builder, a visual UI authoring tool for UI Toolkit, to the Unity Editor. This was previously released as a package (com.unity.ui.builder).
- UI Toolkit: Added user theme stylesheet enumeration and preview in the Canvas
- UI Toolkit: Added USS variable search in Inspector style fields
- UI Toolkit: Implemented dynamic texture slots to reduce batch breaking
- XR: Implemented Late Latching for XR to reduce rendering latency
- XR: Implemented Late Latching to reduce VR latency
Improvements:
- 2D: Added information foldout in Tilemap Inspector for showing the Tile and Sprite assets used in the Tilemap
- 2D: Better placements of Tiles generated from Sprites whose Texture was Isometric Sliced in the Sprite Editor
- 2D: Improve performance when applying changes after slicing a texture for the Sprite Editor
- 2D: Improved Automatic Palette Sizing by setting a better fitting size when sizes of Sprites are of multiples of each other. Otherwise, the largest size for Sprites is used.
- 2D: Improved memory and speed of Animation SpritePostProcess for large sprite count
- 2D: Improved performance in SceneView for SceneViewOpenTilePaletteHelper
- 2D: Improved slicing performance
- 2D: Show grid preview when slicing spritesheets.
- 2D: Store and reuse last used location when creating Tiles from the Tile Palette window.
- 2D: Update 2D template to use current verified version of 2D packages.
- Android: Enabled use of Android 11 setFrameRate API when Optimized Frame Pacing is enabled and Vulkan is used, similar to OpenGL ES.
- Android: Expanded the Create symbols.zip build setting for Android. The options are Disabled/Public/Debugging. Modified the symbols to always have the .so extension. Symbols are included for libil2cpp (if IL2CPP is selected), libmonobdwgc-2.0 (if Mono is selected), libunity, libmain. If uploading the zip package to Google Play Console for automatic stacktrace resolving, use Public symbols
- Android: Improved load and reload time for OBBs.
- Android: Improved Time.deltaTime consistency for OpenGL ES and Vulkan graphics APIs.
- Android: Updated Android NDK to r21d.
- Asset Import: Improved performance when registering Scripted Importers, especially when large numbers of scripted importers are being registered together
- Asset Import: Optimized the import processing when using "Alpha is Transparency" texture import option. The processing is now several times faster.
- Asset Import: Reduced cost of domain reloads on asset import worker process by removing unnecessary additional domain reloads.
- Asset Pipeline: Added documentation for: IsDirectoryMonitoringEnabled, IsAssetImportWorkerProcess, GetTextMetaFilePathFromAssetPath, CacheServerConnectionChangedParameters, cacheServerConnectionChanged.
- Asset Pipeline: Calling ForceProduceArtifact now also omits the use of local cached artifacts, in addition to omitting cache server artifacts.
- Asset Pipeline: Changed API doc:AssetDatabase.LoadAssetAtPath.
- Asset Pipeline: Changed how logging behaves when an import worker is importing. Logging is now forwarded to the main editor log.
- Asset Pipeline: Improved calling ProduceArtifact rapidly so that it doesn't produce multiple artifacts.
- Asset Pipeline: SpriteAtlas importer gathers its differences differently now.
- Build Pipeline: (DS-1018) Added WithDebugInformationFormat to the compiler settings for MsvcCompiler.
- Build Pipeline: Upgraded udp package to 2.1.0.
- Burst: Improved codegen.
- Core: Improved error message in certain cases where the disk is full.
- Core: Reduced thread contention on JobQueue internal memory allocation.
- Documentation: Clarified an aspect of Mip Stripping docs.
- DX12: Optimize ray tracing acceleration structure building on the render thread (roughly 2x speedup).
- DX12: When reading vertex attributes from vertex buffers (closest hit / any hit shaders), we now fill only the channels that are available instead of returning 0 when trying to read more attribute channels than available.
- Editor: A newly-created Scene View window now copies last active Scene View settings
- Editor: Added "Localize compiler messages" to Preference Window>Language to localize compiler messages in the current language.
- Editor: Arrays/lists inspector UI control now supports multi-selection of array elements.
- Editor: Clear on Recompile' option added to console's 'Clear' context menu
- Editor: Improve the multi-selection display of Culling Mask and Static fields of certain components
- Editor: Improved multi-select performance in ReorderableList
- Editor: Improved the reliability of our SQLite implementation.
- Editor: LODGroup values can now be edited via input fields in addition to the slider. Input field editing also works in multi-selection mode.
- Editor: Optimized mobile ASTC texture compression (about two times faster now).
- Editor: Optimized mobile ASTC texture compression again (~10% faster).
- Editor: Optimized mobile ETC/ETC2/EAC texture compression (about two times faster now).
- Editor: Optimized mobile PVRTC texture compression (8% faster).
- Editor: Optimized various parts of texture importing (5%-20% faster depending on settings and texture types used).
- Editor: Optimized various parts of texture importing (~10% faster depending on settings and texture types used).
- Editor: Reduced Editor repaints while rendering HDRP.
- Editor: Removed Enable Code Coverage option from Preferences/General and moved it inside the Code Coverage package.
- Editor: Scene/Game view Gizmos drop-down window now has a Search field
- Editor: Two new events added to ObjectSelector: ObjectSelectorSelectionDone: An item in the list is double-clicked; and ObjectSelectorCanceled: The window was closed by explicitly pressing escape on the keyboard.
- Editor: Updated Navigation icons
- GI: Hid Enlighten-specific settings when it is not supported by the SRP. Affected areas are Mesh Renderer, Light, Scene view, Lighting Explorer and Lightmap Parameters.
- GI: Removed very verbose logging behavior during lighting data asset building.
- GI: Unity now stores memory-related logs in a file instead of just reporting them in the console.
- Graphics: Exposed RayTracingAccelerationStructure.RemoveInstance to C# Scripting API.
- Graphics: Fixed async readback crashing on DX12 if buffer was a SubUpdates buffer.
- Graphics: Improved error on DX12 while trying to set stable power state but windows was not in developer mode.
- Graphics: Improved the compression speed of ASTC textures.
- Graphics: Improved the loading time of single mip cubemaps on GameCore.
- Graphics: Optimized static batching process, e.g. entering play mode with 30k static batched objects in the editor is faster by two seconds.
- Graphics: Removed redundant calls when setting shader program parameters.
- Graphics: UnityEngine.Profiling.Recorder.gpuElapsedNanoseconds now can measure GPU time on OpenGL ES3.
- IL2CPP: Improved IL2CPP failure so it results in one (instead of two) error messages. The error message text is displayed with as little extra information as possible, so that it is more understandable.
- IL2CPP: Improved the error message that was displayed when building for Windows and the required Visual Studio components were not installed.
- IL2CPP: On Android, the public symbol file (for ex., libil2cpp.sym.so) will no longer contain debugging symbols, it will only contain the symbol table. Debugging symbols are present in libil2cpp.dbg.so. This should significantly lower the file size of libil2cpp.sym.so.
- IL2CPP: When script debugging is enabled, stack traces include C# source code line numbers for all assemblies where debug symbols are available.
- Kernel: Fixed instability in FolderContentsMatchesTheOneReturnedByGenerateDirectoryStructure test.
- License: Synced access token with L-Client upon change.
- Mobile: Updated Mobile Notifications package to 1.3.2.
- Networking: Make UnityWebRequest objects properly show up in profiler
- Package: A warning is raised when adding more than one Input unit in a SuperUnit.
- Package: Open the inspector button and double clicking a graph in the project browser, now opens the visual scripting editor.
- Package: Updated input system package to 1.0.2.
- Package: Updated to ProBuilder 5.0.0.
- Package: Updated udp 2.1.4.
- Package: Warns the user when an Input System Package event is referencing an action of the wrong type for that event.
- Physics: Rearrange the ArticulationBody properties so that damping and friction is located right after mass and is not visually separated from it by the anchor properties.
- Prefabs: Optimized the performance of undo operations on objects in nested Prefabs by up to 30%.
- Profiler: Added profiling support for Asset importing via direct IP connection.
- Profiler: Added progress bar for loading and saving Profiler data.
- Profiler: Added the ability to specify a port in the Profiler Window, when connecting to the Profiler to a player via an IP address.
- Profiler: Changed call stacks displayed in the CPU Usage Profiler module so that they only show calls that have more information than just their memory address, by default. Enable Full details for Call Stacks if you want to see the addresses.
- Profiler: Changed call stacks displayed in the selection tool-tip of Timeline view so that they are clickable if they contain file information.
- Profiler: Duplicated sample names in the Call view's tooltip to improve readability
- Scripting: Added c/cpp/mm/m/java/h as defaults to "Project Settings->Editor->Additional extensions", so they appear in the code editor, which therefore provides an easy way to edit and inspect them
- Scripting: Added support for new managed code stripping annotation attributes.
- Scripting: Added support for Unity Version Defines in Assembly definition import options.
- This feature improvement allows scripts to easily specify different code snippets for different Unity version ranges. This is especially useful for introducing calls to newly added public APIs, in which case these API calls need to be guarded by defines based on a Unity version range of a given Unity version or later.
- The Unity version range expression syntax is the same as the package version range expressions. The Unity version format differs from the package version format, so Unity version expressions are evaluated based on some rules specific to the Unity version format:
Comparison of release types follows the following rules:
- So for example, an alpha version is always smaller (earlier) than a beta version, regardless of the Incremental version.
- The Unity versions are allowed to have suffixes (e.g 2020.1.3-bonfire) which are ignored by the Unity version comparison code
- Chinese releases are equivalent to public releases (f) so for the sake of comparison in the version range expression 2020.1f3 would be equal to 2020.1c3.
- Experimental releases don't include an Incremental Version. For example. everything after 2020.2.1x would be treated as a suffix and ignored by the version comparison.
- Scripting: Changed Roslyn analyzers to be run as part of the normal compilation step.
- This also results in analyzer errors being treated as compiler errors.
- Scripting: Greatly improved the performance of GameObject.FindGameObjectWithTag and GameObject.FindGameObjectsWithTag.
- Scripting: Improved the performance of the ApiUpdater.
- Scripting: Improved the user interface when setting up Unity version defines for asm definitions in the Editor.
- Scripting: Script Compilation is now incremental across player builds.
- Scripting: Script compilation now has a background task progress bar when auto-refresh is disbled.
- Scripting: Script Updater approval dialog now shows you which files will be overwritten before you give permission.
- Scripting: Script Updater now causes fewer script recompiles when importing/upgrading projects.
- Scripting: Scripting: Improved documentation for Application.isPlaying.
- Scripting: The errors that trigger a script updater are no longer displayed in the console window.
- Scripting: The MenuItem for manually running script updater is removed. It now always offers to update when it finds a compilation error it can fix.
- Search: Fixed search doesn't display all results in project view. It now includes the same result as the legacy search engine (i.e. AssetDatabase.FindAssets)
- Search: Improved the search help text when there is no result for the current search tab.
- Shaders: #pragma require now works from compute shaders as well.
- Shaders: Added shader name to messages in the log about shader state being unsupported,.
- Shaders: Shaders can now use UNITY_PLATFORM_<PLATFORM_NAME> defines to specialize compilation per build target platform (examples: UNITY_PLATFORM_OSX, UNITY_PLATFORM_WINDOWS).
- Terrain: Added "Delete Brush..." button to the brush selection UI.
- Terrain: Now a "Hole Edge Padding" option is added to terrain Detail Prototype that you can control how far details objects will be from the hole edge.
- Terrain: Now an error message will show up on UI when you select an invalid detail prototype.
- Terrain: Reduced Terrain per-frame CPU update cost.
- UI Toolkit: Improved renderer batching.
- Version Control: Smart Merge (UnityYamlMerge) now allows ignoring "tiny" float differences in some fields. For a configuration example, see mergerules.txt
- WebGL: Added support for QualitySettings.vsyncCount.
- WebGL: Added support for smooth rendering of decimated frame rates for 60/k fps (30, 20, 15, 12, 10 and 5 fps).
- WebGL: Added support for vsyncless rendering for development/profiling purposes. To enable this, set QualitySettings.vsyncCount = 0 and Application.targetFrameRate = 1000.
- XR: Updated API docs on XRDisplaySubsystem.scaleOfAllViewports and XRDisplaySubsystem.scaleOfAllRenderTargets.
- XR: Updated MagicLeap XR Plugin package to 6.2.2.
- XR: Updated Oculus XR Plugin package to 1.8.1.
- XR: Updated Windows Mixed Reality package to 4.1.1.
- XR: Updated XR Plug-in Management package to 3.2.16 and Windows MR XR Plug-in package to 5.0.0.
- API Changes
- 2D: Added: Added Tilemap.GetUsedSpritesCount/NonAlloc to allow users to get information on the Sprites used in the Tilemap.
- 2D: Added: Added Tilemaps.TileFlags.KeepGameObjectRuntimeOnly flag to allow users to keep GameObjects from Tiles after removing the originating Tile.
- 2D: Added: SpriteAtlasAsset can be loaded/saved using SpriteAtlasAsset.Load and SpriteAtlasAsset.Save.
- Android: Added: Added API level 30 to AndroidSdkVersions enum.
- Animation: Added: Added a new parameter to the MatchTarget function for auto matching completion in case of interruption.
- Animation: Added: Added UnbindAllStreamHandles and UnbindAllSceneHandles to manage Animation C# job handles
- Asset Bundles: Added: Added AssetBundle.UnloadAsync for unloading assetbundles in the background
- Asset Import: Added: Added CanOpenAssetInEditor method to check whether an asset would be opened in Editor.
- Build Pipeline: Added: ContentBuildInterface.CalculatePlayerSerializationHashForType for providing precise per type dependency tracking for incremental rebuild of asset bundles.
- Build Pipeline: Added: New API FilterToSubset on BuildReferenceMap & BuildUsageTagSet providing more control over native build data, reducing unnecessary asset bundle rebuilds.
- Burst: Added: Intrinsics: Neon - Added support for basic vld1 APIs.
- Core: Added: Added new Screen, Application and SystemInfo classes in UnityEngine.Device namespace, that can mimic platform-specific behavior in the Unity Editor when used with Device Simulator.
- Editor: Added: Added a callback when pivot mode, pivot rotation, view tool enable and grid snap enable are changed.
- Editor: Added: Added EditorGUIUtility.SetMainWindowPosition.
- Editor: Added: Added MeshPreview class for drawing an interactive Editor preview of a Mesh asset
- Editor: Added: Added attributeType argument to OnOpenAssetAttribute to denote a function used to check if the asset would be opened in Editor.
- Editor: Added: API method for setting custom diff tool
- Editor: Added: EditorGUI.LinkButton and EditorGUILayout.LinkButton are now public.
- EditorUtility.OpenPropertyEditor is now public.
- Editor: Added: EditorUtility SetDefaultParentObject and ClearDefaultParentObject methods were added.
- Editor: Added: Improved Search API documentation and added many examples.
- Editor: Changed: HelpURLAttribute now supports derived classes in order to generate dynamic URLs.
- Editor: Obsoleted: Remove Slave from MPE API and documentation.
- Editor: Obsoleted: Renamed some SearchService API's classes to prevent name clashes.
- GI: Added: Added two new callbacks: LightProbes.needsRetetrahedralization which is called whenever the current registered probes and tetrahedralization are out of sync, and LightProbes.tetrahedralizationCompleted which fires after (re-)tetrahedralization is done.
- Graphics: Added: Added an option to flag renderers as static shadow casters in order to facilitate the implementation of cached shadow map in SRP.
- Graphics: Added: Added methods to check if Material/MaterialPropertyBlock contains a property based on type (e.g. MaterialPropertyBlock.HasFloat, Material.HasColor, etc.).
- Graphics: Added: Added new API Graphics.minOpenGLESVersion and built-in keyword SHADER_API_GLES30.
- Graphics: Added: Added new API SystemInfo.GetRenderTextureSupportedMSAASampleCount(RenderTextureDescriptor desc) to query the correct MSAA samples count of a RenderTexture.
- Graphics: Added: Added new SystemInfo.supportsStoreAndResolveAction API to check for StoreAndResolveAction store action support on a specific platform.
- Graphics: Added: BatchRendererGroup: Added optional visibleIndicesY array. Data available in shader in Y channelenderer V2).
- Graphics: Added: Exposed the API to set the renderDynamicObjects for Custom reflection probes.
- Graphics: Added: Made GraphicsSettings.GetGraphicsSettings() public.
- Graphics: Added: Support for the PlayStation 5 platform has been added.
- Graphics: Added: Support for the XboxSeries platform has been added.
- Graphics: Changed: Added callbacks to RenderPipelineManager that don't cause GC
- Graphics: Changed: RenderRequestMode now has enum values for PBR materials data.
- HDRP: Added: Added a history rejection criterion based on if the pixel was moving in world space
- HDRP: Added: Added a new function in GeometryTools.hlsl to calculate triangle edge and full triangle culling.
- HDRP: Added: Added an additional check in the "check scene for ray tracing"
- HDRP: Added: Added color and intensity customization for Decals.
- HDRP: Added: Added new API in CachedShadowManager.
- HDRP: Added: Added pivot point manipulation for Decals (inspector and edit mode).
- HDRP: Added: Added the default quality settings to the HDRP asset for RTAO, RTR and RTGI
- HDRP: Added: Added UV manipulation for Decals (edit mode).
- HDRP: Added: API to allow OnDemand shadows to not render upon placement in the Cached Shadow Atlas.
- HDRP: Added: Exposed update upon light movement for directional light shadows in UI.
- iOS: Added: Added iOS.Device.iosAppOnMac flag to check if app built for iOS is running on Mac equipped with Apple Silicon chip.
- iOS: Obsoleted: The public accessor for the legacy Game Center player ID is now unavailable, and will be removed completely in the next major release of Unity.
- Mobile: Added: Adaptive Performance: Updated the version defines for the device simulator to support it in 2021.1 without package.
- Networking: Added: UnityWebRequest now supports sending/receiving data using NativeArray, avoiding managed allocations (UploadHandlerRaw and DownloadHandlerBuffer)
- Package: Added: Added ApplyAfter option to ImpulseListener, to add control over the ordering of extensions.
- Package: Added: New feature: CinemachineConfiner2D - Improved 2D confiner.
- Package Manager: Added: The UnityEditor.PackageManager.PackageInfo class has a new GetAllRegisteredPackages method which returns the list of packages currently registered.
- Package Manager: Obsoleted: UnityEditor.PackageManager.PackageInfo.status' and 'UnityEditor.PackageManager.PackageStatus' are now obsolete.
- Particles: Added: Added emitterVelocity property to InitialModule.
- Physics: Added: Expose ArticulationBody.collisionDetectionMode property to set various collision detection modes, like Discrete, Continuous and etc.
- Physics: Added: Expose ArticulationBody.computeParentAnchor option to control whether the parent anchor is matched to the other one automatically or not.
- Physics: Added: Expose ArticulationBody.SnapAnchorToClosestContact function to place the anchor to a position where the risk of collider overlap is minimised.
- Physics: Added: Make WheelCollider.sprungMass writable, to enable explicit mass distributions. In addition to that, expose WheelCollider.ResetSprungMasses() to reset the vehicle back to automatically calculated implicit sprung masses. It's the same usage pattern as with Rigidbody.inertiaTensor / Rigidbody.ResetInertiaTensor().
- Player: Added: Added several object pool implementations including: ObjectPool, LinkedPool, GenericPool, UnsafeGenericPool and CollectionPool.
- Profiler: Added: Added API for interacting with the Profiler Window and the selection in the CPU and GPU Usage Profiler modules.
- Scripting: Added: Added a new AsyncReadManager FileInfo() API to check for a file's existence and (if present) the file size.
- Scripting: Added: Added Vector3Int.forward and Vector3Int.back.
- Scripting: Added: Introduced query for compute shader hardware support:
- ComputeShader.IsSupported(int kernelIndex).
- Scripting: Added: Time.timeAsDouble added
- Scripting: Time.timeSinceLevelLoadAsDouble added
- Scripting: Time.fixedTimeAsDouble added
- Scripting: Time.unscaledTimeAsDouble added
- Scripting: Time.fixedUnscaledTimeAsDouble added
- Scripting: Time.realtimeSinceStartupAsDouble added.
- Scripting: Changed: New Added Unity.IO.LowLevel.Unsafe.ReadStatus.Truncated result for completion of a truncated read. A truncated read occurs when an asynchronous file request attempts to read beyond the end of a file.
- Added Unity.IO.LowLevel.Unsafe.ReadStatusExtension methods -Unity.IO.LowLevel.Unsafe.ReadStatusExtension.Complete() returns true on successful completetion regardless of truncated file reads.
- Scripting: Deprecated: Deprecated IIl2CppProcessor.
- Scripting: Deprecated: Deprecated IUnityLinkerProcessor.OnAfterRun.
- Scripting: Deprecated: Deprecated IUnityLinkerProcessor.OnBeforeRun.
- Scripting: Obsoleted: Removed UnityEditorInternal.ScriptEditor.
- Scripting: Removed: Previously undocumented EditorUtility.CompileCSharp() is removed. Its functionality can be achieved through the supported AssemblyBuilder class.
- Scripting: Removed: Removed UnityEditorInternal.GetExternalScriptEditorArgs as it was throwing not supported exception.
- Services: Changed: Updating analytics dashboard to point to new location.
- Shaders: Deprecated: Material, MaterialPropertyBlock and Shader API for working with "Int" properties is deprecated. Use "Integer" or "Float" properties and the corresponding API instead.
- UI Toolkit: Added: Added a new dropdown menu made of VisualElements to enable popup fields in runtime.
- UI Toolkit: Added: Added a new DropdownField control to UI Toolkit runtime.
- UI Toolkit: Added: Added KeyboardNavigationManipulator to simplify the implementation for users.
- UI Toolkit: Added: Added MeasureTextSize method for InputFields.
- UI Toolkit: Added: Added RadioButton and RadioButtonGroup controls.
- UI Toolkit: Added: UQuery: Enumerator support allows for foreach iteration with no or minimal gc allocations.
- UI Toolkit: Changed: ProgressBar was moved to UnityEngine.UIElements to support runtime.
- UI Toolkit: Obsoleted: ShowHorizontal is obsolete. Use horizontalScrollerVisibility instead.
- UI Toolkit: Obsoleted: ShowVertical is obsolete. Use verticalScrollerVisibility instead.
- Universal: Added: Fixed material upgrader to run in batch mode
- Universal: Added: Removed Custom.meta which was causing warnings
- VFX Graph: Added: Added sample vertices of a transformed skinned mesh with Position (Skinned Mesh) and Sample Skinned Mesh operator.
- VFX Graph: Added: Placement option (Vertex, Edge, Surface) in Sample Mesh & Skinned Mesh, allows triangle sampling.
- XR: Added: Updated XR Plug-in Management to 4.0.1.
Changed:
- 2D: Updated com.unity.2d.sprite package license.
- 2D: Updated com.unity.2d.tilemap package license.
- Android: Removed use of QualitySettings.vSyncCount for Android.
- Android: Vulkan is no longer preferred over OpenGL ES when using Android 7 and for all Mali Midgard GPUs.
- Asset Import: When Meshes have no material defined in the imported file, the ModelImporter now assigns the default material to them rather than creating a 'No name' material sub-asset.
- Burst: Burst enters RC phase.
- Burst: Burst now uses platform-provided memory intrinsics for iOS, tvOS, WASM, and console platforms.
- Burst: Bursted DOTS Runtime Jobs are now decorated with [NativePInvokeCallback] instead of [MonoPInvokeCallback]. This fixes the problem where [MonoPInvokeCallback] jobs could generate callback wrappers which could cause native code to inadvertently interop with the managed VM.
- Burst: Changed how exceptions throw types and messages are stored in our Burst binaries to reduce binary size.
- Burst: Changed the Burst menu-item Safety Checks to a modal choice of Off, On, or Force On. Force On will overwrite any user job or function-pointer with DisableSafetyChecks = true. To avoid users falling into the consistent trap of having Safety Checks set to Off, any reload of the Editor will issue a warning telling the user that Safety Checks have been reset to On.
- Burst: Changed to inliner heuristics to improve build time and reduce executable size.
- Burst: DOTS Runtime shares the logging code path with the general case.
- Burst: Eager-compilation is now cancelled when script compilation starts, to prevent spurious errors related to recompiled assemblies.
- Burst: Exception strings no longer contain the entry-point name of the job/function-pointer that caused the throw. This change was required because the Burst compiler has to produce deterministic results from any given compile, which is fundamentally opposed to per-entry-point function derivations.
- Burst: Improved Burst initialization time.
- Burst: Improved Burst Inspector loading time.
- Burst: Improved eager-compilation performance.
- Burst: Improved performance of "eager-compilation" (scheduling compilation immediately after assemblies are changed) by cancelling queued eager-compilation when entering play mode with Synchronous Compilation unchecked.
- Burst: Improved performance of eager-compilation by not eager-compiling test assemblies.
- Burst: In versions of Unity older than 2019.3, changing the following options in the Burst menu now requires the Editor to be restarted: Enable Compilation, Safety Checks, and Native Debug Mode Compilation. In versions of Unity older than 2019.3, previously-compiled methods were not recompiled after changing those options, which could lead to undefined behavior where methods might not be compiled with the correct options. This change removes that possibility.
- Burst: Made the compiler better at constant-folding complex static readonly constructors.
- Burst: Open-generic static methods are now hidden in the Burst Inspector. They are not supported by Burst, but they were previously visible.
- Burst: Temporarily removed the Burst compiler warning about exception throws not in [Conditional("ENABLE_UNITY_COLLECTIONS_CHECKS")] methods, to let us address user feedback. The next minor version of Burst will reincorporate this in a more friendly manner.
- Burst: The Burst Inspector no longer uses JIT compilation. The code it shows is now compiled the same way as for editor / player usage.
- Burst: The command line option --burst-disable-compilation now entirely disables Burst, including the AppDomain.
- Burst: Updated Cross Compilation Tooling To LLVM 10.
- Burst: Upgraded Burst to use LLVM Version 11.0.1 by default, bringing the latest optimization improvements from the LLVM project.
- Burst: Warnings are hidden in the inspector view.
- Burst: When using "Executable Only" build type on Universal Windows Platform, Burst will now only generate code for a single CPU architecture that you're building for.
- Editor: Deleting an object reference array entry in the Inspector now removes that array element. Previously first deletion set the element reference to none, and the second deletion deleted the element.
- Editor: Deprecated Device Simulator package, feature moved to Core.
- Editor: Quick Search is now part of the Unity Editor and no package needs to be installed.
- Graphics: Changed so texture formats DXT1 and DXT5 in the UI labels are now named "DXT1|BC1" and "DXT5|BC3", indicating terminology used by modern graphics APIs.
- Graphics: Changed switch shaders to now use separate samplers instead of combined texture-samplers objects.
- Graphics: ComputeBuffer.IsValid now returns false when compute is not supported and ComputeBuffer.BeginWrite throws InvalidOperationException for invalid ComputeBuffers
- Graphics: Removed postprocessing package from core packages list.
- Graphics: Texture2D.Compress now compressed R8 textures to BC4 and R8G8 textures to BC5, on mobile platforms ETC/EAC are used.
- Graphics: Updated postprocessing package to 3.1.0.
- Graphics: VT-internal warnings no longer show up in the editor window, but still get printed into the editor log file.
- HDRP: Avoids unnecessary RenderGraphBuilder.ReadTexture in the "Set Final Target" pass.
- HDRP: Changed Path Tracing's maximum intensity from clamped (0 to 100) to positive value
- HDRP: Changed some light unit slider value ranges to better reflect the lighting scenario.
- HDRP: Changed the clamping approach for RTR and RTGI (in both perf and quality) to improve visual quality.
- HDRP: Changed the convergence time of ssgi to 16 frames and the preset value.
- HDRP: Changed the name from the Depth Buffer Thickness to Depth Tolerance for SSGI
- HDRP: Changed the source value for the ray tracing frame index iterator from m_FrameCount to the camera frame count
- HDRP: Changed the warning message for ray traced area shadows
- HDRP: Disabled specular occlusion for what we consider medium and larger scale ao > 1.25 with a 25cm falloff interval.
- HDRP: Improved robustness of volumetric sampling in path tracing
- HDRP: Removed backplate from rendering of lighting cubemap as it did not really work conceptually and caused artefacts.
- HDRP: Removed the material pass probe volumes evaluation mode.
- HDRP: The RTAO's history is now discarded if the occlusion caster was moving
- HDRP: Tidy up of platform abstraction code for shader optimization.
- HDRP: Transparent materials created by the Model Importer are set to not cast shadows.
- HDRP: Unifying the history validation pass so that it is only done once for the whole frame and not per effect.
- HDRP: Updated the tooltip for the Decal Angle Fade property (requires to enable Decal Layers in both HDRP asset and Frame settings)
- Mobile: Made session bugfixes for Adaptive Performance provider subsystem management.
- Package: Storyboard Global Mute moved from Cinemachine menu to Cinemachine preferences.
- Package: UI update - Moved Cinemachine menu to GameObject Create menu and Right Click context menu for Hierarchy.
- Package: Updated com.unity.cinemachine to 2.7.2.
- Package: Updated com.unity.purchasing version to 3.0.1.
- Package: Added the Code Coverage package at version 1.0.0. This package helps you identify areas of your code that need more testing, even if you haven't written any automated tests.
Package: Updated FBX Exporter package to 4.0.1:
- https://docs.unity3d.com/Packages/[email protected]/manual/index.html
- Package Manager: The Package Manager no longer discards the existing package state in case of critical errors such as failure to parse the project manifest.
- Scripting: AsyncReadManager.Read no longer writes the number of bytes read to the input ReadCommand array. The bytes read can now be accessed via the new ReadHandle.GetBytesRead method.
- Scripting: Changed NativeArray limit of 2GiB in size, and now it can contain 2^31 items instead.
- Scripting: Improved Roslyn analyzers that are inside assembly definition folders so that they apply to the asmdef assembly itself and to other assemblies that reference the asmdef assembly, but not to any other code in the project.
- Scripting: Reintroduced a warning thrown when a script derived from MonoBehaviour has the same name as a built-in component (e.g. Transform).
- Search: Removed the resource search provider (res:).
- Shaders: Editor now skips warming up shaders from shader collections in the Preloaded shaders section of Graphics settings.
- Shaders: Increased the global shader keyword limit to 384.
- Shaders: Shader compiler logs are now generated in Logs folder instead of Library.
- Timeline: Updated Timeline package to version 1.5.2
- UI: Changed the license file based on legal requirements.
- UI: Changed the Shader property for soft masking from _MaskSoftnessX / Y to _UIMaskSoftnessX / Y so we dont overlap with TMP's shader properties.
- UI Toolkit: Allow :root pseudo selector to target the element receiving the style sheet.
- UI Toolkit: Changed DynamicAtlas system to track texture references and support dynamic removals.
- UI Toolkit: Changed the blending equation to allow blending of the resulting RenderTexture.
- UI Toolkit: Improved renderer batching.
- UI Toolkit: Mobile touch scrolling is now supported in scrollviews and listviews.
- UI Toolkit: Text rendering is now handled by the textcore fontengine for both the editor and runtime.
- UI Toolkit: Updated the menu item for Live Reload to be called "UI Toolkit Live Reload" to avoid user confusion.
- VFX Graph: Tidy up of platform abstraction code for random number generation, requires a dependency on com.unity.render-pipelines.core for those abstractions.
- XR: Updated com.unity.xr.legacyinputhelpers package to 2.1.6.
- XR: Updated Oculus XR Plugin package to 1.7.0.
- XR: Updated the ARCore, ARKit, ARKit Face Tracking, ARFoundation, ARSubsystems packages to 4.1.1.
- XR: Updated the verified package versions for AR Foundation and related packages.
- XR: Updated Windows XR Plugin package to 5.2.0.
- XR: Updated XR Plug-in Management package to 3.2.17.
Fixed:
- 2D: Clear existing Tile data in Tilemap when refreshing Tilemap due to editor validation
- 2D: Fixed Create Physics2DMaterial menu item not being available when Physics2D module is enabled
- 2D: Fixed dynamic batching of SpriteRenderers with TilemapRenderers in Individual Mode with the BaseMap shader property.
- 2D: Fixed exception when upgrading/downgrading packages used by Sprite Editor Window that is currently active
- 2D: Fixed Grid Selection outline when undoing a Grid Select action
- 2D: Fixed IDE tooltip for Tilemap documentation
- 2D: Fixed missing Sprite reference after loading scene from AssetBundles
- 2D: Fixed null exception error when entering PlayMode with the Tile Palette window open and Inspector window open inspecting a GameObject
- 2D: Fixed offset placement of Tile placed when dragging in a single Sprite or Tiles onto the Tile Palette window.
- 2D: Fixed Sprite Editor Window doesn't show the Sprite when the Inspector is locked and the Sprite is not selected in the Project window.
- 2D: Fixed Sprite is removed from Objects for Packing list of Sprite Atlas when using undo after replacing the Sprites
- 2D: Fixed Sprite with no animation data is being processed during AssetPostProcessor.
- 2D: Made com.unity.2d.sprite and com.unity.2d.tilemap discoverable in Package Manager.
- 2D: Mark com.unity.2d.tilemap.extras as discoverable.
- 2D: Name Tiles based on Texture of Sprite when creating Tiles from nameless Sprites
- 2D: Order Tile Palette better when creating Tiles from a Sprite Texture when the size of Sprites are of multiples of each other
- 2D: Prevent Tile Palette Prefabs from showing as a Active Target for the Tile Palette window when selected.
- 2D: Removed border visual from 2D default Sprite textures
- 2D: Sprite Editor Window shows Editor Window's 'Save Changes' dialog before if it is closed if there are pending changes that needs to be apply
- 2D: Store modified values of Grid Selection when asset/s are saved
- Ads: Fixed issue where there could be a 400 error when enabling ads
- AI: Fixed editor crash when accessing null terrain tree meshes
- Android: Added a warning if making a signed release Android build without Arm64 binaries
- Android: Fixed a compilation error that occurred when using framebuffer fetch on single-channel texture formats
- Android: Fixed a crash that occurred when enabling/disabling camera access permission
- Android: Fixed a mismatch between deltaTime and unscaledDeltaTime
- Android: Fixed a problem with custom Aspect ratio value in manifest file
- Android: Fixed an issue when using RenderDoc on Android with Vulkan on some Adreno devices caused by Unity's ASTC HDR support detection
- Android: Fixed an issue where the Build Settings window went black when SDK/build-tools were missing
- Android: Fixed crash when using UAV with Vulkan on older Mali devices
- Android: Fixed issue where GL_EXT_shader_framebuffer_fetch wasn't added when fragment method is in an included file.
- Android: Fixed wrong caret position inside InputField when quickly typing or deleting text
- Android: Modified behavior to deselect ARM64 when switching to Mono, and restore when switching back to IL2CPP
- Android: Reduced the overhead of making the GetBigLittleConfiguration() call
- Android: Removed gray banner that was displayed for projects built with -nographics enabled
- Android: Updated Android Logcat package to version 1.2.1.
- Android: Updated the Run Device tooltip on how to access the Preferences menu item
- Android: When running Android SDK tool with elevated privileges use JDK bundled with Unity, previous behavior was the SDK tool would use java from PATH env variable, and would fail if there's no java installed and there's no java path set in PATH env variable
- Animation: Fixed a display issue in the Inspector window that occurred after adding multiple StateMachineBehaviours to an object
- Animation: Fixed an animation out of bounds issue
- Animation: Fixed an issue where a humanoid mask did not correctly override during a transform
- Animation: Fixed an issue where an Animation clip with a length less than 0.05 seconds would not left align
- Animation: Fixed an issue where Timeline window playback was disabled after unlinking the Animation window
- Animation: Fixed an issue with culling mode when the renderer became visible
- Animation: Fixed an issue with stepped animation evaluation
- Animation: MeshFilter.mesh property is now animatable
- Asset Bundles: Fixed main thread hitching when loading an AssetBundle asynchronously while loading other assets in the background.
- Asset Import: Added Help box in the Model importer rig panel to inform about the state of QualitySettings.skinWeights when the Model importer skin weights value is higher
- Asset Import: Fixed bug where renaming a script doesn't properly take effect on asset import workers.
- Asset Import: Fixed corrupted PSD file could crash the Editor
- Asset Import: Fixed issue where embedded textures cannot be extracted from FBX files
- Asset Import: Fixed issue where FBX and Sketchup files with paths longer than 260 characters cannot be imported on Windows.
- Asset Import: Fixed issue where Reset does not apply to the 'Bake Axis conversion' setting in ModelImporter
- Asset Import: Fixed OnOpenAsset callbacks ignoring callback order
- Asset Import: Fixed such that Arguments are used as doubles rather than floats, allowing the FindGridCell method to have greater boundaries
- Asset Import: ModelImporter's remap Materials entries do not accept sub-assets materials anymore
- Asset Import: Removed auto-alphabetization of items within a prefab
- Asset Import: Texture Preview now updates correctly when switching from Alpha 8
- Asset Pipeline: Added warning dialog before running out of disk space. Check is done on every refresh.
- Asset Pipeline: Asset db file scanner will now error report files/folders that have a path or name that exceeded current limits. Path limit is 505/510 bytes (510 for meta file) and file name limit is 250/255 (255 for meta file). This fixes also an issue that would occur if a folder name was too long for getting a .meta counterpart
- Asset Pipeline: Deleting an asset in use in import worker could cause an infinite refresh loop
- Asset Pipeline: Fixed an issue where hash of a .asset file on disk was being updated locally without going through the AssetDatabase, resulting in native source assets to not be reloaded
- Asset Pipeline: Fixed for invalid artifact id assert that could get raised, when undo was restoring an object from a deleted asset
- Asset Pipeline: Fixed issue when calling AssetDatabase.IsValidFolder() with a path that has a trailing slash at the end
- Asset Pipeline: Fixed shutdown discovered when reimporting all assets
- Asset Pipeline: Fixed: changes made to Asset outside Unity are not applied during Play Mode when "Recompile After Finish Playing" is set in preferences
- Asset Pipeline: Logging in import worker will now always log to local import worker log file
- Audio: Fixed a crash that occurred on the macOS version of the Unity editor when AudioRenderer was repeatedly stopped then played
- Audio: Fixed a volume fluctuation issue that occurred in Timeline audio when the scene was changed
- Audio: Fixed an initialization issue on macOS that occurred when no audio input devices were available.
- Audio: Fixed an issue in the Inspector window where the Wet slider did not immediately appear after selecting "Allow wet mixing" in the AudioGroup Strip View (1276039)
- Audio: Fixed DSPGraph playback not being paused when the player was paused.
- Bug Reporter: Bug Reporter throws an error if the project contains a shortcut to a path outside of the Assets folder
- Bug Reporter: The Bug Reporter executable is now bundled with libssl 1.0.0 version
- Build Pipeline: Fixed GlobalObjectIdGlobalObjectIdentifiersToObjectsSlow returning random objects when then GlobalObjectId references a non-existing object
- Build Pipeline: StreamingAssets AssetBundle manifest is now provided by default to PlayerBuild, which will result in types being referred by AssetBundle being kept in the build even if Player.Optimization.Managed Stripping Level is set to Medium or High.
- Build System: - Removed requirements over ILRepack when building Unity source code.
- Removed requirements over ILRepack when building Unity source code.
- Fixed ILRepack that was detected as Trojan:Win32/Wacatac.B!ml.
- Removed ILRepack from external directory, now downloading ILRepack from our public stevedore repository.
- You now have to explicitly call .jam.pl BuildSystemProgramFiles to generate the solution for Unity Build System.
- Burst: ABI struct ret/by val for trivial aggregates for WASM is now respected.
- Burst: Added PreserveAttribute to prevent the internal log from being stripped in il2cpp builds.
- Burst: Allow to call [BurstCompile] functions from other [BurstCompile] functions.
- Burst: Bitmask intrinsic was broken on non intel platforms.
- Burst: Burst will now error if a cpblk was used to copy into a [ReadOnly] parameter or field.
- Burst: Clang segmentation fault on iOS when member function debug information was emitted, it is disabled for this platform now.
- Burst: Corrected 'Enable safety checks tooltip`.
- Burst: Debug symbols are now output when using the native toolchain on mac.
- Burst: Debug symbols for function names on some platforms are no longer hashes.
- Burst: Dwarf symbols from multiple modules (e.g. multithreaded AOT compilation) now have correct compilation unit information.
- Burst: Filter symbol warnings to prevent them reaching logs.
- Burst: Fixed a bug that occurred when an explicitly laid out struct was used by a dup instruction, which caused an internal compiler error.
- Burst: Fixed a bug where a static readonly variable that was a System.Guid would result in an internal compiler error.
- Burst: Fixed a bug where a stfld into an element of a vector could deduce the wrong type for the underlying vector.
- Burst: Fixed a bug where eager-compilation could pick up out-of-date global Burst menu options for compiling.
- Burst: Fixed a bug where explicitly casting from an int to IntPtr would not sign extend the value.
- Burst: Fixed a bug where if a user had defined multiple implicit or explicit casts, the compiler could resolve to the wrong cast.
- Burst: Fixed a bug where if you used an enum argument to a function to index into a fixed array, a codegen error would occur.
- Burst: Fixed a bug where loading from a vector within a struct, that was got from a NativeArray using an indexer, would cause the compiler to crash.
- Burst: Fixed a bug where the Burst post-processing for direct call would cause duplicate function pointers to be compiled, wasting compile time in the editor and caused an Editor launch stall.
- Burst: Fixed a bug where the mm256_cvtepi32_ps intrinsic would crash the compiler.
- Burst: Fixed a bug where the progress bar would report double the amount of pending compile jobs if a user changed the Burst options while background compilation was going on.
- Burst: Fixed a bug whereby for platforms that require us to write intermediate LLVM bitcode files, UTF paths would be incorrectly handled.
- Burst: Fixed a bug with constant expressions that could cause a compile-time hang.
- Burst: Fixed a bug with float/double vector constructors of Unity.Mathematics that take half or half vector parameters.
- Burst: Fixed a macOS hang that could occur when a native hardware exception was thrown from Burst code while a dylib was being loaded from disk
- Burst: Fixed a poor error message when a generic unsupported type (like a class or an auto-layout struct) combined with an unsupported managed array (like (int, float)[]) wouldn't give the user any context on where the code went wrong.
- Burst: Fixed a very obscure bug where if you had a function-pointer that was called from another function-pointer of job, and that function-pointer happened to be compiled in a player build in the same bucket as the caller, and the no-alias cloning analysis identified that it could clone the original function-pointer to enable more aliasing optimizations, it could create a duplicate symbol error.
- Burst: Fixed alignment issues associated with xxHash3 on ArmV7 (case 1288992).
- Burst: Fixed an internal compiler error when nested managed static readonly arrays were used (produces a proper Burst error instead now).
- Burst: Fixed an issue that could prevent the Editor from shutting down.
- Burst: Fixed an issue where Burst would erroneously error on BurstCompile.CompileFunctionPointer calls when building for the DOTS Runtime.
- Burst: Fixed an issue where UNITY_DOTSPLAYER builds not building for NET_DOTS would be unable to compile do to references to UnityEngine.
- Burst: Fixed compilation errors when targeting Arm CPUs and using some of the Intel intrinsics.
- Burst: Fixed compilation errors when targeting Intel CPUs and using some of the Arm Neon intrinsics.
- Burst: Fixed DOTS Runtime JobProducer Bursting code to support JobProducers with multiple generic arguments, complex job wrapper and generic jobs.
- Burst: Fixed handling of conversion from signed integer to pointer which caused issues as discovered by Zuntatos on the forums.
- Burst: Fixed incorrect struct layout for certain configurations of explicit-layout structs with overlapping fields.
- Burst: Fixed Inspector slow down when scrolling/moving the window on large listings.
- Burst: Fixed managed implementation of sub_ss intrinsic.
- Burst: Fixed managed implementations of blend_epi32 and mm256_blend_epi32 intrinsics on Mono.
- Burst: Fixed permissions error when running lipo tool to combine libraries.
- Burst: Fixed potential error that could occur when unloading cached libraries.
- Burst: Fixes a caching issue where stale cached libraries may have been used if a project was copied to a different folder, or Unity was upgraded to a newer version.
- Burst: If targeting multiple iOS architectures, produce a combined burst library containing all architectures, this fixes "New Build System" on xcode version 12.
- Burst: IL Function Pointer Invoke Transformation now uses correct runtime library for dots runtime.
- Burst: IL Function Pointer Invoke Transformation updated to handle transforms that affect instructions that are the destination of a branch.
- Burst: Intrinsics: Neon - fixed vget_low and vget_high producing suboptimal code.
- Burst: Job Entry point symbols should now reflect the job name and type rather than a hash in callstacks/native profilers.
- Burst: Job entry points without symbols now use the Execute location rather than pointing to unknown/unknown.
- Burst: Multiple bugfixes (please look at https://docs.unity3d.com/Packages/[email protected]/changelog/CHANGELOG.html for a detailed list).
- Burst: Private [BurstCompile] methods no longer throw MethodAccessException.
- Burst: Sleef fallback to scalar float for WASM.
- Burst: String interpolation issues when using Dots / Tiny runtime.
- Burst: Strings can now be passed between methods.
- Burst: We no longer attempt to replace the debug metadata multiple times for a given export.
- Core: Fixed static analysis issue:
- Non-static class member "isListening" is not initialized in this constructor nor in any functions that it calls
- Documentation: Updated the documentation to describe the design of OnApplicationFocus when using Play Mode in the Editor
- DX12: Fixed a crash when executing a CommandBuffer that references a deleted RayTracingAccelerationStructure object.
- DX12: Fixed a crash when RayTracingShader.Dispatch is called with an acceleration structure that was deleted in the meantime
- DX12: Fixed for incorrect parameter type on native plugin API IUnityGraphicsD3D12v5::TextureFromRenderBuffer and IUnityGraphicsD3D12v6::TextureFromRenderBuffer
- DX12: Fixed potential crash in Debug builds when exiting Unity Editor when DX12 is used
- Editor: Added a foolproof EditorGUIUtility.ResetGUIState(); when drawing Inspectors in the Override Preview panel
- Editor: Added a new flag called forceChildVisibiityfor the SerializedObject to control the visibility of hidden children
- Editor: Added padding to ReorderableList elements
- Editor: Added some missing sizes (64, 128, 256) for selected icons
- Editor: Allow Hyphen character in Input Field when ContentType Property is set to Name
- Editor: Checking and enabling VSync when Unmaximizing the Game view
- Editor: Context menu shows in destination window in the Mac editor, regardless of whether the destination window is focused
- Editor: Create Empty Parent' no longer relies on Scene View position.
- Editor: Cursor is now locked to the center of the Game view in the Linux editor instead of the center of the screen when cursor lock is called in Play mode
- Editor: Detect circular asset references, instead of crashing
- Editor: Double-click on tab header maximizes/unmaximizes it
- Editor: Dragging-and-dropping files across folders inside the Project Window will now prompt the user to choose what to do with a file when there are conflicting file names
- Editor: Fixed issue where Terrain objects could still be selected despite picking being disabled
- Editor: Fixed "Frame Selected" shortcut being invoked when Game View is focused and Play Mode is active, improving performance
- Editor: Fixed 'Toggle hidden packages visibility' not affecting embedded/local packages
- Editor: Fixed -api-profile flag causing Editor to write to ProjectSettings/ProjectSettings.asset using binary serialization mode despite ForceText being configured in ProjectSettings/EditorSettings.asset.
- Editor: Fixed a crash that could occur when Burst compilation was scheduled before Burst had been initialized.
- Editor: Fixed a potential null reference exception in the Editor Tool Manager
- Editor: Fixed a small issue with item position varying slightly in the Editor when display scaling is set to something other than 100%
- Editor: Fixed a warning generated by undoing color change while picker is open
- Editor: Fixed adding and removing components expanding collapsed components view in the Inspe
更新時間:2021-03-20
更新細節:
更新時間:2021-03-19
更新細節:
更新時間:2021-03-18
更新細節:
What's new in this version:
Updated:
- Tweaking.com - Registry Backup to v4.0.0
- create restore point code to give error messages if creating a restore point fails
- default registry and file permissions for Windows 10 as of March 18th 2021
更新時間:2021-03-12
更新細節:
What's new in this version:
Fixed:
- Asset Import: Fixed a rare unstable asset hash for assets with large metadata
- Audio: Fixed a DSPGraph/Burst player crash
- Editor: Fixed a ReorderableList GC issue due to registry usage
- Editor: Fixed issue on Windows where mouse pointer did not hide while in Play mode
- Graphics: A CopyDepth pass was previously included which allowed users script access to _CameraDepthTarget but this has been removed on the metal GPU families that use Tile-based renderers (iOS, Silicon-GPU), fixed the performance decrease that caused this
- Scene Manager: Fixed a crash when the asset of a current opened scene had been deleted, a new scene asset was imported, with same GUID, and the user choose "reload"
- Scripting: Fixed an issue when Application.quitting event was not raised when application was terminated from the OS side
- Scripting: Validate cyclic dependencies on assembly definition update
- Serialization: Fixed a crash when using JSONUtility to deserialize objects that had Serialized References
- UI Toolkit: Fixed an issue where use cases for SerializedObject bindings would cause the Editor to crash
Changed:
- Graphics: Update SRP packages to 10.3.2
更新時間:2021-03-12
更新細節:
更新時間:2021-03-12
更新細節:
更新時間:2021-03-11
更新細節:
更新時間:2021-03-05
更新細節:
What's new in this version:
Fixed:
- Asset Import: Added a warning when for when a fbx crashes the uv-unwrapper. The mesh still imports, but with a warning that tells which mesh is crashing
- Documentation: Fixed malformed URIs when requesting "Help->Unity Manual" and "Help->Script Reference" from the main menu, while using a redirect Documentation Server in Preferences
- Editor: Fixed an issue of not being able to edit Array items when EditorGUI.PropertyField was using SerializedProperty created from the target of the custom editor
- Editor: Fixed Array SerializedProperty using Reorderable List not returning true via EditorGUI.PropertyField when children are not included but the property is expanded
- Editor: Fixed PropertyEditor callback issue which prevented PropertyEditor from being d
- GI: Baking using the Reflection Probe Inspector now works as expected
- GI: Fixed an issue related to the OpenRL library the CPU lightmapper uses so that the Bug Reporter now consistently launches when Unity crashes
- Graphics: Fixed a crash on warming up shaders using dots instancing
- Graphics: Fixed an issue where Virtual texturing stats were not correctly gathered and displayed while capturing the editor
- Graphics: Fixed Metal Graphics Jobs crash that was caused by uncommitted encoder
- iOS: Fixed an iOS crash that occurred when terminating an app from background
- Networking: Fixed possible division by zero in UploadHandlerFile
- Package Manager: Fixed an issue with Perforce where embedded packages would be checked out for edit after being fetched and imported into the project
- Scripting: Fixed a FileNotFoundException issue when doing a player build while running IL Post Processors
- Shaders: Fixed shader compiler communication instability cause builds to fail
- Shaders: Fixed the "end of shader compiler log" printing to the editor log at compiler crashes if the compiler log is very small
- Shaders: Prevent editor crash on unlucky timing when a shader compiler process is being killed
- UI: Ensuring we only disable the ARF for root non world space canvas's as they are the ones that have a fixed resolution that would be overwritten constantly
- UI: Fixed an issue where adjusting the canvas rendering size to render a custom camera render would cause scaling issues
- WebGL: Fixed a crash at startup that occurred if initial filesystem data triggered a heap resize
- WebGL: Fixed an issue where audio was not looping seamlessly in WebGL
- Windows: Fixed a rendering freezing issue when switching from windowed mode to exclusive fullscreen and back on D3D11 and D3D12 graphics API when Nahimic software was installed and NahimicOSD.dll injects itself into the game.
- Windows: Fixed an issue where the input latency increased by 1 frame when switching between exclusive fuilscreen and other fullscreen modes on D3D11 and D3D12 graphics APIs
- Windows: Fixed an issue where Windows player was infrequently deadlocking when changing fullscreen modes on D3D11 and D3D12 graphics APIs
- XR: Fixed a performance issue with URP Vulkan when running a development build
- XR: Fixed an issue where occlusion culling did not work in XR SRPs
API Changes:
- XR: Added: Update XR Plug-in Management to 4.0.1
Improvements:
- Editor: Improved the performance of the model importer when dealing with degenerate triangles
- XR: Updated the AR Foundation package dependencies to XR Management version 4.0
- XR: Updated the MagicLeap XR Plugin package to version 6.2.2
- XR: Updated the Oculus XR Plugin package to version 1.8.1
- XR: Updated the Windows XR Plugin package to version 4.4.1
Features:
- XR: Release OpenXR 1.0.0
更新時間:2021-02-27
更新細節:
What's new in this version:
Topaz Sharpen AI 2.2.4
Fixed:
- comparison view not showing generated previews
- performance issues when panning
- apply button disappearing when adding a mask when running Sharpen as a plugin
Topaz Sharpen AI 2.2.3
Added support for new image file types:
- New RAW formats: ARI, CR3
- New non-RAW formats: BMP, HEIC, PPM, PGM, PBM, PNM, TGA, and WEBP
Added In-App rating system:
- If you experience any issues with output in the program, feel free to send feedback by clicking on the faces at the bottom right of the preview
Added ability to load non-ASCII file names from Lightroom:
- For instance, Japanese/Chinese/Korean, etc file names should work now
Changed Windows installer so it’s admin only:
- Should resolve various issues non-admin users have had in the past
- May require full uninstall/reinstall if you had it installed as non-admin before
- Fixed various color/loading issues for RAW files
Fixed preview scale so it adjusts to your screen display scale properly:
- Images may look smaller than before if you have a display scale over 100%
- Fixed crash on Mac related to file logger
- Implemented using the scroll wheel to zoom
Topaz Sharpen AI 2.2.2
- Multiple stability updates for the installers
Topaz Sharpen AI 2.2.1
- Fixed the frequent image must be loaded issues when using auto mode
- Fixed vertical lines in images when using GPU processing mode
- Fixed issue where batch processing would stop/fail on certain images
- Fixed a potential crash when previews go out of bounds
- Fixed the installer dropping the beta plugin
- – We also now delete the beta plugin if it exists, so installing 2.2.1 should fix it if you haven’t fixed it manually
- Fixed a potential crash from the file logger
- Fixed a few cases where the file list view would reflect incorrect settings
- Fixed selection issue when deleting single images from the file list
- Photoshop should now select the previous mode if opening in comparison view
- Reworded the bottom panel on the opening screen to fit on smaller screens
- Reworded parts of the tutorial to match new UI
Topaz Sharpen AI 2.2.0
Added new models that work better on noisy images:
- Enable new models by toggling on the “Extra Noise Suppression” option under the settings sliders
Added comparison view:
- Should work the same as in DeNoise AI
Added option to move controls to left side:
- You can toggle this in preferences
Added tutorial/demo image area on the bottom of the opening screen:
- Updated UI to be consistent with Gigapixel
Updated installers:
- In-app updates should now go faster from 2.2.1 onwards due to splitting large downloads
- Installer now uses native OS interface which should improve compatibility
- Mac installer now displays an error if installing on an unsupported OS
- Full installers should now always install fully and not rely on currently installed components
- Changed default sliders and mode settings to the settings that were last used in the application
- Changed previews so that they cancel when slider values are changed
- Fixed a crash when files with large XMP data were saved as JPG
- Fixed the preview label saying “Preview” when it was actually the original image in some cases
Topaz Sharpen AI 2.1.8
- Fixed minor authentication issues
- Added ability to delay updates
Topaz Sharpen AI 2.1.7
- Fixed an issue where certain files would not open from third-party plugins
Topaz Sharpen AI 2.1.5
- Fixed external editors not saving back to their host properly
Topaz Sharpen AI 2.1.4
- Fixed trials requiring a user to log in again after purchasing
- Fixed various crashes when handling invalid images
- Fixed various crashes when masking RAW images with crop metadata
- Changed authentication logic to support upgrades
Topaz Sharpen AI 2.1.1
- Fixed Photoshop values not being saved properly when re-entering the plugin
- Fixed various Photoshop irregularities that caused differences between standalone and plugin
- Fixed various file list view oddities
- Fixed batch mode settings applying automatically when switching between rows
- Fixed selecting arbitrary rows instead of everything not saving correctly in some cases
- Fixed potential bug where settings do not apply properly when saving multiple images with auto active
- Fixed crash when unable to load files required for auto subject detection
- Fixed Re-Install Photoshop Plugins option on Windows
- Fixed being unable to run the plugin re-installer more than once
- Added Re-Install Photoshop Plugins option in the Help menu for Mac
- Changed external editor mode save button to Apply/Cancel
- Changed various toggle buttons to be the right blue color
Topaz Sharpen AI 2.0.5
- Fixed a crash when saving a large image with a mask
- Fixed an issue that prevented the application from closing when in external editor more
- Fixed the view menu options on Mac not triggering
- Fixed program not closing properly when used as a plugin
- Change to use less VRAM to potentially fix black preview and black output issues
Topaz Sharpen AI v2.0.4
- Fixed mask not saving correctly on images
- Fixed masks not applying to the correct image when multiple were used in a batch
- Fixed mask strokes not clearing when removing images and then re-importing more
- Fixed bug where selecting a row with a mask could clear the strokes
- Lower VRAM usage to avoid running out of memory for common user configurations
Topaz Sharpen AI 2.0.2
- Fix nav panel not updating in auto-update mode in some cases
- Fix the “Are you sure” message showing up even if no images are loaded
- Fix the mask applying full white automatically after switching rows
- Fix instance where save directory would not be set
- Fix the default view setting being invalid
Topaz Sharpen AI 2.0.1
- Fixed Photoshop outputting default settings
- Fixed Lightroom template installation on Mac
Topaz Sharpen AI 2.0.0
Major Features:
- Added ability to selectively mask out sharpness
- Added ability to process batches of images
- Updated AI models
Improvements:
- The right panel has been redesigned to improve clarity
- Save dialog has been redesigned
- Improvements to processing speed
- Added option for default save as prefix
Topaz Sharpen AI 1.4.5
Change:
- Add ability to open log folder from within Sharpen AI
- Security update
Fix:
- General Bug Fixes
Topaz Sharpen AI 1.4.4
Change:
- Updated authentication to better handle firewalls
Fix:
- Fixed an issue that caused Sharpen AI to crash if the file name or path contained non-Latin characters
- Fixed an issue that prevented the in-app updater to run
- Fixed an issue that caused Sharpen AI to ignore the file's orientation metadata
Topaz Sharpen AI 1.4.3
Change:
- Model update
- Added Lightroom Preset
Fix:
- Fixes color artifacts appearing in Sharpen mode for some images
Topaz Sharpen AI 1.4.2
Change:
- Model update
Fix:
- Fixed crashing on 1% issue
Topaz Sharpen AI 1.4.1
Change:
- Model update
Fix:
- Fixed Error: 99 message on attempted update.
Topaz Sharpen AI 1.4.0
New Feature:
- Intel Optimization (OpenVino) in.
- Now a new option “Enable Intel OpenVino” is in preferences. If you choose “Yes”, it will optimize Intel CPUs and Intel iGPUs for Sharpen. Typically, it will make Sharpen run 5 times faster than the previous “CPU” mode. But we cannot guarantee if it can work for CPUs from other vendors (e.g., AMD) or any Intel CPUs before 6th generation. If you still have very high performance dedicated GPUs (e.g., NVIDIA 1080), “Enable discrete GPU” (Yes) option will be the best choice. However, if you have relatively better Intel CPUs or Intel iGPUs than low performance GPU, you will see faster performance on Intel optimization (Yes)
- Automatic detection for the best devices choice.
- Now you do not have to choose between GPU/CPU or enable/disable Intel optimization manually. Sharpen will automatically run a benchmark and choose the best preferences settings for you to achieve the highest speed on your computer. The benchmark will only be triggered once when you process the first image. Thus, the first image will take longer time than usual.3.
Change:
- Model update.
- The updated AI is trained with an improved algorithm. For Focus and Stabilize mode, it produces much sharper images than previous versions.