Unity 2017.1

Additional downloads

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.

Versionshinweise

2017.1.0f3 Release Notes (Full, diff from f2 at end)

Known Issues

Audio: On Windows, AudioSource attached to VideoPlayer produces choppy sound when game iterations are overrunning. Will be fixed in future Unity release. (895458)

GI: Lit clustering debug visualization does not show (to be fixed in patch) (911953)

xR: Rendering problems on Pixel Daydream when using 4x or 8x MSAA with single-pass stereo. This is due to driver issues, so the problem will be addressed via a driver update, independently of Unity releases.

Features

2D: Added Sprite Physics Shape to Sprite Editor, to allow users to set a custom default shape for a Sprite for generating collider shapes with a PolygonCollider2D.

2D: Introduced 2D Sprite Atlas, a new asset that will supplant the Sprite Packer. With it comes new and improved workflows that gives the developer more control on how to pack sprites and use them at runtime.

2D: Sprite Mask. Mask Sprites in world space using the new SpriteMask component.

Animation: Manual Keyframing Workflow. Separate Recording and Preview modes in the Animation Window. Contextual menus added to all animatable properties in the inspector.

Animation: New GameObjectRecorder in UnityEditor.Experimental.Animations

Build Pipeline: The Asset Bundle Browser comes out of beta with Unity 2017.1. This tool enables the user to view and edit the configuration of Asset Bundles for their Unity project. It is intended to replace the current workflow of selecting assets and setting their Asset Bundle manually in the inspector.

Collab: In-Progress. In-Progress allows developers using Unity Collaborate to see who else on their team has made local changes to a Scene or Prefab before those changes have been published.

Editor: Added new ArcHandle class in UnityEditor.IMGUI.Controls to interactively edit arcs in the Scene View.

GI: Support for double sided materials in Progressive Lightmapper. Added a new material setting that causes lighting to interact with backfaces. When enabled, both sides of the geometry get accounted for when calculating Global Illumination. Backfaces do not count as invalid when seen from other objects. Backface rendering is not controlled by this setting nor will backfaces be represented in the lightmaps. Backfaces bounce light using the same emission and albedo as frontfaces.

Graphics: Added Custom Render Texture asset. A Custom Render Texture is a new type of Render Texture that can be easily updated with a shader. It provides a user interface and a scripting framework.

Graphics: Added LineUtility class and 'LineRenderer.Simplify' function. Optimize your lines and curves by using the LineUtility to create a simplified version with a similar shape.

Graphics: Added partial update/readback of compute buffers

Graphics: The latest version of the Post-processing stack is available in beta. This new version offers improved effects and a complete framework for custom effects. It also comes with a volume-based blending feature, so you can define areas in the scene and set up specific looks when the player enters them. Unity will automatically blend between volumes to allow for smooth look transitions. Final release is expected this summer.

Graphics: Updated Splash screen logo and style

IMGUI: Added SearchField, a new IMGUI Control. It comes with Normal and Toolbar UI styles but can also be customized.

Input: Added new Player Settings property 'Input Manager' for enabling backend of new input system preview feature. The front-end is supplied separately and is not included with the release.

Build Pipeline: Unified assembly stripping code used for IL2CPP and Mono builds - which should result in more consistent behaviour between IL2CPP and Mono and in smaller build sizes for platforms supporting assembly stripping on Mono.

Graphics: Optimized conversions between float32 and float16 image formats on Editor for a x2 to x4 performance improvement.

Graphics: Texture wrapping modes can be set separately on each U,V,W axis.

Graphics: The default names for Graphics Quality Levels have been changed to be a little clearer, and more in line with what is common across other games. This will only affect newly created projects; existing projects will have the same Quality Level names as before (though, as always, you can edit the names via Edit -> Project Settings -> Quality).

Graphics: Unity can now accept and use a pointer to an externally created cubemap

IL2CPP: Improved IL2CPP code conversion time on OSX. Conversion times may improve by as much as 2x.

iOS: Added support for Watch apps and Watch app extensions in the Xcode extension API.

UI: Added support for selecting multiple files in the "Assets/Import New Asset..." dialog, on all platforms

Universal Windows Platform: Unity player binaries are now signed.

