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

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

Unity 軟體圖示 Unity 2017.2.1 資料更新 2017-12-14 閱讀約 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-2017.2.1f1.exe · 736.26 KB · 連結指向軟體原廠

版本紀錄

再看 5 筆

看完整版本清單

這一版改了什麼

What's new in this version:

Improvements:
- 2D - Exposed methods to set and retrieve Physics Shape from a Sprite
- 2D - Improved the name for the packed texture generated by a Sprite Atlas
- 2D - Sprites created by importing a texture now have a default Physics Shape generated
- Android - Changed "Bundle Identifier" to "Package Name" in associated error messages
- Android - Improved error messages from android sdk tools
- Android: Proguard is no longer enabled by default for gradle release builds
- Android: Release gradle builds now signed with a debug key instead of failing to build
- Apple TV - Added support for attitude data coming from new AppleTV remote
- Editor - Fix labels for LZ4 compression to be less confusin
- GI: Various lightmap seam stitching improvements for Progressive Lightmapper
- Graphics - Added APIs to retrieve areas safe for UI rendering. Currently supported on iOS and tvOS only
- IL2CPP: Improved incremental build performance on OSX
- iOS - Added identification enums for iPhone 8, 8+ and X
- iOS - Added player setting to specify whether the home button should be hidden on iPhone X
- iOS - Added player setting to specify which device edges defer system gestures to the second swipe
- iOS - Added support for iPhone X launch images
- Linux - Improved native plugin lookup
- Playables: Updated Playable.ConnectInput to take take an optional weight parameter
- Playables: Updated the Playable API documentation
- Scripting: Added command line option "overrideMonoSearchPath" for desktop standalone players (OSX, Windows)
- Shaders - Concatenated matrix macros (e.g. UNITY_MATRIX_MVP) are now changed to static variables to avoid repeated calculations
- tvOS - Implemented support for 4K AppleTV icons and splashscreens
- Video - Removed audio glitches that follow seek/underruns in VideoPlayer
- XR - Improved performance on Windows Mixed Reality by removing a potential thread stall that would occur whenever beginning a new frame while the previous frame had not completed presenting
- XR - Updated Vuforia to version 6.5.23
- XR: Added PlayerSettings Get/SetVirtualRealitySupported, Get/SetVirtualRealitySDKs, and GetAvailableVirtualRealitySDKs for aquiring and setting the XR Settings on Virtual Reality Supported toggle and Virtual Reality SDKs list
- XR: Enabled single-pass stereo rendering for Windows MR

