Unity 5.2.0

Released:
Select the runtime platforms of your choice from the list below (the desktop runtime is included as standard) or, to install the full complement of runtime platforms, use the download assistant installer above.

Windows (X86-64)

macOS (X86-64)

New to Unity? Get started

Upgrade Guide

Known Issues

  • Connect: 'Go to Dashboard' link for Multiplayer lead to Cloud Build
  • Editor: Crash when using injecting proxies (e.g. Lavasoft's webcompanion, Astrill, Qustodio)
  • Home: Stay on connecting window if you don't have internet

Feature

  • 2D: Ability to rotate sprites while Sprite Packing to save atlas space.
  • Android: Audio - Enable OpenSL for devices that support FEATURE_AUDIO_LOW_LATENCY
  • Android: ETC1 Compression for Sprite Atlases. The texture is split into two parts without alpha (second part containing alpha information as a grayscale) and combined at runtime. The option can be set on a per texture level, which affects the final atlas the texture lands in.
  • Application.UnloadLevel Unloading scenes is now possible while the game is running. References to lightmaps are cleared but you have to call Resources.UnloadUnusedAssets(); to actaully unload them. Enlighten data is unloaded immediately. This feature is especially useful in conjuntion with Lightmapping.BakeMultipleLevels(string[] scenes);
  • Audio: Ability to set custom rolloff curves for an AudioSource at runtime via script The following curves will be able to be set at runtime: Volume RolloffSpatial Blend (2D / 3D)Reverb Zone MixSpreadLowPass Filter Cutoff Frequency
  • Audio: Spatialization API (updated SDK and example on https://bitbucket.org/Unity-Technologies/nativeaudioplugins)
  • Cloud Service: Access control list support
  • CullingGroups: Added CullingGroup API, which allows you to specify a large set of bounding spheres that are integrated into the culling pipeline and subjected to frustum and occlusion culling.
  • Graphics: Added option in player settings for configurable vertex compression. Default values: position and UV1 is uncompressed, the rest of the channels are compressed.
  • Multi Scene Lighting baking. Lightmapping.BakeMultipleScenes(string[] scenes); Lets you bake lightmaps, reflection probes and realtime lightmaps for multiple scenes which together, which can be loaded additively. Data is automatically split on bake per scene.
  • Networking: Added NetworkDiscovery component to network HLAPI. This exposes the network transport layer local discovery function to HLAPI code, and allow Unity games on a local network to find each other.
  • New low-level native plugin API.
  • Out of the box support for VisualStudio Tools for Unity (aka UnityVS)
  • Physics: Added parameter QueryTriggerInteraction to all physics queries (raycast, spherecast, overlap) to allow any query to override whether or not the query should hit Triggers.
  • Physics: Expose CharacterController.skinWidth parameter to scripts
  • Physics: Expose impulse applied at contact (see Collision.impulse)
  • Physics: Support scaling vehicles
  • Shaders: Fixed Function shaders work on all platforms now (including consoles). They are always generated at shader import time (a button "show generated code" in shader inspector shows the code); removed all runtime support. All rendering got slightly faster (even when not using fixed function shaders); and executable sizes got slightly smaller.MaterialPropertyBlocks work with them now (which means Sprites and animated materials work too).Behave more consistently across platforms (specular highlights and light attenuation was slightly different before).Fixed function shaders aren't rasterized at a half-pixel shift on WP8 anymore.However, can not create fixed function shaders using "new Material(string)" at runtime anymore; see Changes section.
  • UI: 2D Rect Mask. A mask for 2D UI elements. Performs faster than the existing stencil buffer mask and does not require additional draw calls to prime the stencil buffer. When an element is outside the bounds of the mask the canvas renderer is also culled which leads to faster batching performance.
  • Unity Ads: Enable and configure Ads from the Unity Connect window in the Editor
  • WebGL: allow .jspre files to be added to the project to be prefixed to the generated JavaScript
  • WebGL: Experimental support for WebGL 2.0 (not yet supported in any released browser)
  • Windows 10 Universal apps now support x64.
  • Windows Store Apps: Universal Windows Platform app (Windows 10) support.

Change

  • Editor: Asset Store window is now a part of the default window layout. Docked behind the scene & game views.
  • Editor: Remove legacy OSX corner window resize behaviour.
  • GI: Set default BounceScale to 1.
  • Graphics: Material.CopyPropertiesFromMaterial also copies shader keywords and render queue now.
  • IL2CPP: Make engine stripping in iOS/WebGL a separate setting (PlayerSettings.stripEngineCode) from mono stripping levels
  • Introduce EditorSettings.projectGenerationUserExtensions & EditorSettings.projectGenerationBuiltinExtensions.
  • OpenGL: Modify -force-glcoreXX behaves like -force-glesXX trying to run this specification of OpenGL and taking advantage of all available extensions
  • Reflection Probes: Are rendered in a separate deferred pass when using deferred shading. See Improvements section entry for details.
  • Removed hexadecimal color string support from Color and replaced with ColorUtility.
  • Shaders: Can not create fixed function shaders using "new Material(string)" anymore. Shaders must come from assets or be fully precompiled in the editor.
  • Shaders: Changed UnityGlobalIllumination, Unity_GlossyEnvironment, FragmentGI function signatures. If you have custom shaders that uses Unity's PBR please check UnityGlobalIllumination.cginc, UnityStandardBRDF.cginc, UnityStandardCore.cginc respectively
  • Substance: The communication between Unity's MainThread and the Substance Thread was completely rewritten to better decouple Substance processing from Unity's regular operations and to avoid stalling the MainThread. All crashes and hangs at build time, level load/change time, playmode entry/exit should be gone.
  • Terrain: Changed the default hotkey bindings for terrain tools to F1-F6.
  • UI: CanvasRenderer can now take multiple Materials. Like a MeshRenderer each material refers to a SubMesh of the configured Mesh.
  • UI: CanvasRenderer now takes a Mesh instead of List this allows for the use of imported meshs as part of the UI
  • UI: UI.Text now accounts for trailing white spaces when performing horizontal alignment
  • WebGL: Make release builds always fully optimized

Improvement

  • 2D: Allow sprites to be dragged into scene view in 3d mode. Add temp GO while dragging for visual feedback similar to when dragging prefabs/model into scene view
  • 2D: Frame selected command (F) now works in the sprite editor window for the selected sprite rect
  • 2D: Implement undo functionality for sprite editor window's slice menu.
  • 2D: New grid slicing method that uses column and row count
  • 2D: Pivot snapping on sprite frame rect in sprite editor window only happens when Ctrl is pressed while mouse dragging the pivot handle
  • 2D: Provide a custom pivot field in the slicing menu for the sprite editor window
  • 2D: Zooming on sprite editor window’s texture will zoom towards mouse cursor
  • Android: ETC2 is now the default compressed texture format for RGBA textures instead of RGBA4444
  • Android: Experimental support for IL2CPP
  • Asset Loading: Improved performance of LoadAssetAsync. Allow multiple AsyncOperations to be completed in a single frame.
  • Audio: Audio clip "Force to Mono" now has an option for applying normalization after downmix.
  • Audio: Audio file size display is inconveniently only displayed in bytes.
  • Audio: FSBTool crashed during audio import on Windows XP / N platforms and very short audio files.
  • Audio: Improved preview rendering of audioclips, especially for clips that are very short.
  • Audio: Improved the inspector of the AudioMixer performance parameters.
  • Audio: One-shot sounds now also contribute to the data read by AudioSource.GetAudioData/GetSpectrumData.
  • C# Project Generation: included extensions and rootnamespace now configurable in ProjectSettings->EditorSettings
  • C# Project Generation: only one set of project files will be generated, based on what the preferred external editor is.
  • Editor: Added MonoDevelop Solution Properties toggle to External Tools to disable writing of MonoDevelopProperties section to .sln files.
  • Editor: Added to API RunOpenPanelWithFilters
  • Editor: Better error message when " The classes in the module cannot be loaded." is thrown.
  • Editor: Improved Compute Shader inspector; now lists errors & warnings similar to regular shader inspector.
  • Editor: Improved Export Package window (now uses a proper tree view)
  • Editor: Improved shader inspector performance when there are many errors shown.
  • Editor: Make sure ObjectField and Object Selector shows icons for gameobjects and prefab
  • Editor: More "create new shader" templates under assets create menu (PBS surface shader, unlit shader, image effect shader).
  • Editor: Render cubemap preview instead of icon in LargePreview ObjectField
  • Editor: Selection.selectionChange callback triggered when selection changes
  • Editor: When in 2D mode, the camera bounds for the main camera is always visible when it is in orthographic mode.
  • Fonts: CharacterInfo properties are now writeable
  • GI: Added profiling marker for light probe interpolation.
  • GI: Added progress bar for GI Cache -> Clean Cache progress status.
  • GI: Allow ambient intensity higher than 1.
  • GI: Set lightmap texture compression default quality to Normal. Before it was set to Best. Texture compression time in compositing job went down from 700 seconds to 28 seconds for an ETC compressed lightmap.
  • GI: The size of the last lightmap is now reduced to pack the instances more tightly and not waste space.
  • GI: Tip in lighting window for auto mode.
  • Graphics: Add SetUVs to Mesh API, it takes a UV channel, and a List of either Vector2, Vector3, or Vector4 as arguments
  • Graphics: Added a quality setting 'Shadow near plane offset' to allow working around shadow pancaking artifacts
  • Graphics: Added CommandBuffer.IssuePluginEvent(callback, eventId) to allow invoking a specific callback in a specific native plugin.
  • Graphics: Added hexadecimal code support to Color struct (TryParseHexString, ToHexStringRGB and ToHexStringRGBA)
  • Graphics: Added linear rendering mode to new OpenGL back-end on desktop.
  • Graphics: CPU side rendering performance optimizations across the board. We've seen between 5% and 30% lower CPU cost for rendering, depending on the setup (details).
  • Graphics: Implemented object naming for D3D11, so textures will pick up the correct name in external graphics debuggers
  • Graphics: Memory saving for meshes with < 300 vertices if dynamic batching is off.
  • Graphics: New GL.IssuePluginEvent(callback, eventId) override allows invoking a specific callback in a specific native plugin.
  • Graphics: Particle rendering optimizations, with speed improvements varying from 15% to 50% depending on geometry type. The main change being that particle rendering no longer modifies the view matrix. This enables graphics lists to be shared between left/right eyes, which can lead to approx 40% reduction in total CPU usage when rendering to stereoscopic displays.
  • Graphics: Reduced CPU overhead of light probes when using forward rendering
  • Graphics: Sorting of the renderable objects is now multithreaded.
  • Graphics: Windows Store Apps 8.1 and Windows Phone 8.1 now support MSAA.
  • IL2CPP: Improve performance of 'is' operator, 'as' operator, and casting in some cases.
  • IL2CPP: Properly look up a type using the Type.GetType(string) method during a case-insensitive search.
  • iOS/IL2CPP: Enable generic sharing for types and methods whose generic parameters have constraints.
  • iOS/IL2CPP: Enable MakeGenericType and MakeGenericMethod for types and methods whose generic parameters have constraints.
  • iOS/IL2CPP: Improve conversion time of il2cpp, especially in generics heavy code.
  • iOS/IL2CPP: Load embedded resources in memory-mapped files so that the memory used by those embedded resources is marked as constant.
  • iOS: Added build number to Player Settings.
  • iOS: Added onBannerFailedToLoad delegate to iOS.AdBannerView
  • iOS: Added support of asset tags and folder references to the Xcode API
  • iOS: Don't wait for Xcode if our plugin is not compatible
  • Linux: Enable experimental GL core profile mode (via -force-glcore and friends)
  • Linux: Improved multithreaded rendering performance
  • Mecanim : Renaning Animator parameters updates transitions using those parameters.
  • Mecanim: 3DS MAX Auto Mapping and T-Pose. When setting an Avatar Animation Type to Humanoid, the Auto-Configure will try to detect if it is a Biped. If the hierarchy and naming of Biped is found, then default mapping and t-pose for biped will be used. Translation DoF will also be automatically activated for that avatar. The avatar can still be re-configured from this point, but usually default Biped mapping, t-pose and translation DoF will give the best results. Note that only Bipeds with no “Triangle Pelvis” and using default naming are supported.
  • Mecanim: Added a "destructive action" prompt when deleting blend tree nodes, so that the behaviour is consistent between StateMachine and BlendTree graphs.
  • Mecanim: Added AnimationClipPlayable.speed to the API
  • Mecanim: Added AnimatorStateInfo.speed and AnimatorStateInfo.speedMultiplier.
  • Mecanim: Added the name of the controller to Console errors that are generated for invalid parameters in blend trees.
  • Mecanim: Added the possibility to create AnyState Transitions to the entry node of a state machine. In a sub state machine, this is essentially the same as creating an AnyState Transition to a sub state machine from the parent state machine. This also adds a straightforward way to add an AnyState Transition to the top-level state machine, which was previously only possible through roundabout methods.
  • Mecanim: Added tooltips to blendtree slides.
  • Mecanim: Added tracking of missing or invalid StateMachineBehaviours in the StateMachine and State inspectors. Missing or Invalid StateMachineBehaviours shouldn't disappear anymore from the inspector.
  • Mecanim: Adding a child blend tree will use the default blend tree parameter, not the blend parameter of the parent.
  • Mecanim: Alt-drag works for BlendTree graph view
  • Mecanim: BlendTree Api now publishes useAutomaticThresholds
  • Mecanim: Can create new clip from selected clip/take in Animation importer
  • Mecanim: Clarify doc for Animator.bodyPosition and bodyRotation.
  • Mecanim: Creating a blend tree in a controller with no float parameter will now automatically add a new float parameter named Blend.
  • Mecanim: Expose Animator.IsInitialized in scripting API.
  • Mecanim: Fixing empty State Machine Behaviour after compilation error
  • Mecanim: Import humanoid animation now reports warnings in “Animations Inspector” instead of flooding the Console.
  • Mecanim: Import humanoid animation warnings have been cleaned and improved. A “Warning” summary box has been added at the top of Animation Inspector to prevent warnings to be left unnoticed. Warnings are reported per take when animation file contains multiple takes. Warnings have been added when in-between humanoid bones rotation differs in Source Avatar and Animation. Text has been reformatted so that is easier to consult the warning report.
  • Mecanim: Improved animator warning for API function Play/CrossFade. Warning should display which animator is throwing the error.
  • Mecanim: Improved default IK Hint for legs. Default IK Hint for knee now points towards foot direction. It gives a more natural IK solving for leg when IK correction needed gets bigger.
  • Mecanim: Improved display of transition previewer.
  • Mecanim: Mecanims Humanoid animation jitters - A.K.A. Humanoid Oversampling. For some animations, usually those with fast motion, the Humanoid interpolation may differ from original Euler rotation interpolation. In those rare cases, use animator.humanoidOversampling to increase sampling rate. ModelImporterHumanoidOversampling.X2 up to X8 can be used… Usually 2 will do the job! Default is X1 or no oversampling. Key reducing can be used conjointly to only keep Humanoid animation oversampled keys where it is needed while reducing asset size.
  • Mecanim: Retargeting quality for humanoid import animation. The retargeting quality compares original generic animation with humanoid retargeted animation. An average or maximum position error greater than 1.0 “normalized” mm will be reported. An average or maximum error greater than 0.5 degree will be reported. The time (and frame number) in full take of maximum errors is also reported. The position and rotation errors are reported per human body parts. The Retargeting Quality report can be turned on or off in Import Message foldout of Animation Inspector. It is off by default as it makes file import slower.
  • Mecanim: SetBoneLocalRotation. Animator.SetBoneLocalRotation(Quaternion r) let you modify the local rotation of humanoid bone during IK passes/OnAnimatorIK() callback. It can be used to modify the pose of a humanoid avatar after Animation Blending, but that will still be taken in account by IK Solving. Ex: Adjust Hips and Spine rotation to drive lower and upper body independently on top of animation.
  • Mecanim: Show frame number in avatar previewer.
  • Mecanim: Support Layers Affect Mass Center for AnimatorControllerPlayable.
  • Mecanim: Translation DoF for Humanoid. Some animation files come with translation animation on humanoid bones. For example, it is the case with 3DS MAX Biped that comes with translation on 1st Spine bone. Translation DoF can be activated on those humanoid avatar to convert translation animation to retargetable translation DoFs. Translation DoF affects Spine, Shoulders, Upper Legs and Neck bones. Translation DoFs usually represent small amount of translation that improves retargeting quality. Translation DoF may also be used to improve retargeting quality when animation has more than two animated spine bones. Translation DoF can be activated in Muscle & Setting tab of Humanoid configure window.
  • Mecanim: Updated documentation for AnimatorOverrideController.
  • Merge Tool: Fix merging of scenes/prefabs with out of order objects
  • Metro: AppCallbacks.LoadGfxNativePlugin has been deprecated. All plugins that are in the project and set to build for a given platform are now loaded automatically. The function still exists and does nothing, but it will be removed in a future Unity version.
  • Networking: Added OnLobbyServerPlayersReady callback to the NetworkLobbyManager to allow users to perform custom behaviour when all the players in the lobby are ready.
  • Networking: Added support for client-side authority for non-player objects. The new function NetworkServer.SpawnWithClientAuthority(GameObject obj, NetworkConnection conn) allows authority to be assigned to a client by its connection when an object is created. This would typically be used in a command handler for a client asking to spawn an object, then the client's connection would be passed in. For example: [Command] void CmdSpawn() { var go = (GameObject)Instantiate(otherPrefab, transform.position + new Vector3(0,1,0), Quaternion.identity); NetworkServer.SpawnWithClientAuthority(go, base.connectionToClient); } For setting the authority on objects after they are created, there are the new functions AssignClientAuthority(NetworkConnection conn) andRemoveClientAuthority(NetworkConnection conn) on the NetworkIdentity class. Note that only one client can be the authority for an object at a time. On the client that has authority, the function OnStartAuthority() is called, and the property hasAuthority will be true. The set of objects that is owned by a client is available in the new property NetworkConnection.clientOwnedObjects which is a set of NetworkInstanceIds. This set can be used on the server when a message is received to ensure that the client that sent the message actually owns the object. When a client disconnects, the function DestroyPlayersForConnection now destroys all the objects owned by that connection, not just the player object. Objects which have their authority set to a client must have LocalPlayerAuthority set in their NetworkIdentity. Previously only player objects could have local authority, which meant that the NetworkTransform (and other components) could only be used for controlling the single player object for a connection on a client. With these changes it is possible to have multiple objects on a client that are locally controlled.
  • Networking: Added support for network [Command] calls from non-player objects with authority on a client. Since in 5.2 clients can have authority over non-player objects using NetworkServer.SpawnWithClientAuthority() or NetworkIdentity.AssignClientAuthority(), network Commands were extended from being allowed from just the player object to any object that is controlled by a client.
  • Networking: Added the ability for the NetworkTransform to validate on the server, the movement of authoritative client objects. There are now clientMoveCallback delegates on the NetworkTransform that allow user code to process 2D and 3D movement updates from clients before they are applied. This callback code can reject movement requests completely or modify the movement data. When used in conjuction with client-side movement checks this provides a more secure movement model for multiplayer games.
  • OpenGL: Added -force-clamped prevents trying to use all available extensions when used together with -force-glcoreXX or -force-glesXX
  • OpenGL: Added -force-gles editor and standalone player to automatically run with the best version of ES supported by the platform
  • OpenGL: Fallback gracefully to Direct3D when requesting OpenGL/ES with -force-gl** when the platform doesn't have a good enough OpenGL support.
  • OpenGL: Fallback gracefully to OpenGL when requesting OpenGL ES but it's not supported (all AMD GPUs, older than Intel IvyBridge IGP)
  • OSX: sometimes MonoDevelop & XamarinStudio would open both.
  • Particles: Mesh particles now support the Texture Sheet Animation settings
  • Physics: Now you can set negative WheelCollider.forceAppPointDistance. This allows to adjust forceAppPointDistance in order to have suspension and tire forces applied at the wheel base
  • Physics: Renamed 'CollisionDetectionMode2D.None' to 'CollisionDetectionMode2D.Discrete' (Will be auto-updated).
  • Playables: Improved connection API: GetInput(index), GetInputCount, ClearInputs, and more.
  • Playables: No longer necessary to create a PlayableController to play a tree of Playables. The Animator (and other DirectorPlayer) now expose new Play(Playable root) API.
  • Reflection Probes: Make deferred probe blend distance configurable
  • Reflection Probes: when using Deferred Shading, the reflection probes are now rendered per-pixel (instead of each object only being affected by one or two probes). This will allow doing SSRR (screen space raytraced reflections) properly soon. More details in this document.
  • Scripting: Added Cubemap.mipmapCount
  • Shader: Added finalgbuffer and finalprepass modifiers. They work in the same way as finalcolor does, but are used by the deferred and prepass base paths respectively for altering what would be written into the gbuffer.
  • Shader: decal:add surface shaders now generate code for deferred and legacy deferred paths if finalgbuffer and finalprepass modifiers are specified.
  • Shader: Now skip_variants directive skips user variants as well.
  • Shaders: "Procedural Skybox" shader now has selectable options for Sun Disk: None (fastest), Simple (should be close to the current sun disk), High Quality.
  • Shaders: Make it possible to use UNITY_SAMPLE_SHADOW when SHADOWS_NATIVE is not explicitly defined.
  • SpeedTree: Negated tangent vectors to match those in the SpeedTree Modeler.
  • SpeedTree: Now shader has less variants due to the merge of some geometry types.
  • Stacktrace logging: Allow to log full (native/managed) stack trace when log is printed, the option is available in the console window in top right corner popup menu. Also check Application.stackTraceLogType API. Works in Editor and Windows/OSX standalone players.
  • Substance: "visibleIf" expressions set in Substance Designer are now properly evaluated (for inputs only) and inputs are now displayed or hidden accordingly.
  • Substance: Dynamic parameter in Substance graphs are now evaluated using native code instead of bytecode on Windows / OSX / Linux, resulting in faster texture generation.
  • Substance: Feature parity with Substance Designer 5.1.
  • Substance: Runtime generation of ProceduralMaterials is now supported on PS4 and XboxOne.
  • Substance: Updated the Substance Engine libraries to Substance Designer 5.1.1 feature parity.
  • Terrain: A warning message will be printed onto the console window if there are too many vertices in a detail patch. Increased the vertex limit to from 50k to 65k.
  • Terrain: Expose TerrainData.SetHeightsDelayedLOD and Terrain.ApplyDelayedHeightmapModification to allow users to achieve high frame rates while doing interactive terrain editing
  • Terrain: Made it easier to work with height maps created by World Machine. The default value of Byte Order option is now Windows (little endian).Added an option to vertically flip the height map when importing or exporting a raw file.
  • Terrain: Now 4097x4097 raw heightmap can be imported.
  • Terrain: Now a TerrainData object embedded into a scene (created by script) allows scene objects being selected as tree prefabs.
  • Terrain: Now terrain renders in deferred and legacy deferred path.
  • Terrain: Renamed "Wind Settings" label to "Wind Settings for Grass".
  • Terrain: Trees painted on the terrain now are scaled by the prototype's transform scaling.
  • TrueTypeFontImporter: References to other font assets to be used in the project as fallback are now shown in the TrueTypeFontImporter inspector
  • UI: Add callback to MaskableGraphic for when it becomes culled via the 2d culling API
  • UI: Added support for EventType.ExecuteCommand "SelectAll" to InputField so that it works in the Editor
  • UI: Added underloaded function call for RectTransformUntility.RectangleContainsScreenPoint so a camera is not required.
  • UI: Make the default value for a slider / scrollbar be 0
  • UI: Multithreaded UI system backend. The UI system batching code is now multithreaded this leads to a performance increase of up 4x (in our stress test scenes).
  • UI: Remove (Pro Only) from UI shaders as they can be used on any version of Unity since 5.0
  • Unity Connect: State machine for project Info
  • Version Control: Bottom most version control info bar in inspector shows separete state for meta file if different from asset.
  • Version Control: Icon overlays for version control is surrounded by parenthesis in case an asset and its meta file's state is out of sync
  • Version Control: Reduce unnecessary checkouts
  • Version Control: Tooltip on info bars in inspector showing asset/meta file state
  • WebGL/IL2CPP: Improved stripping resulting in smaller build sizes
  • WebGL: Allow Type.GetType(string) and its overloaded methods to work without Exception Support set to Full.
  • WebGL: Resolution set in html file will no longer be overridden by PlayerSettings
  • Windows Store Apps/Windows Phone 8.1/Windows Universal Apps: Unity will generate projects in a consistent way with Visual Studio. For ex., When specifying project names with whitespaces or symbols like '-', '.', Unity will no longer strip those symbols when creating folders, note this might break existing projects if you're building on top of old directory and your project name contains one of these symbols. (Backwards comptability breakage)
  • Windows Store Apps/Windows Phone 8.1/Windows Universal Apps: Unity will properly use project name instead of hardcoded "Template" word, when creating App.xaml, App.xaml.cs, MainPage.xaml, MainPage.xaml.cs, AssemblyInfo.cs files. (Backwards comptability breakage)
  • Windows Store Apps: InvokeOnAppThread/InvokeOnUIThread now will not cause deadlock, when called with sync=true multiple times in one chain
  • Windows Store Apps: supported orientations are now populated to manifest
  • Windows Store/Phone will now show animated Unity splashscreen instead of the static one.
  • Xbox One: Unity now builds with the June 2015 XDK. You must install the June 2015 XDK on your PC and use the matching or a later recovery on your console.
  • XboxOne: Improved performance for certain audio operations: converting float to PCM16 formats, mixing audio for one speaker configuration to another, and linear resampling.
  • XboxOne: Unity is now build using the June 2015 QFE 1 XDK. You will need to have this XDK installed on your PC and use the matching or a later recovery.

Fixes

  • 2D: After applying settings in sprite editor window, deselect any sprite rect
  • 2D: Apply active color space onto texture in sprite editor
  • 2D: Change text for Point filter format from Point to Point (no filter)
  • 2D: Clamp sprite pivot values to 0..1 instead of accepting any value (including infinity)
  • 2D: Clear undos for SpriteEditorWindow when applying or window is closed. Also fix ClearUndo not working for ObjectUndo
  • 2D: Do not trim sprite when Shift-T is pressed while entering name in Sprite Editor
  • 2D: Ensure SpriteEditorWindow has the correct texture importer reference when texture importer inspector is applying changes
  • 2D: Fix NullReferenceException when creating a new sceneview
  • 2D: Fix pointer enter/exit detection order with sorting layers
  • 2D: Hide PerRendererData shader properties in inspector as property is retrieved from the renderer
  • 2D: Increase responsiveness of Sprite Editor in MacOSX
  • 2D: Materials become transparent because of improper re-setting of material
  • 2D: Non-sprite textures will display in sprite editor window with no options
  • 2D: Quit 2D collider editing mode when user reset the collider component
  • 2D: Reimport texture if texture importer is reset
  • 2D: Remove a sprite rect if the selected sprite rect is empty when trimmed
  • 2D: Replaced assert with warning message to multiple materials in SpriteRenderer
  • 2D: Set correct zoom values for zoom bar in SpriteUtilityWindow
  • 2D: Set SpriteRenderer to dirty when color is set
  • 2D: Sprite Editor uses the actual image size for slicing operation. Force Sprite Editor preview to use mipmap if user machine does not support the image resolution
  • 2D: SpriteRenderer will have light and reflection probes turned off by default. They can still be turned on manually.
  • 2D: Update sorting layer APIs and prevent setting invalid sorting layer ids to renderer
  • 2D: View tool (panning, rotating, zooming) in the scene view will not manipulate collider control point even in collider editing mode
  • Android: Added API level 22 to the minSdk list
  • Android: Added support to create a real 16bit RGB565 backbuffer. Deprecated Handheld.use32BitDisplayBuffer
  • Android: Audio - Fixed issues on GearVR when the device does not report FEATURE_AUDIO_LOW_LATENCY
  • Android: Buildpipe - Android Libraries can now be excluded from build in the Plugin Inspector
  • Android: Buildpipe - Fixed assets folders in aar files
  • Android: Editor - fix GLES31+AEP player settings
  • Android: Fixed ATC texture compression for RGBA textures
  • Android: Fixed bug that caused texture format RGBA4444 to be used for RGBA textures even when overriding in build settings
  • Android: Fixed crash affecting some PowerVR 544 devices
  • Android: Fixed performance regression in Resource.Load when calling it multiple times for the same resource
  • Android: IL2CPP - Fixed compilation when path has white space
  • Android: JNI - fixed long data type
  • Android: Stripping - don't strip AssetBundle class or it removes LoadAssetAsync
  • Android: WWW - report HTTP status and response in case of failure
  • Animation Window: Animated particle properties are now show up in red in Inspector
  • Animation Window: Animated property values are now updated in Particle Editor when scrubbing in Animation Window
  • Animation Window: Animation curve now updates after changing controller
  • Animation Window: Ctrl+A now selects all keys and properties
  • Animation Window: Highlight is now blue when selecting all properties from animation window
  • Animation Window: It’s now possible to move current time before the first key
  • Animation Window: Replacing existing animation now actually replaces the asset instead of creating new one with unique name
  • Asset Management: Changes to scripts are now correctly processed synchronously, fixing a range of issues with scripts relating to asset processing at import time
  • AssetBundle: Check if the manifest AssetBundle name has conflict with the user predefined AssetBundle name.
  • AssetBundle: Fix the crash when a scriptable object is referenced from the scene.
  • AssetBundle: Fix the issue that AssetBundle with packed textures includes source textures in addition to the atlased version.
  • AssetBundle: Fix the issue that Resources.UnloadUnusedAssets() doesn't unload fonts if they were loaded from an asset bundle
  • AssetBundle: Fix the issue that search result window won't get updated when the AssetBundle name is changed.
  • AssetBundle: Fix the wrong size breakdown in the Editor.log when building AssetBundles.
  • AssetBundle: Fixed issue that AssetDatabase.GetAssetPathsFromAssetBundle only returns assets explicitly included in the AssetBundle
  • AssetBundle: Fixed issue that AssetDatabase.GetAssetPathsFromAssetBundleAndAssetName returns paths in random order
  • AssetBundle: Throw a warning when getting hash from AssetBundleManifest with a non-existing bundle name.
  • Assets Loading: Fix non-first scene loading from streamed asset bundle with multiple scenes
  • Assets Management: Enabled SSE2 optimizations on OSX x64 (Editor and Players)
  • Assets Management: Fixed quit with 'Fatal Error' when out of memory during importing large cubemap with Soft Edges enabled
  • Audio: Fixed AudioSource inspector not updating to show new pitch value when this is set from script.
  • Audio: Fixed occasional crash at editor shutdown.
  • Audio: Fixed occasional crashes that could occur with non-blocking sounds if the audio source was stopped right after being started.
  • Audio: Fixed some memory leaks.
  • Audio: Fixed undo of AudioMixerGroup colour changing and Solo/Mute/Bypass toggling.
  • Audio: Now able to import from 32 bit fixed point and big-endian AIFF audio files
  • Audio: Transition to null snapshot in AudioMixer was crashing editor
  • Connect: Move project and COPPA Lock are disabled when project is locked
  • Core: Fixed hang when passing large arrays to the Undo system
  • Crunch texture compression: Support for 8192x8192 textures (64-bit editor builds only)
  • Editor: Automatically checkout ProjectSettings/ProjectVersion.txt if needed.
  • Editor: Avoid division by zero in zero-sized SphereCollider
  • Editor: Avoid locking when framing terrain
  • Editor: Camera lock keeps working when dragging outside the scene view window
  • Editor: Clear old main menus on Windows
  • Editor: Dirty materials when fixing HDR texture to ensure previews are updated
  • Editor: Ensure selected asset is revealed in project browser when changing layout
  • Editor: Fix 'Timestamps and assets out of sync' error when renaming a folder outside of Unity and deleting an asset inside of it.
  • Editor: Fix asset store preview blinking in the project browser
  • Editor: Fix camera frustum gizmo not properly showing custom projection matrices.
  • Editor: Fix CapsuleCollider gizmo handles are offset by a 90 degree angle
  • Editor: Fix caret did not move in ObjectSelector when using left/right arrow keys (only when no items were selected)
  • Editor: Fix creating a script from the right click menu throws "Rename not started" error
  • Editor: Fix creating new assets after deletion of assets would throw error
  • Editor: Fix Cursor flickering in editor while play testing if cursor.visible = false
  • Editor: Fix Cursor.visible does not work until the game view is focused
  • Editor: Fix disabled scrollbar in lighting window lightmaps tab
  • Editor: Fix error when renaming items in project and hierarchy views
  • Editor: Fix Hierarchy type searching so 't:script' or 't:monobehaviour' shows all game objects with scripts attached
  • Editor: Fix icons in Project Browser 'jumping' when changing view
  • Editor: Fix IMGUI brightness on GameView when in Linear mode.
  • Editor: Fix MaterialEditor Shader Warning when importing a package
  • Editor: Fix memory thrashing when Dragging and Dropping between panels, when the dragged object had a CustomEditor with no Preview.
  • Editor: Fix multi-object selection of reflection probe cubemap to not incorrectly set same cubemaps
  • Editor: Fix non character keys being mixed up with character keys on shortcuts.
  • Editor: Fix not being able to focus tabs after changing "Output" on Audio Source
  • Editor: Fix Null reference exception on the Inspector
  • Editor: Fix occasional trash bypassing when deleting assets on Windows.
  • Editor: Fix popped out container window not able to move when two editor windows are stacked one above/next to the other.
  • Editor: Fix possible data loss on Windows when renaming folder with locked files
  • Editor: Fix rare case of invalid folder path shown in the Project Browser
  • Editor: Fix scene view window still being tinted in playmode when an overlay was active.
  • Editor: Fix scene's GI is not updated after building AssetBundle or opening the same scene.
  • Editor: Fixed bad scene view performance when lots of light gizmos are drawn (will backport to 5.0/5.1).
  • Editor: Fixed bug which caused the Move Tool, when used on an object with a negatively scaled parent, to snap to whole units.
  • Editor: Fixed crash when selecting '~' as a project directory.
  • Editor: Fixed Gradient not updating when an Undo is performed.
  • Editor: Fixed occasional exception thrown when creating an asset/folder under Assets folder in Project pane with One Column Layout.
  • Editor: Fixed Scene View audio play toggle not returning to previous state after exiting Play Mode.
  • Editor: Fixed Scene View camera moving slightly while holding down right mouse button.
  • Editor: In play mode, tick one more frame after the editor is not active, so that the game can get a chance to respond to being paused.
  • Editor: Make sure GUISkin.current is set to GameSkin before invoking any user script.
  • Editor: Scene view picking works when selection base object isn't under the mouse position
  • Editor: Search correct 32/64bit program files on windows for diff tools
  • Editor: Terrain editor hotkeys no longer conflict with text field input
  • GI: Ambient GI value not changing based on disabled realtime/baked GI.
  • GI: Fix crash following lighting builds in GetSystemTexture.
  • GI: Fixed bake getting stuck on terrains.
  • GI: Fixed crash in CreateSnapshotForReflectionProbe when trying to rebake reflection probes. Show message to user that she should bake a snapshot first.
  • GI: Fixed environment reflection cubemap getting unloaded after the scene was loaded using Application.LoadLevel for scenes that used the Auto lighting build mode.
  • GI: Fixed issue with baking getting stuck on the bake indirect stage.
  • GI: Fixed itermittent crash related to realtime lightprobes.
  • GI: Fixed lightmap shader variant stripping for realtime lightmaps. Now each lightmaps mode (non-directional, directional and directional specular) variant can be picked for baked and realtime GI separately. Please review your settings if you selected a specific lightmaps mode variant in the Graphics Settings to make that mode work for realtime lightmaps.
  • GI: Fixed radiosity core corruption error when baking lightmap.
  • GI: Fixed static lightmap baking on a rectangular terrain.
  • GI: Fixed UV packing for baked UVs not filling the 0-1 space (smaller or bigger). Fixes a bunch of issues where one object with stray UVs could overlap other objects and cause dark spots. Also makes the resolution assigned to each object work much more reliably if that object's unwrap is not filling the 0-1 space and also when its bounds are non-square. Please review the resolution on your instances for baked lightmaps.
  • GI: Lightmap snapshot gets cleared when clearing GI Cache.
  • Graphics: Added extra protection against depth buffer in editor windows being accidentally disabled
  • Graphics: Apply hard limit on font size of 500 in more places than just font importer.
  • Graphics: Corrected the viewport used in the editor for image effects when forward rendering + AA
  • Graphics: Fix CaptureScreenshot with letterboxed editor game view (5.2 regression).
  • Graphics: Fix for asset bundle content changes between subsequent generations due to uninitialised vertex buffer
  • Graphics: Fix for call to OpenGL ES API without current context when using the multi-threaded renderer
  • Graphics: Fixed a crash compressing an already compressed texture in script
  • Graphics: Fixed a shader compiler error on OpenGL ES platforms where dot() between a vec3 and a float would fail to add an upcast.
  • Graphics: Fixed an issue where setting RenderSettings.reflectionIntensity via script had no effect on the scene.
  • Graphics: Fixed assertion when LODGroup is scaled to zero.
  • Graphics: Fixed BGRA texture format on OpenGL ES 3.0
  • Graphics: Fixed bug in ES 3 shader code generator that caused clipping problems in UI shaders
  • Graphics: Fixed bug when loading single channel JPEGs using Texture2D.LoadImage.
  • Graphics: Fixed CaptureScreenshot on DX11 when using non-native fullscreen resolution.
  • Graphics: Fixed command buffer RenderTargetIdentifier with RenderTexture argument (will backport to 5.0/5.1).
  • Graphics: Fixed crash calling GetPixels with a 0x0 texture
  • Graphics: Fixed crash while using -force-gles on MacOSX
  • Graphics: Fixed editor rendering black views when running with OpenGL ES 2.0
  • Graphics: Fixed error messages with .triangles on empty meshes (coming to 5.1 too)
  • Graphics: Fixed Halo errors when they are on DontDestroyOnLoad objects
  • Graphics: Fixed Halo texture not being centered, causing half-texel clipping on top/right sides
  • Graphics: Fixed issue in Texture2D.LoadImage when loading indexed PNG images that contain an alpha channel.
  • Graphics: Fixed issue with MaterialPropertyBlock not working with Particles.
  • Graphics: Fixed material keywords and renderQueue not copied over by new Material(material) constructor and Material.CopyPropertiesFromMaterial.
  • Graphics: Fixed MSAA initialization on older devices which only support multisampled_render_to_texture
  • Graphics: Fixed rendering issues after native rendering plugin GL.IssuePluginEvent() calls on OpenGL ES platforms.
  • Graphics: Fixed spamming error message importing an EXR file as sprite
  • Graphics: Fixed swizzling of BGRA32 texture data on D3D11, Xbox360, OpenGL, OpenGL core and OpenGL ES
  • Graphics: When using COLORMASK and D3D9, the mask was not correctly set for MRT render targets
  • IL2CPP: Allow the AssemblyName::GetPublicKeyToken method to return an array of only eight bytes.
  • IL2CPP: Allow Type.GetType(string) to return a proper value on 32-bit ARMv7 builds.
  • Il2CPP: Avoid boxing of value types during null checks in generic code
  • IL2CPP: Correct a C++ compiler error in generated code: "No matching function for call to 'il2cpp_codegen_raise_exception'".
  • IL2CPP: Correct an intermittent hang which can occur in the garbage collector.
  • IL2CPP: Correct be problem with the generated C++ code which causes the C++ compiler error: "Member reference base type 'intptr_t' (aka 'long') is not a structure or union" when unsafe C# code is used to index into an array of pointers to structures.
  • IL2CPP: Fix alphanumerical string sorting in cases where unicode comparison table was required.
  • IL2CPP: Fix binary operations using mixed integer types.
  • IL2CPP: Fix bug in Boo script related to generic interface methods.
  • IL2CPP: Fix codegen issue when using a field type a struct that has no instance fields.
  • IL2CPP: Fix crash when using OnCollisionEnter with no parameters
  • IL2CPP: Fix crash when using OnCollisionEnter2D with no parameters
  • IL2CPP: Fix CultureInfo.GetCultures()
  • IL2CPP: Fix marshaling code for IntPtr parameters marked with [Out] attribute.
  • IL2CPP: Generate correct C++ code for the IL add opcode with pointers in unsafe C# code.
  • IL2CPP: Handle 'void' type parameter.
  • IL2CPP: Handle invalid IL generated by UnityScript compiler for delegates.
  • IL2CPP: If "Fast but no Exceptions" is selected, any managed exception which escapes out of managed code will cause the AppDomain.UnhandledException event to be executed and application will abort (this is the same behavior as the Mono scripting backend).
  • IL2CPP: Implement the previously unsupported AppDomain::InternalGetDefaultContext and AppDomain::InternalGetContext icalls.
  • IL2CPP: Prevent a C++ compiler error in generated code which happens when a pointer is assigned a value which is a uintptr_t in converted unsafe C# code.
  • IL2CPP: Prevent a crash in the NetworkManager initialization when the Stipping Level option is not set to Disabled.
  • IL2CPP: Prevent AES encryption types from being incorrectly stripped when they are used.
  • IL2CPP: Prevent an intermittent crash on ARM64 when an live object is incorrectly reclaimed by the garbage collector.
  • IL2CPP: Prevent the exception "ArgumentException: Value does not fall within the expected range." during a call to the JoinMulticastGroup method.
  • IL2CPP: Prevent the exception: "System.ArgumentException: enumType is not an Enum type." from occurring for a generic type used with an enum type argument.
  • IL2CPP: Prevent the following error from il2cpp.exe at conversion time: "Attempting to constrain a value of type 'X' to type 'Y'." for two different types X and Y.
  • IL2CPP: The Preserve attribute can now be used in the managed code for an assembly to preserve all of the code in an assembly.
  • IL2CPP: The preserve attribute can now be used with the assembly element in a link.xml file to preserve all of the code in an assembly.
  • IL2CPP: Throw exceptions when classes are stripped instead of crashing
  • Input: Fixed touch input hanging a Windows application if a second 'touch window' is created in a plugin
  • iOS/IL2CPP: Add support for PreserveAttribute to prevent classes, methods, fields and properties from being stripped in IL2CPP.
  • iOS/IL2CPP: Avoid adding includes and methods (for method declaration includes) for types generated to terminate generic type recursion.
  • iOS/IL2CPP: Avoid deadlock during UnloadUnusedAssets.
  • iOS/IL2CPP: Correct a error in generated code when a constrained generic parameter type is used in a nested lambda expression.
  • iOS/IL2CPP: Correct an exception during code conversion which has the error message "Invalid global variables count" when converting some UnityScript assemblies.
  • iOS/IL2CPP: Correct code generation for a generic type with another generic type as a constraint when the generic parameter for the constraint is a value type.
  • iOS/IL2CPP: Correct the implementation of the ldvirtftn opcode for types using a constrained generic generic parameter.
  • iOS/IL2CPP: Correctly invoke an action pointing to an extension method.
  • iOS/IL2CPP: Emit memory barriers to ensure the correct acquire and release semantics are enforced for loads and stores of volatile fields.
  • iOS/IL2CPP: Ensure that background threads which are not explicitly joined have their resources freed so that the runtime does not leak thread handles.
  • iOS/IL2CPP: Ensure that GetCurrentMethod returns the proper value, even when the generated native method is inlined.
  • iOS/IL2CPP: Fix a code generation issue when using static constructors in base generic classes.
  • iOS/IL2CPP: Fix a crash which occurred during a call to Socket.SetSocketOption with the AddMembership or DropMembership names.
  • iOS/IL2CPP: Fix a crash which occurs when Ldvirtftn opcode is used on a non-virtual method.
  • iOS/IL2CPP: Fix a rare case when bytecode stripper would incorrectly strip wrong overloaded generic virtual method.
  • iOS/IL2CPP: Fix IL2CPP generated marshaling code for marshaling IntPtr into any other primitive type.
  • iOS/IL2CPP: Fix managed stack traces.
  • iOS/IL2CPP: Fix marshaling arrays of structs marked with [Out] attribute.
  • iOS/IL2CPP: Fix WWWForm.data property getter being extremely slow on IL2CPP.
  • iOS/IL2CPP: Fixed a case where static constructor would not be called if an object is constructed within Unity internally.
  • iOS/IL2CPP: Fixed an issue which sometimes caused IL2CPP to not call static constructors when Unity created class instances from native code.
  • iOS/IL2CPP: Fixed ConstructorInfo.Invoke() returning null for Nullable types.
  • iOS/IL2CPP: Generate correct C++ code for a generic virtual method which returns an IEnumerator and has a generic constraint defined on the method it overrides.
  • iOS/IL2CPP: Implement embedded resources for IL2CPP.
  • iOS/IL2CPP: iOS/IL2CPP: Correct RPC implementation for the UnityEngine.Networking namespace.
  • iOS/IL2CPP: Prevent a C++ compiler error in generated code about an undeclared identifier with the test "Unused local just for stack balance".
  • iOS/IL2CPP: Prevent a crash when a thread with a name is finalized.
  • iOS/IL2CPP: Prevent a runtime exception with IL code in an enumerator's MoveNext method when the enumerator's return type is a constrained generic type.
  • iOS/IL2CPP: Prevent an exception during code generation when the default value of a field is not the same type as the field.
  • iOS/IL2CPP: Prevent IL2CPP from throwing an exception at conversion time for a generic type deriving from a generic interface.
  • iOS/IL2CPP: Prevent the player build process from using older generated C++ source files from a previous build.
  • iOS/IL2CPP: When compiling scripts for the player, appropriate UnityEngine.UI.dll will be referenced
  • iOS: add a limit for iOS acceleration event queue
  • iOS: Add support for Xcode 6.3.2
  • iOS: Add support for Xcode 7 beta
  • iOS: Added additional Japanese fallback font
  • iOS: Added iOS Thai font fallback for 8.2
  • iOS: Added support for Xcode 6.4.0 final release
  • iOS: Added Xcode 6.4 compatibility
  • iOS: Allow to append builds made with different scripting backend
  • iOS: Don't add header files to il2cpp Xcode project
  • iOS: Don't fail fatally when Unity Xcode plugin can't be installed
  • iOS: Don't include managed dll files in il2cpp build
  • iOS: Fixed a regression that caused very poor performance of trying to load non-existing system fonts
  • iOS: Fixed a regression which caused appending builds with native plugins to fail
  • iOS: Fixed a regression which disables appending builds in folders more than one level away from the project folder .
  • iOS: Fixed command line build crash caused by trailing slash
  • iOS: Fixed crash in WebCamTexture.GetPixel()
  • iOS: Fixed il2cpp append
  • iOS: Fixed stripping of GameCenter social platform
  • iOS: Fixed stuck "Launch screen type" setting
  • iOS: Fixed value of InputField.text when another field is being edited with keyboard
  • iOS: Made sure WWW.bytes gets populated with response even in case of non-2xx status
  • iOS: Worked around some plugins not supporting complex shell scripts within Xcode project
  • iSO/IL2CPP: Fix a deadlock that can occur during class initialization.
  • Linux: Fix applying vsync and antialiasing changes without changing quality level
  • Linux: Fix button down reports when querying any joystick and multiple joysticks are connected.
  • Linux: Fix key release regression.
  • Linux: Fix regression in non-ASCII input
  • Linux: Make window size locking more WM-agnostic
  • Mecanim: Cutting a clip in FBX importer messes up other clips.
  • Mecanim: Deprecated legacy culling modes BasedOnUserBounds and BasedOnClipBounds
  • Mecanim: Do not activate runtime State parameter on parameter rename.
  • Mecanim: Fixed "Cleaning up leaked objects" message after using the Avatar Configure Tool.
  • Mecanim: Fixed a bug where a state machine moved to another state machine would disappear.
  • Mecanim: Fixed a bug where it would not be possible to animate the second material on a meshrenderer.
  • Mecanim: Fixed a bug where the lock button on the Animator Window would reset after play mode.
  • Mecanim: Fixed a case where going to play mode would prevent undo operations from being pushed.
  • Mecanim: Fixed an editor performance issue with large blend trees.
  • Mecanim: Fixed an error where transitions would disappear if a controller was edited without saving immediately after upgrade from 4.x to 5.x.
  • Mecanim: Fixed an undo error in the blend tree inspector.
  • Mecanim: Fixed an undo related crash.
  • Mecanim: Fixed Animator tool showing internal AnimatorController
  • Mecanim: Fixed Animator.bodyPosition and Animator.bodyRotation documentation.
  • Mecanim: Fixed Animator.speed set in Start() not working.
  • Mecanim: Fixed asserts with empty controller.
  • Mecanim: Fixed Asset Store preview of Humanoid character.
  • Mecanim: Fixed Avatar Configure broken ResetPose when OptmizeGameObject is on
  • Mecanim: Fixed Blend tree max/min thresholds not being updated when changed through dragging on the graph in the inspector.
  • Mecanim: Fixed broken BlendTree slider with some BlendTree configuration.
  • Mecanim: Fixed broken blendtrees with identical negative blend values.
  • Mecanim: Fixed broken copy paste of sub-statemachines
  • Mecanim: Fixed changing controller files on disk not reloading blendtree editor correctly
  • Mecanim: Fixed continuity of FixedTime transitions
  • Mecanim: Fixed crash when building AnimatorController with empty layer.
  • Mecanim: Fixed crash when calling SampleAnimation in Standalone
  • Mecanim: Fixed crash when disabling GameObject in OnStateMachineEnter/Exit
  • Mecanim: Fixed crash when editing an Animation in the AnimationWindow with an AnimatorOverrodeController
  • Mecanim: Fixed crash when importing certain FBX file.
  • Mecanim: Fixed crash when loading scene in playmode with an asset bundle containning a controller.
  • Mecanim: Fixed crash when selecting a state with a null StateMachineBehaviour due to compilation errors.
  • Mecanim: Fixed display of transition pivot curves.
  • Mecanim: Fixed error message when changing clip selection in ModelImporter.
  • Mecanim: Fixed error message when deleting an Fbx that is used by an AnimatorController
  • Mecanim: Fixed false binding error on rig with Optimized Hierarchy On.
  • Mecanim: Fixed firing of multiple events at time 0
  • Mecanim: Fixed GetStateMachineTransitions leaking memory.
  • Mecanim: Fixed OnStateMachineEnter/Exit not being called on layers.
  • Mecanim: Fixed performance regression for AnimationUtility.SetEditorCurve()
  • Mecanim: Fixed reloading of BlendTree when AnimatorController file modified externally.
  • Mecanim: Fixed renaming of states after exiting play mode.
  • Mecanim: Fixed rotating view with mouse in the Avatar Configure Tool.
  • Mecanim: Fixed runtime optimize/deoptimize hierarchy of GameObject.
  • Mecanim: Fixed Scaled UI buttons drifting when Animator has "Apply Root Motion" on
  • Mecanim: Fixed selection of blend tree items when multiple instances of the same motion occur in the same blend tree.
  • Mecanim: Fixed stateMachineBehaviourEditor not handling correctly invalid case where script derive from monobehaviour
  • Mecanim: Fixed sub-statemachine naming scheme.
  • Mecanim: Fixed synced timing UI for additive layer.
  • Mecanim: Fixed synchronization issue when you have both Animator's parameter window open.
  • Mecanim: Fixed Transition interruption in destination State ExitTime.
  • Mecanim: Fixed transition list temporarily loses its values on Editor re-compile
  • Mecanim: Fixed Transtiion Previewer handle manipulation
  • Mecanim: Fixed undo of synced layers delete.
  • Mecanim: Prevented AnyState transitions to "Up" state machines from sub state machines because they were inconsistent.
  • Mecanim: Removed Abstract StateMachineBehaviours from the list offered to users.
  • Mecanim: Removed invalid multiple preview from the ModelImporter Animation sub-editor.
  • Memory: Fixed memory leak in Graphics.DrawMesh when running standalone player with -batchmode
  • Memory: Fixed memory leak in standalone player with empty scene
  • Memory: Fixed memory leak when running standalone player with -batchmode
  • Merge Tool: Fix empty base/right files when falling back and used from cmdline and premerge dests are not set
  • Merge Tool: Fix merge conflict when mine and theirs have both added a component of different type to the same GameObject
  • Merge Tool: Get rid of error about non existing merge tool path after falling back to 3rd party merge tool on OSX
  • Merge Tool: Handle invalid non-unique mapping keys that Unity generates
  • Metal: Fixed shader translation of matrix+scalar, matrix-scalar, matrix/scalar operations (coming to 5.1 too)
  • Metal: Fixed some issues with shader translation of matrices with different precision (coming to 5.1 too)
  • Mono: Double traverse object count to avoid stack overflow when freeing huge amounts of objects.
  • Mono: Fix issue with Socket.Select never returning sockets ready for read on OSX
  • Mono: Fix Unity crash when detecting recursive type definition.
  • Mono: Fixed issue with default property values and object initializers
  • Mono: Fixed monotonic timer overflow to allow usage of timing functions like those in System.Threading with extended uptime
  • MonoDevelop: Fixed Unity crash when inspecting enum value in MonoDevelop debugger.
  • MonoDevelop: Fixed Unity crash when using the debugger to inspect a property that only has a getter that returns a struct. E.g. Sprite.bounds.
  • Multiplayer: Fixed MatchMakingClient constructor generating an error when created outside the main thread
  • Multiplayer: Fixed NetworkServer.ReplacePlayerForConnection not setting up ownership of the new player object properly
  • Multiplayer: Fixed NetworkServer.Spawn failing silently when the server is not active.
  • Multiplayer: Fixed NetworkServer.Unspawn not allowing objects to re-spawned.
  • Multiplayer: Fixed NullReferenceException when a client disconnects after the player object was deleted
  • Networking: Fixed incorrect serialization of some 64 bit numbers
  • Networking: Fixed NetworkTransform cause corruption of SyncVars on other scripts
  • Networking: Fixed NetworkTransform not updating if only velocity has changed
  • Networking: Fixed UNetWeaver exception processing large project with Editor scripts
  • Networking: NetworkTransform not syncing character controller rotation when not moving.
  • OpenGL core: Fixed crash when using -force-glcore on MacOSX where it's not yet supported
  • OpenGL core: Fixed Radeon HD 2000 - 4000 support
  • OpenGL core: Fixed Sandy Bridge crash, unsupported due to drivers issues, Unity will fallback to Direct3D.
  • OpenGL ES: Fixed blit from backbuffer into RenderTexture
  • OpenGL ES: Fixed Fire HD development player crash
  • OpenGL: Always rely GL_EXT/IMG_multisampled_render_to_texture when available to save a lot of bandwidth when using MSAA.
  • OpenGL: Fixed BGRA texture format support
  • OpenGL: Fixed crash on Vivante GPU due to a driver bug with program binary
  • OpenGL: Resolved various invalid operation / enum errors due to platform compatibility issues.
  • OS X Standalone: Fixed fullscreen mode
  • OSX Editor: fix RunOpenPanel() with extension non-empty filter
  • Particles: Fixed Particle curve editor preview not refreshing on Undo
  • Particles: Fixed Shuriken particle system bugs (Limit Velocity Over Lifetime was FPS-dependent, and some spawn parameters weren't random enough).
  • Particles: Fixed various Shuriken particle system bugs (culling issues when particles are set from script; prewarming performance problems; StartDelay not working from script; various crashes etc.)
  • Particles: Shuriken sub-emitters sometimes didn't fire
  • Physics: Don't create PhysX shapes for disabled terrains
  • Physics: Ensure that both friction and bounce are updated when the PhysicsMaterial2D is set on a Collider2D from script.
  • Physics: Ensure that Rigidbody2D interpolation or extrapolation do not modify the Transform Z position.
  • Physics: Fix a crash in the HingeJoint when enabling a GameObject containing a HingeJoint where the Connected Body was disabled.
  • Physics: Fix an issue where OnTriggerStay would not be called on children in compound colliders.
  • Physics: Fix problems where QNaNs leaked out of the physics system when using infinites as limit parameters for the ConfigurableJoint.
  • Physics: Fix wheel collider applying the inertia tensor rotation the wrong way, cleaned up gizmo code
  • Physics: Fix WheelCollider not being able to ignore collisions with vehicle body colliders that were added to the already initialised vehicle
  • Physics: Fixed 'Physics2D.GetRayIntersectionXXX' methods being affected by 'Physics2D.raycastsStartInColliders'.
  • Physics: Fixed a child Rigidbody2D not correctly updating its position/orientation when it's using interpolation and the parent transform changes.
  • Physics: Fixed incorrect depth sorting for results of 'Physics2D.GetRayIntersectionXXX' methods.
  • Physics: Fixed various One-Way behaviour issues in PlatformEffector2D.
  • Physics: Make sure we update scene query flags for inserted wheels because otherwise we may end up colliding with the car's body
  • Physics: MotorSpeed on SliderJoint2D is now in meters/sec (linear motor) not degrees/sec (not angular motor).
  • Physics: Remove invalid tire contact shapes from the vehicles queries cache up on collider deactivation
  • Physics: Report scene hierarchy path of Collider when setting a transform that contains non-finite numbers.
  • Physics: Reset query filters when removing wheels, to stay on the safe side as PhysX can actually run queries of almost zero length for disabled wheels
  • Physics: Restore the Rigidbody2D linear-velocity after a Rigidbody2D.MovePosition has completed.
  • Physics: Rigidbody2D constraints are now based upon the center-of-mass and not the body position.
  • Physics: Stop crash if 2D effector is needed but there is none.
  • Physics: Stop NullReferenceException when editing PolygonCollider2D.
  • Physics: Update docs to mention the limitation on the maximum colliders per cloth instance
  • Plugins: Default Standalone settings for CPU specific plugins will be correctly set once again, additional this path variation is now possible as well, for ex., "Assets\MyPackage\Plugins\x86\Plugin.dll".
  • PreferenceWindow: If external MD or XamarinStudio is selected, make it configurable to have .unityproj projectfiles be generated.
  • PreferenceWindow: show "MonoDevelop Solution Properties" whenever an external MD or XamarinStudio is selected.
  • Project Import: Fixed Special folder "~" functionality
  • PS3/PS4: Fixed some separate alpha blending shader states not working properly.
  • Script Editors: Generate and open solution when External Script Editor is set to Xamarin Studio.
  • Scripting: Fix potential crashes during domain reloads when user code throws NullReferenceException in AppDomain.DomainUnload / AppDomain.ProcessExit events
  • Scripting: Fixed the issue that AssetBundleManifest.GetAssetBundleHash() returns wrong hash.
  • Serialization: Fix crash when selecting "Scripting Backend" option in Other Settings
  • Serialization: Fixed incorrect clamping of LayerMask when set through SerializedProperty.intValue
  • Serialization: Fixed not being able to serialize a field called "Base"
  • Serialization: References to "Resources/unity_builtin_extra" should get preloaded.
  • Shaders: Fixed some cases of objects with unsupported shaders not rendering at all (instead of rendering in pink).
  • Shaders: Fixed some loop constructs being translated wrongly for GLSL/Metal.
  • SpritePacker: Truecolor sprites are not packed into the same Atlas if other format settings are different
  • Standard Assets: Added user-exposed option to disable 'no fog on skybox pixels' behaviour in GlobalFog effect.
  • Substance: Clarified the documentation for .cacheSize.
  • Substance: Fix a rare race condition which would cause the Substance thread to process erroneous data, leading to a crash.
  • Substance: Fix console spam when a visibleIf expression uses an input that is not found in the graph.
  • Substance: Fix crash in iOS/il2cpp builds caused by uninitialized SubstanceSystem.
  • Substance: Fix crash in standalone builds when handling BakeAndDiscard materials.
  • Substance: Fix memory leak in the Editor.
  • Substance: Fix Resources.Load() and Resources.LoadAll() not waiting for ProceduralTexture generation completion before returning.
  • Substance: Fixed caching-related regression where the cache would neither be read at startup nor written afterwards.
  • Substance: Improved the handling of input groups in the inspector (a single group can no longer be split into several input groups).
  • Substance: It is no longer possible to change the size of a Substance asset that was published with a fixed size, a warning is displayed in the inspector instead.
  • Substance: Using _TexelSize in shaders now works correctly with ProceduralTextures.
  • Terrain: Fixed a rendering issue with Tree Creator trees in deferred paths.
  • Terrain: Fixed crash after baking navmesh if there are LOD trees painted.
  • Terrain: Fixed crash when reimporting a billboard asset.
  • Terrain: Fixed crash when reimporting the prefabs that are selected as tree prototypes on an active terrain.
  • Terrain: Fixed incorrect lighting effect on grass when rendered in deferred path.
  • Terrain: Fixed occasional editor error message when a terrain is selected.
  • UI: Allow UI elements to render in overlay mode even if they don't have a shader that requires lighting
  • UI: Characters from Dynamic Font disappear when Scene is saved
  • UI: Disallowed InputFields with ContentType Password from copying text to the clipboard
  • UI: Ensured that the parent canvas sorting layer/order is used unless override sorting is specified
  • UI: Fix issue with UI stencil breaking in editor due to materials that were deleted being passed through to the render pipeline.
  • UI: Fixed dropdown editor not working due to bad file name
  • UI: Fixed issue in UI components Slider, Outline, Shadow & Position as UV1 not updating when their values are animated.
  • UI: Fixed issue with text not showing properly after certain edit operations in InputField
  • UI: Force children canvas's to use the parent canvas's matrix such that distance sorting is not applied
  • UI: Only call 'PointerDrop' callback if we have begun a pointer drag
  • UI: Stop disabled graphics from blocking raycasts
  • UI: Stop OnValidate being called at inappropriate times for UI elements
  • UI: UnityEngine.UI is correctly referenced once again when building to player.
  • UI: Update the Canvas RectTransform after LateUpdate to catch any Canvas camera positioning changes
  • UI: When overriding sorting ensure to calculate the bounds using the generated mesh of the correct sub Canvas
  • Unity Connect: Fixed crash when using ~ in project path
  • Unity Connect: Rebind automatically after signing back in
  • UnityConnect: Emails in Home window should behave the same as the connect window
  • UnityConnect: Hub will load local version when starting a new project directly from editor
  • UnityConnect: Permission are not updated after Bind
  • UnityConnect: Remove excessive logging related to UnityConnect
  • Version Control: Allow adding a new file under the name of a deleted file even if the deletion hasn't been committet
  • Version Control: Correct overlays for assets where .meta files are out of sync with their assets
  • Version Control: Fix assets version control cache state not being updated after scene reload
  • Version Control: Fix spelling of 'check out' to be consistent
  • Version Control: Grey out outgoing changeset 'delete empty changeset' context menu item when changeset is not empty.
  • Version Control: Invalidate version control cache on refresh button click in versioning window
  • Version Control: Make some version control class constructors internal
  • WebGL: Correctly return errors on WWW downloads for invalid urls
  • WebGL: Don't rely on MSVCRT in build toolchain
  • WebGL: Fix iframe gaining focus when clicking on WebGL canvas
  • WebGL: Fix mouse button state after double clicks
  • WebGL: Fix standard shader usage in Safari
  • WebGL: Fixed DXT5 decompressor which resulted in slightly imperfect textures
  • WebGL: Make AudioClip.Create print an error when used with the stream option in WebGL
  • WebGL: Make AudioMixer work for controlling volume
  • WebGL: Make Directory.Create and Directory.GetCurrent work correctly
  • WebGL: Make state created in Application.ExternalEval persistent between calls, like in the web player
  • WebGL: Make sure WebGL builds will not require any calls to JavaScript "eval" to run, as that is not permitted in some environments
  • WebGL: Normalize scroll wheel inputs to give more consistent results
  • WebGL: Remove non-functional icon settings from WebGL build settings
  • WebGL: When Application.runInBackground is enabled, run the WebGL update loop at least once a second, even when the tab is not visible
  • Windows Phone 8.1: fix simulator build
  • Windows Phone 8.1: OnApplicationFocus and OnApplicationPause will be called now, same as on other mobile platforms.
  • Windows Phone 8/8.1: Texture anisotropic filtering should work as expected now.
  • Windows Phone 8: Fixed corrupted display resolution when screen is rotated in Landscape mode.
  • Windows Phone 8: Shader global params will be correctly reset when the application is resumed.
  • Windows Phone: do not show Portrait Upside Down option in player settings (both 8.0 & 8.1)
  • Windows Phone: fix SerializationWeaver failure when using enums from .NET framework
  • Windows Store Apps/Windows Phone: AvatarBuilder.BuildHumanAvatar should work correctly now.
  • Windows Store Apps/Windows Phone: fix build when native plugin uses collection interfaces with nested generic parameters
  • Windows Store Apps/Windows Phone: fix serialization with internal field from another assembly
  • Windows Store Apps: Application will correctly change its resolution when display resolution changes on DX12.
  • Windows Store Apps: Application will correctly change its resolution when you change display resolution.
  • Windows Store Apps: Application.isMobilePlatform will now return true
  • Windows Store Apps: Fix a memory leak which happened on quality settings change.
  • Windows Store Apps: Fix a rare crash at boot when reading AppxManifest.xml.
  • Windows Store Apps: fix build for editor using Universal SDK
  • Windows Store Apps: fix incorraectly reported PlayerPrefs corruption after upgrading to Unity 5.1
  • Windows Store Apps: Fixed framerate drop when "Low Latency Presentation API" is enabled.
  • Windows Store Apps: reduce extended splash screen blink
  • Windows Store Apps: set orientation from player settings on startup
  • Windows Store Apps: support jpeg files for visual assets
  • Windows Store Apps: Universal apps should build correctly when project name contains white spaces.
  • Windows Store/Phone: Fixed Input.gyro.useracceleration to not include gravity.
  • Windows: Both Editor and Windows Standalone will correctly report Windows 10 via SystemInfo class.
  • Windows: Fixed window size when switching back from fullscreen
  • WinRT: Fixed an issue where the editor would prevent building project for Windows 10 Universal Application if it contained any plugins targeting Windows 10 SDK
  • WinRT: Fixed Networking sometimes throwing NotImplementedException
  • Xbox One: Mono: Double traverse object count to avoid stack overflow when freeing huge amounts of objects.
  • XboxOne: Enabling Script Only Build option will only effect platforms that allow the option.
  • XboxOne: Fixed instances where Compute Shaders would not compile.
  • XboxOne: Fixed spelling errors in ESRB ratings strings in the Player Settings.
  • XboxOne: Fixed the "EditorOnlyPlayerSettings property not initialized" error.
  • XboxOne: Level and asset files are paired correctly in the auto-generated package manifest
Changeset:
89160207ce1a

We use cookies to ensure that we give you the best experience on our website. Visit our cookie policy page for more information.

Got it