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
Audio: Added support for ambisonic audio clips and ambisonic decoder plugins.
Audio: Timeline Editor Audio Track support. Audio clips are now enabled in Timeline, using a scheduling API.
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.
Editor: Experimental feature : retained-mode UI system for the Editor (UI Elements)
GI: Added support for baked LODs in Progressive Lightmapper
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.
iOS: Enable deferred shading rendering path for Metal and OpenGL ES 3.0 for A8 and later iOS devices.
Particles: Added support for using Sprites in the Particle System, via the Texture Sheet Animation Module
Particles: Apply Noise Module data to particles sizes and rotations, and also send the noise data to your shaders via new Custom Vertex Streams.
Particles: New Donut emission shape.
Playables: Playable Assets added to Playable API.
Playables: Playable Director added to play Playable Assets
Playables: Timeline Editor and Runtime API. A tool for sequencing animation, scripts and audio.
Scripting: Experimental support for new scripting runtime. This includes Mono 4.8 and IL2CPP with support for C# 6 and .NET 4.6
Shaders: Added support for "inline" sampler states.
HLSL SamplerState objects that aren't taking sampling state from any texture (like what "sampler"+TextureName samplers do), but where sampling state is instead derived from the name.
For example, "MyLinearClampSampler" sets up bilinear filtering and clamp wrap mode; while "point_repeat_sampler" sets up point filtering and repeat wrap mode.
This allows e.g. doing both PCF depth comparison and reading raw depth value from a shadow map in a single shader.
Note that generally only modern graphics APIs support separate textures & samplers. You might therefore want to specify #pragma target 3.5 or similar in your shaders for this.
Implemented on DX11, DX12, PS4, XB1, Metal (Vulkan not yet).
Windows: Multi-display support for UWP.