這是歷史版本頁面 — 看 Unity 最新版本

想做遊戲但不知從哪開始,Unity能幫你什麼

Unity 軟體圖示 Unity 2019.3.0 資料更新 2020-01-29 閱讀約 7 分鐘

你大概有過這種時刻:玩了某款遊戲之後,心裡冒出「這我也做得出來」的念頭,於是打開電腦想找一套能開發遊戲的軟體。結果搜尋到的東西不是太專業看不懂,就是下載下來不知道從哪裡開始,連要建一個角色、讓它動起來都找不到按鈕。你只是想先做一個簡單的小遊戲試試看,卻卡在第一步。

如果從程式語言開始學,光是理解變數、迴圈、物件導向就要花上好幾個月,還沒碰到遊戲畫面就先放棄了。就算找到現成的遊戲範例,也常常因為版本不對、缺少素材、不知道怎麼修改而卡住。這類遊戲開發工具的切入點,是把「寫程式」和「做遊戲」之間的距離縮短——用視覺化的編輯器排列場景、拖曳物件、設定參數,需要寫程式的部分再補上程式碼,同時提供大量現成素材和教學資源,讓你能夠從一個小原型開始,逐步做出完整的遊戲。

Unity 操作介面
Unity 的操作介面

01Unity能做什麼類型的遊戲?

官方說明指出它同時支援2D和3D開發,包含AI尋路工具、UI系統、物理引擎(Box2D和NVIDIA PhysX)、動畫工具、後製特效等,可以製作各種類型的遊戲。官方也提到可以用於VR、AR、手機、桌機、網頁、電視等多種平台。具體想做什麼類型的遊戲,可以參考官方教學和Asset Store的資源。

02它支援哪些平台發布?

官方說明提到可以發布到25個以上平台,包括手機(iOS、Android)、桌機(Windows、Mac)、遊戲主機、電視、VR、AR和網頁。它的跨平台功能可以「build once and deploy to the largest range」,也就是一次建置就能發布到多個平台。但具體支援哪些平台,建議到官方網站確認最新清單。

03免費版有什麼限制?

官方說明提到「Unity 6 Personal - Free Plan」是免費版本,但資格是「Revenue or funding less than $200K in the last 12 months」,也就是過去12個月收入或資金少於20萬美元。超過這個門檻就需要付費方案。免費版包含核心開發平台功能,但可能缺少某些進階功能,建議到官方網站查看免費版與付費版的詳細比較。

Unity 介面畫面 2
Unity 介面畫面

04Asset Store是什麼?

sset Store是Unity的資源商店,官方說明提到裡面有「thousands of quality, ready-made assets」,包括資源、工具、擴充功能等,可以加速專案開發。你可以購買或下載免費的素材、外掛、教學資源等。它同時也是社群分享知識的地方,對初學者來說是很好的學習資源。

05Unity Hub是做什麼的?

官方說明提到Unity Hub是用來管理多個Unity Editor安裝、建立新專案、存取你的工作的工具。也就是說,你可以用Unity Hub來安裝不同版本的Unity、切換專案、管理編輯器。它算是Unity開發流程的入口,建議先安裝Unity Hub再開始使用。

06完全沒寫過程式的人適合用嗎?

