Notas da Edição

Known Issues

  • Android apps built on OpenGLES 3.0 don’t work on Acer Iconia Tab 8.
  • Maximizing editor Game View can lead to wrong rendering (skybox drawn over everything else).
  • Player Settings inspector logs errors about scripting backend not being initialized.
  • Latest emscripten has a dependency on Microsoft C++ Redistributable 2013. We will look to fix this, but if a WebGL build is needed, this must be installed.
  • Profiling WebGL works with Firefox, but not Chrome
  • Return license does not work
  • Bogus warnings about certain lights and deferred lighting requiring Unity Pro
  • VR: Geometry dropout on certain hardware configurations (fixed in beta 4)
  • VR: Judder on OSX
  • VR: OSX Standalone 32-bit does not work, use 64-bit.
  • VR: Health and Safety warning flickers. Either physically tap the HMD after 5 seconds to dismiss, or permanently disable the warning at your own risk.

Features

  • Editor: New HDR Color Picker
    • Improves the Standard shader workflow for changing the emission color property.
    • The emission color can now be animated from the animation window.
    • Using scripting API to change emission will now be reflected in the shader gui.
    • Color Presets now also support HDR colors. Saving a HDR color will overlay a lowercase 'h' on the preset swatch.
    • Color property fields can now be customized with the ColorUsageAttribute (show/hide alpha value, is HDR)
  • Editor: Home Window Login integration. You can now login or work offline using the home window or command-line arguments.
  • Editor: Home Window License integration. You can now validate your serial and activate your copy of Unity using the new 5.1 json licensing API through the home window.
  • Graphics: Crunch texture compression format on platforms which support DXT. This is a lossy compression that is both small on disk/download and compressed (DXT1/DXT5) for the GPU.
  • Graphics: Experimental support for OpenGL 4.5 and ES 3.1 on Windows. Use -force-glcore, -force-gles(20|30|31|31aep) arguments to enable. This enables testing OpenGL ES 3.1 features on desktop. Note: no GL4 support on Mac yet.
  • Graphics: OpenGL ES 3.1 support on Android
    • New graphics levels (OpenGL ES 3.1, OpenGL ES 3.1 + AEP)
    • Compute shaders
    • Geometry shaders
    • Tessellation shaders
    • Advanced blend modes
  • Networking: New multiplayer networking feature introduced, see the manual and UnityEngine.Networking namespace in the script reference for details. This includes low level API (transport layer) and a higher level API with many features to help implement multiplayer functionality in games. Cloud based relay service can be used to get past NAT restrictions, and a simple matchmaking service can be used for game/host discovery. To configure the services go to https://unet.cloud.unity3d.com. This replaces the current RakNet based multiplayer feature.
  • Runtime: Added assertion library under UnityEngine.Assertions namespace
  • Shaders: OpenGL ES 3.0+ will use a new shader compiler backend. Based on HLSL + github.com/James-Jones/HLSLCrossCompiler + glsl-optimizer. This enables compute shaders on ES3.1 and other modern features. Existing Cg/HLSL compute, geometry and tessellation shaders can be used via automatic translation as well as with direct GLSL snippets. Note: Memory layout rule differences between DX and GL must be taken into account on the buffer data uploads.
  • Unity Analytics: New, built-in Analytics functionality introduced (currently in “Preview”), including higher-level, flexible APIs to track almost every kind of action in your game. We eliminated the need to download and import additional plug-ins to start using Analytics. To get started, simply visit http://analytics.unity3d.com to generate the unique ProjectId that you’ll use to associate your project with your Analytics dashboard, as well as access the relevant documentation and integration instructions. Note: 4.x-5.0 Editor users can still use Analytics by integrating the downloadable SDK package. For 5.1 users, adding the plug-in should not result in errors, nor will it result in duplicate data, but we still advise that you remove the old plug-in assets.
  • SDK integration in Preview mode, get started by visiting our dashboard at blah to get your unique Project ID and integration step-by-step guide. No more need to download and import any SDK packages.
  • VR: Added integrated support for Oculus Rift in Editor and Standalone Players. Once Virtual Reality is enabled in Player Settings, pressing play in the editor will show your game view on the rift. It is recommended to "Maximize on Play" the game view in order to achieve smooth rendering. Be sure to remove any previous Oculus plugins from your project.