Fixes:
- XR: Fixed background rendering in ARCore apps running on Pixel XL no longer appearing stretched
- XR: Fixed issues with using values other than 1.0 for eyeTextureResolutionScale on Windows MR
- 2D: Fixed crash when Sprite Atlas scale results in a non-power-of-two texture and Crunch Compression is enabled
- 2D: Fixed ReflectionTypeLoadException from TilePalette when TilePalette is opened with 4.6 .Net and a user assembly cannot be loaded
- 2D: Fixed SetMinMax for Bounds/RectInt
- 2D: Fixed SortingGroup not applying sorting changes when child objects are duplicated or added dynamically
- 2D: Fixed switching platform and building project without making any changes will not cause Sprite Atlas asset to change
- 2D: Fixed the generation of Sprite Physics Shape for Sprites when the Texture is set to multiple Sprites mode, has no user Sprite Physics Shape set and does not generate a tight mesh for the Sprite
- 2D: Fixed tiled sprite renderer crash when a sprite is being packed in a Sprite Atlas which is not included in the build
- 2D: Fixed Tilemap Move to show correct Move preview
- 2D: Fixed TilemapRenderer showing tiles when Tilemap.ClearAllTiles() is called
- 2D: Fixed updating an active Tilemap palette prefab not exposing it into the SceneView
- AI: Fixed NavMesh.SamplePoint failing for meshes in range when another navmesh was below the point and out of range
- AI: Fixed unwanted gap in the NavMesh produced by a concave edge crossing a tile boundary
- Android: Disable GPU fences for two Android 6 devices which have been found to have compatibility issues causing performance loss: HTC 10 and LG G5 SE
- Android: Fixed a player crash caused by enabling GPU profiling when the selected graphics API was not OpenGL ES 3
- Android: Fixed android build failing with target SDKs 21-23
- Android: Fixed android video player playback starting to lag after activating input field
- Android: Fixed android video player stuttering and dropping frames
- Android: Fixed crash on some Adreno devices
- Android: Fixed crash while processing input during destruction
- Android: Fixed loading player data for very specific file sizes/content
- Android: Fixed plugin importer architecture selection
- Android: Fixed project export overwriting res/ directory when exporting to keep local changes to layouts etc. intact
- Android: Fixed realtime HDR reflection probes being black on older Android devices
- Android: Fixed setting multiple response headers with same name in UnityWebRequest
- Android: Fixed shader compile error on devices not supporting GL_FRAGMENT_PRECISION_HIGH
- Android: Fixed symbols.zip not including symbols file
- Animation: Fixed an issue where PrepareFrame was called at the wrong moment in the frame
- Animation: Fixed assert in play mode when Culling Type is set to "Based on Renderers"
- Animation: Fixed assert when loading AnimationClip asynchronously in AssetBundles
- Animation: Fixed being unable to set the transition time in Animator.CrossFade()
- Animation: Fixed bool property not properly restored to initial value when exiting animation window
- Animation: Fixed case where sprite and material reference were not animatable at the same time in the SpriteRenderer
- Animation: Fixed case where transition between animations makes GetIKRotation and GetIKPosition returned incorrect value
- Animation: Fixed CurveField not updating animation curve when reference changes from render to render
- Asset Import: Fixed psd import issue where a psd looked different from a png
- AssetDatabase: Fixed an issue where AssetDatabase.GetSubFolders() didn't return any results, and updated the manual to reflect that this method only accepts relative paths
- Build Pipeline: Fixed a crash in BuildReporting::BuildReport::BeginBuildStep caused when BuildAssetBundles was being called from an OnPreprocessBuild callback
- Build: Exceptions in OnPreProcessBuild will now halt the build process correctly
- Collab: Fixed project manifest not being tracked in Collab
- DirectX 12: Fixed a crash when running on Windows 7 machine with first API in the list being DX12 and Graphics Jobs enabled
- DX12: Fixed memory leak when rendering procedurally generated meshes while using the Direct3D12 graphics API in the Windows Standalone build
- Editor: Fixed an issue where lightmaps are generated even though the scene does not contain any baked light contribution
- Editor: Fixed crash when dragging component without managed instance to hierarchy
- Editor: Fixed crash while processing input during destruction
- Editor: Fixed curve WrapModeIcon drawing when the Curve window is embedded into another window
- Editor: Fixed editor restart prompt when selecting the same Active Input Handling option
- Editor: Fixed importing a cubemap with invalid metafile crashing
- Editor: Fixed incorrect framing of GameObject hierarchies in Scene View
- Editor: Fixed incorrect tool placement when pivot mode was set to Center
- Editor: Fixed incorrect wrap icon button in particle curve editor window
- Editor: Fixed issue where performing a drag and drop operation to a GameObject that is being edited in the Preview window of Timeline would apply changes to its associated Prefab that cannot be reverted
- Editor: Fixed player settings not using the default icon if non are specified
- Editor: Fixed Plugin Inspector showing only one option in Framework Dependencies when switching to iOS platform and .NET 4.6
- Editor: Fix random hangs during Editor startup
- Editor: Fixed Scene view picking sometimes not selecting the topmost object
- Editor: Fixed SceneView bounds calculations not taking multiple colliders and renderers into account when calculating the framing and centre - point
- Editor: Reduced size of LightingDataAsset when baking light probes with multiple scenes loaded
- GI: Fix a crash in ApplyMaterialPassWithCache when generating lighting and Lightmap Static option is enabled
- GI: Fixed 'Show Lightmap Resolution' checkbox not working
- GI: Fixed crash when deleting Speedtree asset files from project folder when in use by prefab
- GI: Fixed Enlighten not generating lightmaps for meshes imported without UVs and with Generate Lightmap UVs option enabled
- GI: Fixed MaterialPropertyBlock values for Meta pass when using on terrain mesh with Realtime GI
- GI: Fixed navigating in scene view restarting baking when trees are painted on terrain
- GI: Fixed shadows when shadow prepare job is not run
- GI: Fixed terrain artifacts caused by Enlighten terrain mesh triangulation being different from the original mesh triangulation
- GI: Fixed terrain trees do not casting shadows into baked lightmaps
- GI: Fixed the UI in inspector not correctly showing light mode when multiple lights are selected
- Graphics: Added error message for graphics APIs that do not support texture wrap mode "mirror once" (Android Vulkan, Android GLES3 and WebGL)
- Graphics: Emit error messages instead of assert when the screen position is out of view frustum
- Graphics: Fix Vulkan validation layer errors (on Windows) when switching to fullscreen
- Graphics: Fix Vulkan validation layer errors associated with image barriers
- Graphics: Fixed a crash in 'RenderTexture::DiscardContents' when opening the scene
- Graphics: Fixed an issue where an off-screen SkinnedMeshRenderer with 'update when off-screen' enabled was not being skinned
- Graphics: Fixed asserts when animations disable newly visible renderers
- Graphics: Fixed atlased ETC1 textures with split alpha rendering in editor outside of play mode
- Graphics: Fixed batching with unused stencil bit in G-Buffer pass
- Graphics: Fixed crash when certain variables of CustomRenderTexture are used in script
- Graphics: Fixed crash when creating sprite with unsupported texture format
- Graphics: Fixed culling of projectors not matching Editor scene cameras
- Graphics: Fixed D3D11 driver assert message and potential crash "Invalid mask passed to GetVertexDeclaration() when using post-effect"
- Graphics: Fixed exception being thrown when the backgroung color of a Reflection Probe is changed
- Graphics: Fixed GL_INVALID_ENUM error with OpenGL ES when using point primitives
- Graphics: Fixed incorrect calculation of the Umbra occlusion culling near plane from the camera settings
- Graphics: Fixed incorrect definition of _ShadowCoord in AutoLight.cginc leading to unexpected compilation errors or extra useless interpolator
- Graphics: Fixed issue where some user shader keywords were handled incorrectly leading to compilation errors when building for standalone
- Graphics: Fixed not being able to set any Mesh on a Skinned Mesh Renderer
- Graphics: Fixed object with "Dynamic Occludee" property being disabled rendering in Preview window when selecting a different object
- Graphics: Fixed potential hang with DirectX11 or DirectX12 when using different sized render targets and multiple cameras
- Graphics: Fixed project build errors when Reflection Probes Projection setting in Tier1(Graphics Settings) is unchecked
- Graphics: Fixed specific case where not all requested shader variants ending up in an asset bundle
- Graphics: Fixed Tree shadows being culled when zoomed in on Occlusion Visualization mode
- Graphics: Fixed updating of bounding boxes for SkinnedMeshRenderers with 'Update When Offscreen' set
- Graphics: MeshRenderers with disabled "Dynamic Occluded" property were not being frustum culled
- IL2CPP: Added support in IL2CPP for Module.ScopeName property, which is used by Assembly.GetModule() to find a module in an assembly by name
- IL2CPP: Fixed an exception that would occur during conversion when processing an exception filter that calls a method
- IL2CPP: Fixed ArgumentException when accessing Socket.LocalEndPoint
- IL2CPP: Fixed calling DateTime.Parse() in IL2CPP builds for UWP throwing IndexOutOfRangeException
- IL2CPP: Fixed calling native ICommand interface methods on managed and native objects
- IL2CPP: Fixed calling System.Collections.Generic.IList`1 methods on managed and native objects
- IL2CPP: Fixed crash in thread pool during shutdown
- IL2CPP: Fixed crash when calling Socket.GetSocketOption using latest scripting runtime
- IL2CPP: Fixed marshaling System.DateTimeOffset to Windows.Foundation.DateTime when passing it to Windows Runtime APIs
- IL2CPP: Fixed SetSocketOption not working properly for add membership and remove membership with IPv6
- IL2CPP: Fixed stack overflow from occurring in Unity liveness logic (asset GC)
- IL2CPP: Fixed unimplemented COM related internal calls in System.Runtime.InteropServices.Marshal class
- IL2CPP: Implemented a previously unimplemented internal call method to support System.Environment.HashShutDownStarted property
- IL2CPP: Improved stack traces for NullReferenceException cases on iOS when Xcode 8.3.1 or later is used with release builds
- IL2CPP: Prevented an intermittent crash in the GC for on PS4
- iOS: Fixed an issue where the development team ID was not written to the Xcode project in manual signing mode
- iOS: Fixed crash in Handheld.PlayFullScreenMovie when playback ends
- iOS: Fixed screen not always automatically rotating correctly after disabling and enabling auto-rotation
- iOS: Fixed support for fonts of Tibetan, Armenian, Braille, Georgian and Thai languages in iOS 10 and iOS 11
- iOS: Fixed support of wide colors on new devices
- iOS: Fixed SystemInfo.supportedRenderTargetCount not correctly returning 8 for devices that support it
- iOS: Fixed the Screen.dpi() method in the Trampoline code not returning the correct number of DPI in iPhone 8, iPhone 8+ and iPhone X
- Lighting: Fixed asset bundles not working correctly with global illumination data
- Lighting: Fixed issue where Progressive Lightmapper was not transmitting indirect rays through translucent objects
- Lighting: Fixed maximum lightmap import size
- Multiplayer: Fixed reliable message being delivered twice
- OSX: Fixed Editor crash when using GLCore on High Sierra with Intel 6xxx series GPU
- OSX: Fixed High Sierra OS freeze while using Local Cache Server
- OSX: Fixed incorrect mouse position when running in full screen and non-native aspect ratio
- OSX: Metal: Fix hang when using MSAA on OSX 10.11 on Nvidia GPUs
- Package Manager: Fixed creation of empty folder named 'etc'
- Package Manager: Fixed error/crash if there is a comma symbol in the project name
- Package Manager: Fixed initialisation failure when host file is missing or empty
- Particles: Fixed Birth SubEmitter not always firing when using random between two constants lifetime
- Particles: Fixed burst curves on new particle systems not being initialized
- Particles: Fixed issue with incorrect bounds calculation causing incorrect culling in rare cases
- Particles: Fixed scripted emission emitting particles in the wrong direction, if transform was moving/rotating
- Physics: Ensure that we correctly match enter/exit collision/trigger callbacks when a single simulation step causes a contact to stop then start again
- Physics: Ensured that 'Collision2D.GetContacts()' returns a single contact when passing a single element array
- Physics: Ensured that loading a scene with a Rigidbody2D with simulation off allows interpolation when simulation is subsequently turned on
- Physics: Ensured that manual transform sync correctly updates the Rigidbody2D pose correctly
- Physics: Fixed cloth pointer not being set to null to null in SkinnedMeshRenderer when deactivating causing attempted use of deallocated object
- Physics: Fixed Collider2D crashing when disabled by an animation
- Physics: Fixed Collider2D material changes not being propagated to existing contacts
- Physics: Fixed colliders missing pose updates when they were inactive during the scene load
- Physics: Fixed physics settings being always marked as dirty on the editor start, even when nothing was changed
- Physics: Fixed PlatformEffector2D not ignoring contacts involving trigger colliders
- Physics: Fixed previously ignored collision not being ignored when recreating 2D physics contacts
- Physics: Fixed RigidBody2Ds being woken when set to "StartAsleep" sleep mode
- Physics: Fixes GameObject which has a disabled cloth component not following parent's transform
- Playables: Fixed crash when setting an invalid source playable
- Plugins: Fixed warning messages about Audio spatializers in logs for applications that were not using spatializers
- Prefabs: Fixed issue where resetting SerializedProperty.prefabOverride for one property could incorrectly reset other properties
- Scripting: Fixed alignment of 64-bit types on iOS
- Scripting: Fixed Awake containing the wrong transform values when instantiated
- Scripting: Fixed crash if delegate is created on un-inflated generic type
- Scripting: Fixed crash in debugger when trying to stop while a single step operation is in progress
- Scripting: Fixed crash on OSX when socket error ENXIO is encountered
- Scripting: Fixed crash when closing Windows Standalone player with Alt-F4 using latest scripting runtime
- Scripting: Fixed crash when struct has array field of same type
- Scripting: Fixed startup-crash on macOS 10.13 when using multiple monitors
- Scripting: Fixed XMM registers being trampled in 64-bit mode
- Shaders: Disable instancing support when performing surface shader analysis
- Shaders: Fixed HLSLcc shader conversion not handling F32TO16 and F16TO32 opcodes
- Shaders: Fixed importing a shader include file only clearing the include cache on a single shader compiler process leaving all the other processes with outdated include files in the cache
- Shaders: Fixed incorrect translation of shaders using resinfo with mask operators
- Shaders: Fixed incorrect translation to GLSL of compute shaders using bfi instructions with mask operators
- Shaders: Fixed shadow precision for mobile platforms
- Terrain: Fixed crash when loading a non read/write enabled texture from an asset bundle. Texture will not be shown unless it is marked as read/write
- Timeline: Fixed crash when deleting animation track which has a binding attached to an ActivationTrack
- Timeline: Fixed timeline window having a white background when running on .NET 4.6 depending on the set system language
- tvOS: Fixed icon asset catalog setup when certain multi-layer icons are missing
- UI: Fixed many bugs/performance problems caused by driven properties in uGUI by reverting to the 2017.1 driven property system
- UI: Fixed RectMask2D not masking when it's child has a child with Mask and Image components inside the RectMask2d area
- UI: Fixed 'd3d11: failed to create buffer' error in CanvasRenderer
- UWP: Fix building VS project after manually switching it to Windows SDK 15063 on .NET scripting backend
- UWP: Fixed "Run in Background" player setting not causing player to ignore minimize events
- UWP: Fixed an assert when trying to access missing material properties on debug builds
- UWP: Fixed issue where ComputeBuffer.SetData() and ComputeBuffer.GetData() returned empty result when running on .NET scripting backend and the array types weren't referenced from any parameters
- UWP: Fixed Reference Rewriter complaining about missing operators == and != on System.Type on .NET scripting backend
- UWP: Fixed StateMachineBehaviour not working on private fields before loading any scenes on .NET scripting backend
- UWP: Fixed Unity not referencing facade class libraries when targeting UWP and using IL2CPP with .NET 4.6 API Compatibility level
- Video: Fixed clip from asset bundle not played
- Video: Fixed crash in VideoPlayer when stopping and callbacks were pending
- Video: Fixed crashing RemoteWebCamTexture (when using the Unity Remote helper app) when marked DontDestroy
- Video: Fixed editor crash when previewing/playing video on older OSX version
- Video: Fixed erroneous stride crash on Windows
- Video: Fixed inspector preview not cropping title
- Video: Fixed muting game view does not mute video audio
- Video: Fixed video decoding errors due to bad file I/O for high res/bitrate video
- Video: Fixed video not playing in build when building for another platform
- Video: Fixed Video Player component rendering video with artifacts on OSX
- Video: Fixed VideoPlayer CameraNear/FarPlane RenderModes when used in conjunction with VR
- VR: Fixed incorrect stereo eye offsets in Windows Mixed Reality
- Web: Fixed POST key/value dictionary containing very long values in UnityWebRequest
- Web: Fixed WWW.responseHeaders returning null
- WebGL - Fixed missing logo/progress bar during loading screen
- WebGL: Fixed divide by zero when AudioSource.pitch is zero
- WebGL: Fixed missing slash in WebRequest formatted blob url when using https
- WebGL: Fixed MS Edge detection
- WebGL: Fixed Timeline crash on missing DSPConnection::setMix()
- Windows: Fixed DictationRecognizer asserting when stopping or starting the speech recognition twice in a row
- Windows: Fixed loading animation on cursor continuing to play after the game is loaded
- Windows: Fixed ProcessMouseInWindow causing CPU spikes up to 4ms on Standalone builds
- Windows: Fixed Windows touch input events being out of sync from positioning events
- WWW: Fixed reading of local files not working in UWP with UnityWebRequest
- WWW: Fixed WWW class regressions related to throwing NullReferenceException
- XR: Added back Stereo Display (non head-mounted)
- XR: Camera transform changes during and after tracking loss now mimics other platforms' behavior
- XR: Eliminated errors and warnings showing per frame in console during Holographic Emulation
- XR: Fix Podfile version to reflect correct version
- XR: Fixed a performance regression on Microsoft HoloLens
- XR: Fixed a rendering issue on Windows Mixed Reality when using multiple cameras with different depth ranges
- XR: Fixed an issue with blitting between VR and non-VR render textures
- XR: Fixed Assert when playing Mixed Reality applications in Editor without Mixed Reality Portal running
- XR: Fixed black screen on startup on Cardboard when GLES2 or GLES3 is used
- XR: Fixed camera aspect ratio not being preserved when switching from VR to non-VR
- XR: Fixed crash in Editor when toggling play mode aftering blooming to shell on Windows Mixed Reality
- XR: Fixed Daydream applications hanging before quiting to Android home when calling Application.Quit
- XR: Fixed forcing LandscapeLeft default Orientation on all mobile VR applications
- XR: Fixed Holographic Simulation not working in Editor
- XR: Fixed incorrect culling when using multiple cameras with Windows Mixed Reality
- XR: Fixed issue with "Unsupported texture format .." warnings appearing when XR is enabled
- XR: Fixed issue with being able to set tracking space type to Stationary
- XR: Fixed landscape left being forced when landscape right is disabled
- XR: Fixed stereo separation regression on Oculus HMDs
- XR: Fixed stretched background image for ARCore apps running on Samsung S8
- XR: Fixed Windows Mixed Reality applications not reporting an updated boundary if it has been reconfigured while the app was running
- XR: Fixed Windows Mixed Reality apps rendering with incorrect eye offsets
- XR: Fixed Windows Mixed Reality XAML apps launching to a black screen
- XR: Fixed Windows Mixed Reality XAML apps not able to get back to exclusive mode after blooming to the shell
- XR: Fixed Windows Mixed Reality XAML apps not rendering on desktop
- XR: InputTracking.Recenter is now hooked up properly on Windows Mixed Reality
- XR: Removed some unnecessary graphics API state resets
- XR: Tracking loss screen no longer appears on WindowsMR headsets, now mimics the behavior of other platforms during tracking loss
- XR: Tracking space type now falls back to Stationary when boundary hasn't been configured
- XR: Updated the code to invalidate the eye texture's depth and stencil in one call
- XR: Updated messaging in XR Settings for Android applications attempting to use Daydream and Oculus