官方說明提到「beginners, students and hobbyists」是目標使用者之一,而且有「tons of tutorials and ready-made assets」可以引導學習。但Unity本身是專業遊戲引擎,需要學習程式語言(C#)和遊戲開發概念。如果完全沒寫過程式,建議先從官方教學和簡單的2D專案開始,逐步學習。

Unity 介面畫面 3
Unity 介面畫面

07獨立開發者適合嗎?

官方說明提到「independent developers and studios」是主要使用者,而且免費版就是為了獨立開發者設計的(收入低於20萬美元)。官方也提到「democratizing ecosystem smashes the time and cost barriers」,意思是降低開發時間和成本門檻。如果你是自己一個人或小團隊開發,Unity的資源和社群應該能提供足夠支援。

08學生或業餘愛好者適合嗎?

官方說明提到「beginners, students and hobbyists」是目標使用者,而且有大量教學資源和免費版可以使用。學生可以用免費版學習遊戲開發,業餘愛好者也可以用它來做自己喜歡的專案。但要注意免費版的收入限制,如果未來你的遊戲開始賺錢且超過20萬美元,就需要升級付費方案。

09不會英文的人用這套軟體會很吃力嗎?

這套軟體的介面語系是英文,官方說明也是英文,所以不會英文的話確實會比較吃力。但Unity有龐大的中文社群和教學資源,網路上有許多中文教學影片和文章。建議可以先從中文教學開始學習,同時慢慢熟悉英文介面。如果完全無法接受英文介面,可能需要考慮其他有中文介面的遊戲引擎。

Unity 介面畫面 4
Unity 介面畫面

10我公司收入超過20萬美元,還能用免費版嗎?

根據官方說明,免費版的資格是「Revenue or funding less than $200K in the last 12 months」,也就是過去12個月收入或資金少於20萬美元。如果你的公司收入超過這個門檻,就不能使用免費版,需要購買付費方案。建議到Unity官方網站查看最新的授權方案和價格。

11我的電腦還是Windows 7,能用嗎?

官方支援系統包含Windows 7 64位元,所以如果你的電腦是Windows 7 64位元,應該可以安裝使用。但要注意,Windows 7已經停止支援,Unity後續版本可能不再支援Windows 7。建議確認你使用的Unity版本是否支援Windows 7,並考慮升級作業系統以獲得更好的相容性和安全性。

12我只想做簡單的2D小遊戲,用這套軟體會不會太複雜?

Unity支援2D開發,官方說明提到「The app supports both 2D and 3D development with features and functionality for your specific needs across genres」,所以2D遊戲是沒問題的。但Unity本身是專業引擎,功能很多,學習曲線可能比專門的2D遊戲工具(如GameMaker)陡峭。如果你只想做非常簡單的2D遊戲,可以先從Unity的2D教學開始,評估自己是否能接受它的複雜度。

下載與官方連結

前往官方網站 下載 Unity

UnityDownloadAssistant-2019.3.0f6.exe · 204.8 KB · 連結指向軟體原廠

版本紀錄

再看 5 筆

看完整版本清單

這一版改了什麼

What's new in this version:

Fixes:
2D:
- Collider 2D components and the Composite Collider 2D are now recomposited when there are offset and vertex distance changes while in outline generation mode
- Fix duplicate 2D template when creating a new project from Unity Hu
- Fixed an assertion message when Unity was launched with a Sprite Editor window docked from the previous session
- Fixed an issue where Particle Systems in Sorting Groups are sorted incorrectly if they have a sorting fudge value. They are now sorted in the same way as other Renderers when in a Sorting group
- Fixed an issue where the edge and fill of a Sprite Shape GameObject were drawn in the wrong order when using the Universal Render Pipeline
- Fixed an issue where the Legacy Sprite Packer dialog box shows an incorrect path to the Project Settings
- Fixed an issue where the Undo function did not undo some items properly when painting Prefab Tiles onto a Tilemap
- Fixed crash when stopping a preview of a Material animation for a TilemapRenderer2D set to Individual Mode
- Fixed crash when Tilemap.CompressBounds is called in Tile.RefreshTile
- Fixed TilemapRenderer showing normal maps of other Tiles when displaying Tiles with Sprites without normal maps
- Improve performance of SpriteEditorWindow when applying changes for new Sprites created
- SpriteRect visuals now display correctly when zooming in and out in the Sprite Editor window while creating a new selection
- The Sprite Editor window now shows correctly after a package is reinstalled

Animation:
- Added editor test to validate that recorded frame match simulated frame for animator
- Changed the string "Normalized Time" to "Motion Time" in the AnimatorState Editor to avoid confusion when accessing the AnimatorStateInfo's normalized
- Disabled user script OnAnimatorMove called when sampling in the Animation Window
- Ensure GetKeyLeftTangentMode and friends are thread safe
- Fix copy pasting of keyframes when order in animation window does not match sorted order of their curve paths
- Fix the color temperature animation binding
- Fixed an issue where the Controller field of an Animator would not react properly to Prefab overriding
- Fixed blendtree asset corruption when changing motion tab field with another blendtree asset
- Fixed constant tangents evaluation when used in weighted curve segments
- Fixed crash on Android when reading serialised animation data
- Fixed crash when removing a state in the animator controller state machine
- Fixed crash when sampling an animation from a FBX with AnimatedCustomProperties
- Fixed humanoid bones not restored to previous values when stopping Animation Window preview
- Fixed mistakenly fired playable warning when graph was destroyed
- Fixed mouse press events so that Animator window does not get stuck in Pan mode
- Fixed transform write order whenever a game object is deleted in an animated hierarchy
- Fixed unstable test AnimationEventCanAlterTime
- Made AnimationWindowCurve also implement IEquatable as we have at least one case where we store these in a List and try to avoid double-insertions by calling Contains

Asset Bundles:
- Fix assertion when building multiple scene asset bundles with data analytics enabled

Asset Import:
- Added support for preserving legacy animation naming conventions ([email protected]) when upgrading to newer versions of Unity from 2018.4
- AnimationClip fileIds generated from a Model imported before Unity 3.2 now conserve their file IDs and references when opened in a 2019.1+ Project
- Changed the Model Importer so that it no longer enforces the AnimationType setting on first import. You can now use the default Preset for this setting and you can change it during the OnPreprocessAsset or OnPreprocessModel callbacks in the AssetPostprocessor
- Clearing mapping of bones of avatar should not lead to re-automapping on apply
- Fixed a crash that would occur when an object that was already added to the ScriptedImporter context was destroyed before the import was finished
- Fixed a crash that would occur when importing an FBX file containing an Animation curve with only one frame at a very low negative time
- Fixed an issue in the Audio Importer preview where the clip didn't stop playing if you clicked the Play button a second time
- Fixed an issue where the Delete tag was erroneously appearing on Assets when importing or updating them
- Fixed an issue with the Sketchup importer where some Scenes were generating empty Meshes during import
- Fixed the Model Importer to prevent splitting when using 16-bit index buffers for Meshes that have less than 65535 vertices but which have an index buffer size that can accomodate more than three times the elements (3 * 65535).
- Raise maximum bone influences per vertex from 32 to 255 in the FBX Importer
- The Plugin Importer no longer changes the meta file while opening a Project

Asset Pipeline:
- Fix performance issue when selecting large Scriptable Objects
- Fixed an issue where mutually recursive Assets could cause a crash
- Fixed an issue where the Editor would freeze while refreshing large Projects (during the file hashing stage)
- Fixed an issue with Unity sometimes not reloading Asset objects, after Asset DB2 introduced support for multiple import results
- Fixed cache server v1 vs v2 performance regression
- Fixed issue where failed preview generation caused infinite import
- Fixes cache server preferences defaults to port 10080 when n ot specified
- Fixes editor crash on shutdown when changing project settings to use V2 instead of V1
- Improved ImportAsset performance, which solves slow prefab editing experience
- Now Unity saves any changes to the Default IP address property on the Cache Server preferences after the user presses Enter or clicks on another property in the Inspector
- You can now use nested Prefabs with the cache server

Audio:
- Fix accessing AudioReverbFilter.lfReference / .hfReference from scripts
- Proper error message is now provided in the console

Build Pipeline:
- Fix to properly disable the build buttins while the editor is compiling and the Assetdatabase is not ready
- Fixed an issue where user created folders were being deleted on a failed player build
- Fixed issue where inactive scenes were getting calculated into the scene build indexes
- Fixed issue where Terrain loaded from an Asset Bundle wasn't able to access Terrain Shaders
- Improved shader compilation progress bar to avoid editor to appear frozen during the build

DX12:
- Fixed an error in the Editor when changing color spaces resulted in an exception being thrown
- Fixed CommandBuffer.DrawProcedural to work with various topology types when using DX12

Editor:
- Ctrl + F now sets focus on the Search field in the Settings window
- Abort build to avoid Editor from freezing/crashing when user has too complex shader in Always Included Shaders list (any shader in that list will compile all possible variants without any stripping)
- Add new EditorWindow.HasOpenInstances() API endpoint to check whether an Editor window of type T is open
- Added Edit/Rename for Scene Hierarchy
- Added more information to an unrecoverable Undo scenario
- Added SerializedProperties optimizations during Inspectors loading and repaint to fix performance regression in ModelImporterEditor when using more than 100 animation clips
- Added Compilation.AssembliesType.PlayerWithoutTestAssemblies to support getting assemblies for the Player using CompilationPipeline.GetAssemblies without test assemblies
- Bugfix UV overlap view is broken both in HDRP and LWRP
- Disallow touching graphics API settings during playmode
- Editor: fixed error when building unity_builtin_extra not failing the build
- Fix behaviour of 'SerializedProperty.managedReferenceValue' when a classes does not contain any instance object
- Fix collab related 401s after waking a computer up from sleep
- Fix editor crash when cancelling build during shader compilation. Pressing cancel button during shader compilation phase of the build now immediately cancels the build
- Fix Editor hangs when switching between playmode views
- Fix first menu item opens unrelated window
- fix for an invalid memory access iwhen querying for a deleted texture with DX12 mode
- Fix issue where specifying HideInInspector on a SerializeReference field was not respecting the attribute
- Fix logging errors from background thread crashes the editor when "Error Pause" is enabled
- Fix managed reference instance field type resolution from a SerializedProperty that made Range/Delayed attributes fail
- Fix OS domain reload contextual submenu rebuilding
- Fix Perforce disconnecting when renaming an asset with AssetDatabase V2 enabled
- Fix pptr remapping when prefab contains managed references
- Fixed flickering during drag & drop
- Fixed a case where the Scene view camera could become stuck in a tilted rotation when rapidly switching from 2D to 3D perspective
- Fixed a crash that occurred when multi-selecting Visual Scripting Graphs in the Project window
- Fixed a crash using SerializedProperty on a Script with managed references after a string resize update
- Fixed a lag that occurred when viewports were fully concealed behind panels
- Fixed a missing Script issue that occurred when minimizing and maximizing the Editor
- Fixed a renaming issue in the Project browser that occurred when when switching directories
- Fixed a small memory leak that occurred any time a contextual menu was opened
- Fixed an Editor issue on Windows where the Open Asset dialog did not display shortcut (.lnk) files
- Fixed an error that occurred when double-clicking folders in the Project browser
- Fixed an error when using reflection probe anchor overrides in prefabs
- Fixed an issue where deleting a GameObject and performing an Undo caused the selection to be lost
- Fixed an issue where drop-down menus that contain large strings with unicode characters freeze when opened
- Fixed an issue where framing the selected object in the Scene View Camera could cause the Move tool to render incorrectly
- Fixed an issue where hotkeys with special keys were not accelerated properly
- Fixed an issue where ReimportAll opened the wrong Project
- Fixed an issue where resetting a Preset removed its Type and rendered it useless
- Fixed an issue where Scene visibility data was lost when working with multiple Scenes
- Fixed an issue where scroll bars in the Inspector window did not disappear after deselecting a GameObject
- Fixed an issue where selecting Revert Factory Settings in the Layout menu did not delete custom Layouts
- Fixed an issue where the content of a Text Asset was not displayed in the Inspector window
- Fixed an issue where the Polygon Collider 2D tool would not exit when changing selection
- Fixed an issue where the Scene Toolbar displayed the wrong icons when using the Hand, Orbit, and Zoom tools
- Fixed an issue where the Scene Visibility icon was not highlighted when hovering over it next to the Scene row
- Fixed an issue where Unity crashes when copying text with Unicode emojis
- Fixed an issue where Vector4 and Array types did not display values in the Inspector
- Fixed an issue where, when an Editor window fails to load, the window does not close and users cannot move or close it
- Fixed an issue with Null Reference Exceptions occurring when previewing textures during Asset import
- Fixed crash when having a list of types containing SerializeReference
- Fixed crash when manipulating an object containing SerializeReference with cyclical references
- Fixed deep profiling toggling not being reliable
- Fixed display issue in inspector through SerializedProperty with enum fields contained in polymorphic managed classes
- Fixed dragging and dropping to the bottom area of Inspector
- Fixed editor crash when changes are made in prefab applied to MonoBehaviours with SerializedReference objects
- Fixed editor crashes when changes are made in prefab/ applied to MonoBehaviours with SerializedReference objects
- Fixed freeze when selecting 2 objects containing SerializeReference with cyclical references
- Fixed high CPU and GPU load when a material with certain shaders is displayed in the Inspector
- Fixed incorrect color space drawing inside OnGUI() in Game view for Linear color space projects
- Fixed issue on startup where "Unable to resolve reference" errors were emitted for precompiled .dlls that referenced non-existent .asmdef assemblies in Library/ScriptAssemblies
- Fixed issues that caused duplicate EditorTool instances to be instantiated
- Fixed major IMGUI performance regression introduced in 2019.3 version
- Fixed mouse movement after focusing a game object while in playmode
- Fixed performance issue with editor elements in the inspector
- Fixed potential Null Reference Exception errors that could occur for Editors that implement OnSceneGUI()
- Fixed should not be capturing when there is a hotcontrol logs appear when changing property values after removing search query
- Fixed the Preview pane in the Object selector
- Fixed touch issues with the Editor on Windows. MouseDown position is now more precise. Dragging a property value on the edge of the screen no longer increases the value exponentially.
- Fixed zooming out of curve inspectors (e.g. Audio Source 3D Sound Settings and Particle System Curve Editor)
- Fixed EditorApplication.hierarchyChangednot being fired when changes were made to GameObject hierarchy via scripts
- Fixes an issue where EditorTools could not accept Event commands before the SceneView interprets them
- GlobalMatrix is now calculated correctly when parenting to a scaled and rotated object
- Improve editor performance with multiple GameObjects while the scene window/view is visible
- Improved Editor performance when marquee selecting objects in moderate to large Scenes
- Improved the error message that appears when Unity tries to load an arbitrary file as though it's a Unity-created serialized file
- It is now possible to localize Packages
- Large serialized assets such as Texture2DArray and Texture3D now appear in the Inspector immediately
- MacEditor: Fixed a regression with floating window not bringing editor focus back when selected
- MacEditor: Improved MouseDrag event handling
- Make sure that 'SerializedProperty.managedReferenceFullTypename' is correct for classes with no fields
- MenuItem shortcuts now ignore capitalization
- Moved the Game view VSync toggle to the Game view Resolution popup
- Preferences window now shows now required NDK version
- Preserve PlayModeView state when switching to another PlayModeView and back
- Re-enabled CEF message loop pumping in Play mode
- Save the current editor mode using its id instead of index
- The drag and drop state is now cleaned after a drag operation
- The Inspector now reacts faster when users click large binary Assets
- The Scene Visibility shortcut for Hide is now H. The shortcut for Isolation mode shortcut is now Shift+H
- Unity now displays an error message if a Project contains .dlls with the same file names as Assembly Definition File assemblies
- Unity now ignores trailing spaces when saving Layout names
- Unity now prompts users to save changes when Windows shuts down
- Unity now sets the host view name when the actual view changes
- Updated Windows Editor splash image
- NSPasteBoard is now initialized at the start of drag and drop operations

GI:
- Fix erroneous lightmap atlassing happening when two terrains are identical and have same position
- Fix GPU lightmapper OpenCL kernel compilation on AMD Radeon RX 5700 series GPUs
- Fixed a crash when the light grid takes up too much memory when using the GPU lightmapper
- Fixed a memory leak that happened after compiling OpenCL kernels when using the Progressive GPU Lightmapper
- Fixed a memory report for Light Probes in the GPU Progressive Lightmapper
- Fixed an error message, so it's more helpful when the Global Illumination albedo/emissive buffer update fails
- Fixed an issue in the Progressive GPU Lightmapper that cause the Editor and baking to be slow. Also added support for 32bits indices
- Fixed an issue in the Progressive GPU Lightmapper that caused the Editor to shut down too slowly after baking
- Fixed an issue where the Generate Lighting button got stuck when you switched between Scenes that used different backends for baking
- Fixed error "Internal: JobTempAlloc has allocations that are more than 4 frames old" when baking lights
- Fixed the color coding of lights in the shadow mask in Scene View mode, so they now match their corresponding shadow mask channel color.
- Fixed the intensity of blue indirect light in the GPU Progressive Lightmapper
- Fixed the Progressive GPU Lightmapper, so there's no longer incorrect over-darkening at primitive intersections in conjonction with dilatation
- Fixed the Progressive Lightmappers so they now skip baking lightmaps and shadow masks if there are no affecting light sources
- Fixed transparency from an indirect ray in the GPU Progressive Lightmapper
- GPU baking with 1 bounces is faster than 0 bounces
- GPU lightmapper: Fix sample count statistics when baking large lightmaps with high sample count
- Improved the speed of baking with the CPU Progressive Lightmapper when LODGroups are used. Biggest speed improvement where only LOD0 is marked as contributing GI and receiving GI via lightmaps
- Lightmap UVs are offset and partially black after changing some lightmapping settings and rebaking 2K or 4K lightmaps
- Reducing lightgrid memory consumption on GPU lightmaper
- [ReflectionProbes] Minor changes to mesh renderer transform values cause Reflection Probe weights to change

Graphics:
- Add UnityEngine.Experimental.Rendering.RenderingThreadingMode API that returns actual rendering threading mode
- Create texture now occurs on a thread in cases when async loading to update an existing texture.
- Dynamic Array index out of bounds assert
- Enable DXR raytracing feature for DX12 to be used by HDRP
- Ensure deterministic results for ASTC compressed textures with block sizes 10x10 and 12x12
- Fix crash in Editor when using compressed High Quality lightmaps on Android
- Fix error in OpenGL ES shader translation that can cause 'undeclared variable' shader compile error
- Fix for crash caused by floating point rounding errors when atlassing very small rectangles
- Fix framebuffer load actions when rendering from Monobehaviour.Update
- Fix getting the pixel format of a Metal Render Surface in devices that don't support combined MSAA store and resolve action
- Fix issue where SRP would allocate memory each frame
- Fix issue where there would be an assert when importing an asset with zero bone weights
- Fix Mesh.GetTriangles with list argument not working with different topology
- Fix shadow culling issues causing objects to disappear from shadow maps
- Fix SkinnedMeshRenderer.boneWeights returning incorrect values when the number of bone influences per vertex is increased
- Fix SRP Batcher graphical artifacts with more accurate float to half conversion
- Fix stall in Canvbas.BuildBatch due to Geometry Jobs
- fix the viewport for non-promary display when using multi display and proxy buffer to render
- Fix use shader code generation when using SV_PrimitveID with OpenGL
- Fixed a bug where compressing a texture using EditorUtility.CompressTexture() did not trigger an upload to the GPU of the changed texture data
- Fixed a crash when Dynamic Scaling and Forced Screen Percentage option are used in combination with Ray Tracing (DirectX 12)
- Fixed a crash where a ComputeBuffer could still be referenced after the object was destroyed
- Fixed a driver crash on Vulkan when attempting to copy a ComputeBuffer counter from a buffer that doesn't have one.
- Fixed a regression that caused an increase in draw calls when you used static batching
- Fixed an issue that caused incorrect distance bands for CullingGroups
- Fixed an issue where frustum culling used incorrect near and far culling planes when you set a custom culling matrix
- Fixed an issue where GPU instancing sometimes didn't work correctly on Vulkan when a shader didn't use all instancing constants
- Fixed an issue where importing an Asset with no bone weights caused an assert
- Fixed an issue where the colour space parameter for a RenderTexture would be ignored if a default LDR texture format was requested
- Fixed an issue where the Preview Camera had an incorrect type
- Fixed an issue with the copy texture api to use proper texture formats
- Fixed an issue with the reset functionality for Visual Effect Graph
- Fixed bug where temporary render textures would be reallocated instead of reused if mip count was set to 0
- Fixed crash that occured when atlassing BC compressed textures using a padding smaller than the blocksize
- Fixed D3D11 debug validation layer warnings because we did not unbind all VB correctly
- Fixed detail shaders not updating after render pipeline has been changed
- Fixed DX11 specific GPU texture memory reporting when using mip streaming to update an existing texture
- Fixed editor crash on terrain used with planar reflection by skipping QuadTreeRenderNodes with invalidated meshes
- Fixed editor stalls in script compilation, exit playmode after having a project open in the editor for a long time
- Fixed excessive texture mip reduction during texture streaming when texture quality settings applied
- Fixed ExtractImage to check the presence of source image data
- fixed issues with grabpass shader on Vulkan API
- Fixed Mesh picker not updating the Mesh field on the SkinnedMeshRenderer component
- Fixed newly created blendshapes not showing up
- Fixed SetPixels/GetPixels when using SRGB formats
- Fixed some documentation issues for the CommandBuffer scripting API
- Fixed SRP Batcher causing scene to flicker random colours in Vulkan
- Fixed Stencil Rendering States so they don't update when you set anything via Shader.SetGlobalInt()
- Fixed Texture streaming when preloading textures (prior to associating with a renderer) to load low mip rather than highest mip
- Fixed TrailRenderer bounds accuracy
- Make graphics job mode be a per platform setting
- Prefer dLDR HDR encoding over RGBM for HDR cubemaps on mobile platforms when ASTC format is selected as override in TextureImporter
- Properly fail when trying to use OpenGL ES on Windows on a machine that doesn't support OpenGL ES (typically AMD GPU based)
- Removed Color from vdecl used for warming up shaders. Some time ago we stopped adding color always to main stream and add extra stream on demand, hence this vdecl is almost never used with real content effectively disabling any warming up we can do
- Resolve issue where Vulkan behaves like D3D11 when anisotropic filtering is enabled
- Texture streaming now works with LZ4 (and LZ4HC) compressed packages on all platforms
- Update SRP Packages to 7.1.8
- Updated documentation for LODGroup

IL2CPP:
- Allow DateTime.Now to work properly on some non-English locales in WebGL
- Avoid exception related to loading libc on platforms that don't support it
- Correct an intermittent crash when a managed exception occurs on a back ground thread while the process is shutting down
- Correct the behavior of the MulticastOption constructor when the localAddress argument is not provided
- Fix a crash in the player when incremental GC is enabled and HttpClient requests are made in the ThreadPool
- Fixed a performance issue with IL2CPP lumped builds
- Fixed symbol stripping from the executable in incremental builds
- Fixes an issue with the debugger agent passing an uncaught message exception to the debugger client even if the exception was actually caught
- Fixing an issue with retrieving default values from nullable method parameters via reflection
- Handle calls to open delegates on instance methods of value types properly
- Handle out marshaling of StringBuilder arguments for p/invoke
- Marshal.SizeOf computes correct values for structs containing structs
- Prevent a possible crash when incremental GC is enabled and the .NET thread pool is heavily used

IMGUI:
- Fixed the duplicate Save scene dialog issue on changing the Graphics API

Input:
- Apple Pencil will be correctly recognized on iOS in the new input system on newer iPad devices

Kernel:
- Fixed job index allocation contention which could cause multiple seconds of stalling while using jobs
- NativeArray no longer allow nesting other types tagged NativeContainer, to prevent hard to diagnose memory corruption bugs
- Optimisation of the JobQueue inner loop which had a performance regression since 2019.1
- SerializedObjects targetting a isntance with a missing/broken script could lead to crashes