Changes

  • Animation Window: Dope sheet editor uses Command instead of Control for toggle-selecting on Mac OS
  • Animation Window: Double-clicking a key in the curve editor now selects the whole curve. Double-clicking part of the curve still creates a new key at this position
  • Editor: Incremental naming of instantiated GameObjects to use format: MyName, MyName (1), MyName (2)
  • Editor: Rename and introduce a some GizmoType enum values to be more explicit about how they work with selection hierarchy. See the docs.
  • Editor: Unmaximize maximized GameView on start up if maximize on play is enabled
  • Graphics: Deprecated player settings useDirect3D11, targetGlesGraphics, targetIOSGraphics properties. Use SetGraphicsAPIs and friends.
  • Graphics: Make Material(string) constructor script API obsolete with a warning.
  • Graphics: LOD fade mode is now assigned to the whole LODGroup as None, Cross-fade or SpeedTree.
  • iOS: By default iOS builds now only support Metal & OpenGL ES 2.0. If you need OpenGL ES 3.0, you can specify that under player settings.
  • Terrain: TerrainData.alphamapTextures is now exposed to script.
  • Version Control: Allow edit of imported/native asset with respect to meta/asset file being checked out
  • WebGL: memory size is now written to the generated html to make it easier to change it without rebuilding the player
  • WebGL: Player Settings UI is now consistent with other platforms
  • WebGL: Static batching is now disabled by default to improve build sizes
  • WebGL: switch audio format used to AAC
  • Mecanim: Added warning message for transitions without any condition. Those transitions are ignored.
  • Xbox One: Unity now builds with the March 2015 XDK. You must install the March 2015 XDK on your PC and use the same or later recovery on your console.
  • GI: Change the "continuous baking" label to something shorter and better. Is now "Auto" with a tooltip added for an extra bonus.
  • GI: When hard shadows are selected baking will use a directional spread of 0 and a point radius of 0. Also, the UI for spread/point are disabled when shadows are not set to soft.
  • GI: Auto baking is now disabled by default in 2D projects.

