### Known Issues

*   IAP crashes on Android and Windows Store. Fixes expected for beta 3.
*   MSE: Renaming a scene in the ProjectView does not update the Hierarchy View and maybe break your scene
*   MSE: Deleting a scene in the ProjectView does not update the Hierarchy View and trying to save the scene again throws exceptions, data will be lost
*   MSE: Íf the scene was unloaded but still part of the hierarchy trying to load it will throw exceptions
*   MSE: Unloading a dirty scene does not ask for confirmation and data is lost
*   MSE: When moving a GameObject from one scene to the root of another the destination scene is not marked dirty
*   MSE: Under some circumstances not all scenes are saved when closing the editor. Make sure to do CTRL-S before closing the editor.
*   MSE: Multi-scene baking for NavMesh and Lightmaps are still under development and will not be supported in this build
*   MSE: Handling game managers for multiple scenes are under development, so playing multiple scenes in the Editor will throw errors in console related to duplicate game managers.

### Feature

*   Graphics: RenderDoc graphics debugger integrated with Unity Editor
*   JsonUtility:
    *   API is now marked threadsafe, and can be called from background threads
    *   FromJson/FromJsonOverwrite now accept a TextAsset as input
*   Unity IAP. Accessible via the cloud services window ![In App Purchase Service](https://unity.com/sites/default/files/5.3.0-relnotes-iap-services.png)
*   Windows Store: Added support for IL2CPP scripting backend

### Improvement

*   Asset Loading: Serialisation errors that produce "serialisation layout mismatch" errors will now attempt to include the name of the root type being serialised when the error was encountered.
*   Editor: Expanding/collapsing TreeViews are now animated in the Editor
*   Graphics: More detailed breakdown of forward rendering pipeline in Profiler.
*   Input: Added Input.backButtonLeavesApp, usable on Windows Store Apps/Windows Phone 8.1 and Android, see docs for more info
*   MonoDevelop: Added missing documentation tool-tips for methods with optional/default arguments. Removed mark-up from documentation tool-tips.
*   OpenGL: Fixed threaded rendering on Windows. It was previously disabled as a workaround.
*   Scripting: Added Matrix4x4.determinant property.
*   WebGL: Compress player's data using LZ4

### Fixes

*   \[Editor\] Fix item names with shortcut chars (&%^#\_) display wrong in menus
*   \[Editor\] Fix Shift-Delete in rename box delete asset in scene.
*   \[Editor\] Fixed a case of new lines in labels when the display name comes from an array of strings.
*   \[Editor\] Use the correct image for Dark skin's horizontal scrollbar left button
*   \[IMGUI\] Fix visually broken scrollbars in GUI.BeginScrollView() when the view rect is smaller than the position rect and scrollbars are forced enabled.
*   \[IMGUI\] Move the gamma assert to the Repaint phase.
*   \[IMGUI\] Take font size in account even for null font when estimating content text size
*   Fixed issue where objects lit by light probes appear brighter than static objects with same material in gamma mode. See upgrade guide for details.
*   Frame Debugger: Fixed shader blend/depth/raster state settings sometimes not displayed correctly.
*   Mecanim: Fixed Animator.GetParameter throwing exceptions
*   Mecanim: Fixed AvatarTool's unfolding of Avatar body part when selecting from UI
*   Mecanim: Fixed bad 1st frame when enabling Animator
*   Mecanim: Fixed crash when calling Update() from OnStateEnter
*   Mecanim: Fixed crash when modidying in Playmode an AnimatorController used in Playable
*   Mecanim: Fixed deletion of body part using delete/backspace in the AvatarTool
*   Mecanim: Fixed issues with Animator view synchronization:
*   Mecanim: Fixed parameters not being evaluated when AnimatorController used in Playable
*   MonoDevelop: Fixed Mono.Debugger.Soft.ObjectCollectedException thrown when setting breakpoint
*   OSX: Fixed huge memory leaks when using OpenGL core in the editor
*   OSX: Fixed Input.GetKey and Input.inputString not working
*   Particle system 3D rotation fix, when checking and unchecking option
*   Particle system crash fixes
*   Particle system custom pivot point fixes
*   Particle system LateUpdate fix
*   Particle system scaling fixes
*   Scripting: 'Editor' folders inside 'Plugins', 'Standard Assets' and 'Pro Standard Assets' no longer need to be at the root of those directories.
*   Scripting: Fixed crash in some scenarios when project has missing assembly references
*   Scripting: LayerMask.GetMask() no longer ignores the Default layer.
*   Shaders: Upgraded obsolete 'alpha:blend' to 'alpha:fade' in builtin shaders
*   WebGL: Fix an issue which could cause various stripping-related crashes as a consequence
*   WebGL: Fix doppler effect being used on audio sources with spatial blend set to 2D
*   WebGL: Fix unnecessary warnings about rendering to mipmaps
*   Windows Store Apps: make Input.gyro available if either OrientationSensor or Gyrometer is available
*   Windows Store: building project with IL2CPP scripting backend no longer fails.

The following are changes and fixes to 5.3 features and regressions...
----------------------------------------------------------------------

### Improvement

*   Editor: Sticky scene header for multi scene Hierarchy (makes it clear which scene GameObjects belong to which when the normal header has scrolled out of view)

### Fixes

*   Editor: Multi scene editing: Support dragging GameObjects upon a scene header in the Hierarchy Window
*   Frame Debugger: Correctly switch between local and remote frame debugger.
*   Frame Debugger: Improved display & UI of shader properties.
*   IL2CPP: Allow default parameter values for nullable types to be converted to C++ correctly.
*   IL2CPP: Correct a crash in the il2cpp::icalls::mscorlib::System::Reflection::MonoMethod::get\_base\_definition method.
*   IL2CPP: Correct method collection in editor to preserve defining class rather than invoked class in some cases.
*   IL2CPP: Correct the generated C++ code when MonoPInvokeCallback is used to specify a type which has marshaling directives. The marshaling directives from that type will be used, and a compile error in the generated C++ code will no longer occur.
*   IL2CPP: Generate correct C++ code when an extension method as a constrained generic type which is another generic type defined in a different assembly.
*   IL2CPP: Prevent an ArgumentOutOfRangeException exception from occurring in Socket.Select when using the NetMQ library
*   iOS/IL2CPP: Prevent a crash that occurs when using Unity Ads and GameCenter together.
*   JsonUtility: JsonUtility no longer supports non-user-defined UnityEngine.Object types. Use UnityEditor.EditorJsonUtility for them now.
*   JsonUtility: JsonUtility.FromJson() no longer supports creating ScriptableObject instances. Only plain .NET classes and structs are supported now.
*   WebGL: Fix "Could not produce class with ID XY" errors in console.