VR: Updated to Oculus version 1.14

Web: (Also mentioned under API Changes) UnityWebRequest now has built-in support for downloading MovieTexture on platforms that do support it. A new helper class WebRequestMultimedia has been introduced for simple download of MovieTexture or AudioClip. WebRequest.GetAudioClip() has been deprecated in favor of WebRequestMultimedia.GetAudioClip().

Web: It is now allowed to override User-Agent header in UnityWebRequest

GI: Added new API for setting Light falloff per Light. Added API for setting all Lights to use physically correct inverse squared falloff or the Unity legacy falloff model. Only used for Enlighten lightmaps so far, realtime and progressive will be supported later.

Graphics: Added RenderTextureDescriptor struct that allows you to copy and create RenderTextures by passing a single value.

iOS: Added API to change iOS splashscreens.

iOS: iOSStatusBarStyle.BlackOpaque and iOSStatusBarStyle.BlackTranslucent are obsolete use iOSStatusBarStyle.LightContent instead (894136)

Light modes: Added QualitySettings.shadowmaskMode

Physics: Added 'Joint2D.attachedRigidbody' property to retrieve the Rigidbody2D attached to the Joint2D.

Physics: Exposed Joint.massScale & Joint.connectedMassScale. This allows adjusting masses and inertia tensors of the connected bodies as perceived by the solver. It's mostly useful for ragdolls that have high forces applied to their limbs and thus experiencing unpleasant stretchiness. This should also help avoiding setting the same mass for all the body parts of a ragdoll, as recommended before. See more in the API docs.

Playables: - Changed C# Playable classes to structures: new and better approach for the API, it uses less memory and is in line with the future job system.

Remove properties in favor of getters and setters: since we're using class extensions that can't have properties, we decided to only use methods to have a consistent API (i.e. not properties there and methods here just because reasons).

Rename ScriptPlayableData to PlayableBehaviour: the PlayableBehaviour is the user side of the ScriptPlayable, it is where the user puts its logic.

Scripting: Made GameObject.CalculateBounds() internal after it was accidentally made public in the 2017.1 beta cycle. This API is in the wrong place and will be moved/removed entirely in a future release

Scripting: Rename to Debug.logger to Debug.unityLogger (852000)

UI: Change isPaused to isFocused to better represent what it is. Only Effects 2017.1 betas

Web: (Also mentioned under Changes/Improvements) UnityWebRequest now has built-in support for downloading MovieTexture on platforms that do support it. A new helper class WebRequestMultimedia has been introduced for simple download of MovieTexture or AudioClip. WebRequest.GetAudioClip() has been deprecated in favor of WebRequestMultimedia.GetAudioClip().

Web: A new UnityWebRequest.timeout property that gives the user some coarse-grain control over the time a webrequest can take before unity attempts to cancel it.

Web: Added timeout property to UnityWebRequest. (823903)

Web: Moved UnityWebRequest.GetTexture() to UnityWebRequestTexture.GetTexture().

Fixes

2D: A quad mesh will be generated when generating Sprite from a blank texture. (890845)

Build Pipeline: Fixed asset bundle statistics that are printed to the editor log when building bundles (890644)

Build Pipeline: Fixed issue where the selected build target wasn't being changed on projects created from command line. This affected changes made to player settings via scripts in these projects. (901407)

DX12: Behaviour of the VFACE semantic now consistent on DX12 with the editor and other platforms (895474)

Editor: Added graceful handling if the Unity shader compiler socket times out whilst compiling shaders. The Unity shader compiler process is terminated and a new Unity shader compiler process is spawned. (900500)

Graphics: Clarify when shadow cascade parameters are set in regard to command buffer (818448)

Graphics: ComputeScreenSpaceShadowMap after first initialization of s_CollectMaterial never returns NULL, which may create inconsistent behavior after startup. Now returns NULL if screenspace shadows are disabled. (767050)

Scripting: Fix issue where OnDisable would not get called when entering play mode for ScriptableObjects that were created in edit mode and
do not have a script file with the same filename as the ScriptableObject class name. (883373)

Scripting: Fixed case of ScriptExecutionOrder not being applied when entering play mode. (830711)