Improvements

  • Android: New Sensor/rotation code that tries to figure out 'reversed rotation devices'
  • Android: Improved soft input dialog
  • Android: Apply DeviceDefault theme if available, respect user's theme
  • Animation Window: Copy-pasting keyframes in animation window curve view and between clips.
  • Animation Window: Curve editor supports range selection with shift-click
  • Animation Window: Curve editor supports toggle selection with command-click (control-click on Windows)
  • Animation Window: Direct editing of key values in curve editors. Use Enter/Return or context menu to start editing selected keys, Tab to switch between fields, Enter/Return to commit, and Escape to cancel editing
  • Animation Window: Dope sheet editor supports Control-click as well as right-click on Mac OS
  • Animation Window: Dragging a curve no longer loses the current selection
  • Animation Window: Keyframe selection is synced between dopesheet and curve view.
  • Animation Window: Lock button that locks the selection to currently selected clip and Animator.
  • Animation Window: Slightly increased the clickable radius for keyframes in the curve editor
  • Curve Editor: Wrap mode enum popup modified to appear as a little gear, which fits nicely in the margin without being cropped.
  • Documentation: Show "construct type" for class/struct/interface
  • Editor: Adding an icon to an EditorWindow title is now exposed by using the GUIContent 'titleContent' property (the old string 'title' is now obsolete)
  • Editor: Create sprite animation clip from project window context menu.
  • Editor: Improved grid in Scene View. Eliminates the popping and inconsistent draw distance of the old grid, and also draws grid lines smaller than one unit (10th of a unit, 100th of a unit and so on) when sufficiently zoomed in. New grid shading makes it possible to have grid lines more dense in close parts of the grid without the parts further away being too dense.
  • Editor: Introduced CreateAssetMenu attribute. Apply it to ScriptableObject-derived types to cause them to show up automatically in the Assets/Create menu.
  • Editor: Introduced HelpURL attribute, for setting custom documentation URL for user-authored classes.
  • Editor: Simple expression evaluator for all number fields. Supports + - / * % ( ) operators. This means that all number fields can be used as a calculator.
  • FrameDebugger: Shader blend, depth and raster states will be shown for draw calls.
  • GI: Final gather was moved into a separate stage. This allows the indirect baking stage to apply visibility aware upsampling to the indirect lightmap before final gather is applied for better quality.
  • GI: Reduce the amount of GI related information that is written to the log file
  • Graphics: Added a way to specify graphics APIs explicitly in player settings (defaults to "automatic" for each platform). For example, you could specify you only want to support Metal+ES2 in iOS builds, or only DX11 (without DX9 fallback) on Windows builds etc. This replaces the "Use DX11" and "Target iOS/GLES Graphics" settings.
  • Graphics: Performance improvements on DX11 when many non-batchable objects are in view.
  • Graphics: Add CommandBuffer.DrawProcedural and DrawProceduralIndirect.
  • Importer: Added warning foldout to keep trace of all import warning in the ModelImporter animation tab.
  • Math: Rect(Vector2, Vector2) constructor overload added
  • Mecanim: You can now control your AnimatorState.speed/mirror/cycleOffset at runtime with controller's parameter
  • Mecanim: Added AnimatorController.GetBehaviours() API function to simplify how user can query their behaviour on the asset
  • Mecanim: Transition duration can now be specified in absolute time
  • Mecanim: Do not allow scene objects in AnimatorController's Motion ObjectField
  • Mecanim: Added options "Add Motion", "Add Blend Tree" and "Delete" to contextual menu for blend tree
  • Mecanim: Allow animator window to be locked
  • Mecanim: Exposed ApplyBuiltinRootMotion to script
  • Mecanim: Added dragging controls on the time bar and on the background of the blending in the transition inspector
  • Mecanim: Transition can now be copy pasted
  • Mecanim: Deleting a layer that has other layers synchronized on itself will also delete all the dependent layers (with a prompt)
  • Miscellaneous: Resolution.ToString() implemented
  • MonoDevelop: Including MonoDoc XML files for showing C# Intellisense tooltips in MonoDevelop
  • Physics: Add motion constraints to Rigidbody2D
  • Physics: Optimized performance of ‘OnTriggerStay’ messaging.
  • Profiler: Change ms markers in timeline view to use same label style which makes it also properly visible in both skins.
  • Profiler: Don't show FPS for every ms marker along the x axis in the timeline view - only for the last one.
  • SpeedTree: A new importer setting "Animate Cross-fading" is added to SpeedTree assets. With this option on (by default), the dithering LOD transition between mesh/billboard and billboard/culled will be animated by time. This should make the trees look better in most of the scenarios.
  • SpeedTree: Now wind animation will not be interrupted if the tree gets out side of the view.
  • SpeedTree: Tree casts shadow when in cross-fading to billboard
  • Serialization: Extended SerializedFile size limit to 4GB
  • Texture2D: Add Texture2D.GetRawTextureData() API
  • Profiler: Fix unaligned labels for ms counts in current frame.
  • Version Control: CheckoutIsValid now accept a CheckoutMode
  • Version Control: Collapse assets and their .meta files in versioning window when they have the same state
  • VR Optimization: Render shadows only once and share between eyes
  • WebGL: Made "Explicitly Thrown Exceptions Only" mode much faster and be the default setting
  • WebGL: Support Input.touches and Input.acceleration
  • Windows Store Apps: Copy pasting will also work outside the application.
  • Windows Store Apps: Exposed Rendering path in Player Settings
  • Windows Store Apps: Refactored App.xaml.cs and MainPage.xaml.cs, it's easier now to add additional XAML pages to the project
  • Xbox One: Added support for XMA audio format

Fixes

  • 2D: Double Clicking on a Sprite will not ignore External Tools prefs now.
  • 2D: Fixed Corrupted Sprites in Sprite Packer for iOS and Android
  • 2D: Fixed error appeared if Sprite was sliced only for 1 slice
  • 2D: Losing focus in Sprite Editor will now always show Apply/Revert popup.
  • 2D: Scene View picking always picks the visually top-most for different SortingLayers and z-depths
  • 2D: Sprites now generate Preview Images in the Inspector when using object field
  • 2D: Added Vector2.down and Vector2.left properties
  • 2D: Always default to use "Rect" tool if project started as a 2D project.
  • 2D: Avoid editing/deleting a polygon collider point while panning the scene view.
  • 2D: Fix some edge cases that will result in odd shape during sprite editor's automatic slicing.
  • 2D: Material field from SpriteRenderer no longer behaves as array type.
  • 2D: Fix occasion crashes while building on 'Repacking sprite aliases'
  • 2D: Sprite Atlas will no longer produces errors at low resolutions
  • Android: Fix for spaces being replaced with underscores in app titles
  • Android: Input - Fix axis stuck on Android TV after hiding keyboard
  • Android: Buildpipe - detect plugin errors when package names differ only by cases
  • Animation Window: Fixed an issue where keys on some curves were harder to click than others
  • Animation Window: Fixed an issue where pushing Cancel when saving a new curve would throw an exception
  • Asset Store: Fix download progress for packages larger than 2GB
  • Core: Fixed some memory leaks in the Editor and Players.
  • Editor: Calling Undo.RecordObject on editor objects no longer dirties the scene.
  • Editor: Clear old main menus on OSX
  • Editor: Do not change selection when duplicating while dragging
  • Editor: Fix crash when two inspector windows are open
  • Editor: Fix cubemap preview icons showing as white textures in Project Browser and Object Picker.
  • Editor: Fix default cursor appearing during editor startup on OSX
  • Editor: Fix Float Fields not accepting Infinity correctly
  • Editor: Fix undo of reset position/rotation/scale
  • Editor: Scene View will no longer have tint applied when entering play mode.
  • Editor: Update menu items when assemblies are loaded in the editor
  • Editor: Update ShaderGUI for MaterialEditor when shader changes
  • Editor: Use IntField instead of FloatField for Sprite Editor
  • Editor: Plugin inspector - set ARMv6 Android plugins incompatible to avoid collisions
  • Editor: Make Android and iOS splash screen separate settings (no longer shared)
  • Editor: Fix DecoratorDrawers being shown twice for properties with custom PropertyDrawers that call into the default PropertyField implementation.
  • Editor: Fixed crash when attempting to add the same component twice to a GameObject in the Editor
  • Graphics: Fixed double-fog in deferred shading + forward-only opaque objects + GlobalFog effect (coming to 5.0 patches too)
  • Graphics: Improved rough front-to-back sorting for opaque objects, for better GPU Z culling efficiency (coming to 5.0 patches too)
  • Graphics: Fixed crash in Instantiate(Mesh) when static batching is used for the Mesh
  • IMGUI: Fixed NullReferenceException when calling GUI.BeginScrollView with 7 arguments
  • iOS/IL2CPP: Fixed a crash with StrangeIOC
  • iOS/IL2CPP: Fix a number of problems related to WebRequest and asynchronous I/O:
    • Fix socket I/O requests getting stuck in ThreadPool on POSIX/iOS.
    • Fix race condition in Monitor code that lead to 5 second stalls in Monitor.Exit().
    • Fix ThreadPool not re-using idle worker threads (lead to potentially very high memory consumption and bad performance).
    • Fix ThreadPool upper thread count limits being very low; now roughly the same as on Mono.
    • Fix ThreadPool.SetMinThreads() and SetMaxThreads() having no effect.
  • iOS/IL2CPP: Support Type.MakeGenericType for runtime creation of generic types where the generic arguments are reference types.
  • iOS/ILCPP: Do not emit metadata for generic types at compile time. This significantly decreases the size of the final binary in most cases.
  • iOS/IL2CPP: Type.GetType throws an ArgumentException now when the provided type name was wrong.
  • iOS/IL2CPP: Correct the behavior of CultureInfo.CreateSpecificCulture.
  • iOS/IL2CPP: Fix an issue with open delegates that return void.
  • iOS/IL2CPP: Fixed issues with exception thrown from DateTime constructor, DateTime ToUniversalTime, DateTime ToLocalTime, DateTime IsDaylightSavingTime.
  • iOS/IL2CPP: Fix crashes in socket code due to sockets being destroyed too early and prevent Thread.IsAlive from returning true after thread has terminated.
  • iOS/IL2CPP: Add a null terminator to string arrays when they are marshaled.
  • iOS/IL2CPP: Cast non-pointer references types to System.Object for comparison in conditional statements.
  • iOS/IL2CPP: Additional code size improvements from generic sharing:
  • Share enums and their base types as generic parameters
    • Allow partial sharing (e.g. Dictionary is shared with Dictionary)
    • Allow sharing when the type parameter constraint is an interface
  • iOS/IL2CPP: Use the Size field of the StructLayout attribute to pad marshaled types if necessary. This allows Marshal.SizeOf to return the correct value for these types.
  • iOS/IL2CPP: Allow thread-local static fields to work correctly in generic classes. Specifically, this corrects the Parse SDK crash in 4.6.4p1.
  • iOS/IL2CPP: Fix an infinite recursion when constructing generic type.
  • iOS/IL2CPP: Do not write extern declarations inside p/invoke wrappers for methods that return a class or delegate.
  • iOS/IL2CPP: Use the proper type for the result of the IL sub opcode.
  • iOS/IL2CPP: Correct an InvalidCastException that can occur when setting an array value.
  • iOS/IL2CPP: Fixed crash in some cases when accessing an enum inside a generic class.
  • iOS/IL2CPP: Fixed support for type/method names using non ASCII characters.
  • iOS/IL2CPP: Fixed occasional code generation issues when multiple local enum variables are used in conditional expressions.
  • iOS/IL2CPP: Match the Mono behavior which allows inflated generic delegate types like System.Action to be marshaled as normal delegates.
  • iOS/IL2CPP: Fixed File::Replace when destinationBackupFileName is null.
  • iOS/IL2CPP: Fix issue with managed exceptions not being thrown by a method called by Method.Invoke in some cases.
  • iOS/IL2CPP: Make Activator.CreateInstance work for arrays.
  • iOS/IL2CPP: Fix Interlocked.Exchange and Interlocked.CompareExchange for interfaces.
  • iOS/IL2CPP: Fix multidimensional array interfaces.
  • iOS/IL2CPP: Fixed support for enums nested in generic types.
  • iOS: Fixed Xcode project supported platforms and SDKs settings
  • iOS: Fixed duplicate property value removal in certain Xcode projects
  • Mecanim: Fixed animator controller window title
  • Mecanim: Fixed crash when a StateMachineBehaviour disables his own animator component
  • Mecanim: Fixed transitions disappearing when importing a project from 4.x
  • Mecanim: Fixed animation events not fired for non looping clip with length of 0
  • Mecanim: Fixed direct blendtree editor slow down when there is too much motion
  • Mecanim: Fixed copy paste of Animator State with StateMachineBehaviour , StateMachineBehaviour instances were not cloned correctly
  • Mecanim: Fixes crash when disabling animator in OnAnimatorMove
  • Mecanim: Fixed Livelink of AnyStateTransitions
  • Mecanim: Fixed a bug where callbacks called indirectly from ApplyOnAnimatorIK would reset the animator memory and cause a crash
  • OSX: background image used for mac installer packages has been increased in size
  • ReflectionProbes: Buttons "Bake All Reflection Probes" in Lighting window and Reflection Probes inspector should behave correctly now.
  • Profiler: Fix lockup in editor, if left in background with the profiler open
  • Scripting: Fix plugin verification crash on reload/shutdown
  • Scripting: Fix potential crashes on Webplayer
  • Shaders: Don’t crash in shader warmup on "-nographics" device.
  • Terrain: Fixed an issue where painting terrain features while holding down the right mouse button could lock the view tool.
  • Terrain: Terrain brush no longer intercepts mouse events if the mouse cursor doesn't intersect with any terrain.
  • Version control: Fix 'show in explorer' context menu
  • WebGL: Correctly show warning that building for WebGL is not supported in 32-bit editors
  • WebGL: Fix asm.js validation errors
  • WebGL: Fix AudioListener.volume
  • WebGL: Fix banding issues in Standard Shader
  • WebGL: Fix build process running out of memory when compiling very large functions
  • WebGL: Fix Marshal.StringToHGlobalUni
  • WebGL: Fix Unity logo in default template
  • WebGL: Fix "Unknown Error" being displayed in Firefox at startup
  • WebGL: Handle gravity in particle systems better when physics module is stripped
  • WebGL: Make Profiler work on Windows
  • WebGL: Make WebGL correctly detect the Command key on OS X
  • WebGL: Memory sizes are now clamped to valid values
  • WebGL: Will now show rendering path UI in WebGL Player settings
  • WebGL: WWW.progress now correctly reports values between 0 and 1
  • WebGL: Fix looping of audio
  • WebGL: Fix artifacts in imported AudioClips
  • WebGL: OnApplicationQuit now correctly gets called
  • WebGL: WWW class will correctly report errors
  • WebGL: Fix AudioSource.mute
  • WebGL: Fix audio channels being flipped left and right
  • WebGL: Fix some keys being correctly detected in Chrome
  • WebGL:/iOS: Fix crash in UnusedBytecodeStripper on BoxCollider2D/CircleCollider2D center member access
  • Windows Store Apps: Added missing targets 'metroplayer', 'wsaplayer' when used with -buildTarget argument.
  • Windows Store Apps: extended splash screen should not be related to composition scale
  • Windows Store Apps: fix build failure when project path contains word "Assets"
  • Windows Store Apps: Fix building and running from directory with Unicode characters in ti.
  • Windows Store Apps: Fix reported log type for exceptions
  • Windows Store Apps: Plugin folders (for ex., *.bundle) will be ignored and won't cause an error, even if the plugin is selected as compatible with Windows Store Apps.
  • Windows Store Apps: Touch positions will be correctly reported when SwapChainPanel occupies only part of the screen.
  • Windows Store Apps: use XAML Frame and navigation
  • Windows Store Apps/Windows Phone: fix AssemblyConverter failing for structs in other assemblies
  • Windows Store Apps: Fixed deadlock when resizing window.

Changeset: