Get insight into our future plans, and when you can expect new features and functionality in Unity to be released.
Please note that our primary goal is to provide you with stable and reliable releases. As such, any indications of target release dates and features listed are subject to change.RSS feed
- At Risk
- On Track
Released March 31, 2017
2D: Sorting Groups
Sorts a group of renderers (for instance, a character made up of a bunch of sprite renderers) as a whole without any interleaving of other renderers.
Tiles the sprite's texture using the 9-slice technique when the size of the sprite increased beyond the size of the texture.
Collision Geometry Visualization
Compute Shaders for Metal
GPU Instancing Improvements
- Procedural mode: supply instance data from a custom data source.
- DrawMeshInstancedIndirect: supply draw arguments from a GPU resource.
IL2CPP: Windows Runtime projections
Making IL2CPP understand Windows Runtime projections will enable C# scripts and plugins to consume Windows Runtime APIs directly on Windows Desktop, Windows Store and XBOX One platforms.
Improve Component Dragging Usability
Drag component headers to reorder, move, copy them around. Suggestion on feedback
iOS Native Crash Reporting
Collect, view consolidated crash reports for iOS builds. Forums - Unity Performance Reporting
iOS/tvOS: ReplayKit Live Broadcasting support
Provide a solution to how to combine baked lighting with realtime lighting including proper handling of baked and realtime shadows. We will provide several presets to cover a wide range of scenarios including fully realtime GI lighting, partially baked lighting, and fully baked lighting.
Metal support for Editor on macOS
NavMesh workflow and low level API
- High Level workflow based on new components:
- NavMesh Surface – describes a volume where the NavMesh will be built, and allows you to have multiple volumes, at any orientation.
- NavMesh Link – allows you to connect two NavMeshes with a wide link.
- NavMesh Modifier – allows fine grained control of area types per Game Object; replaces static flags.
- NavMesh Modifier Volume – allows to change the area type of the NavMesh which falls inside the volume.
Everything above is built on top of a simple low level API.
- Low level API:
- Allows you to pass in the geometry that will contribute to the NavMesh building.
- Method to quickly collect render or physics geometry for building NavMesh.
- NavMesh data can be built for different agent sizes.
- NavMesh data can be created, updated, added and removed at runtime.
- NavMesh data and can be instanced several times at different position/orientation.
- ...and more!
New network transport
The network transport implementation used by the NetworkTransport class has been rewritten to be more robust and performant.
Optional PhysX debug configuration
- Select debug configuration to get more internal information/warnings/errors/performance advice from the physics engine
Particle System Improvements
- Multi-Edit support.
- Custom Data Module, including HDR color support.
- More flexible Custom Vertex Streams UI.
- New Burst Emission UI, with support for repeating bursts.
- Shape Module upgraded to support non-randomized behaviors (eg. looping and uniform distribution).
- Particle 2D collision optimization including a 10x performance improvement detecting collisions and improved solving of overlaps.
Physics2D: Collision Detection improvements
- New CompositeCollider2D allows other colliders to be merged together producing a single collider that can either be an outline or a decomposed concave polygon.
- New Contacts API allows any contacts to be retrieved per Collider2D or Rigidbody2D. Also provides more information on contacts.
- New EdgeRadius property adds a radius around the edges for BoxCollider2D and EdgeCollider2D providing expandable edges with rounded corners.
Introduce Sampler and Recorder classes which give access to built-in profiler labels in development builds. This will allow users to create in-game HUD and display important performance metrics.
Progressive Lightmap Baking (Preview)
Use PowerVR ray tracing to provide progressively updated lightmap bakes. This aims to reduce baking times and improve iteration on lighting. Blog
Sprite Editor Update
Sprite Mesh Tessellation Quality Control
Fine grained control on the quality of the sprite mesh. Tune accuracy and various other tessellation parameters.
Standalone: Use SDL2 on Linux Player
Implementation of window management and input handling with SDL2 instead of raw X11 for desktop Linux. Should be transparent to users, but enables future Wayland and/or Mir support.
Video: New API
Deprecating MovieTexture and providing a new video playback engine API targeting hardware decoding on platforms
WebGL Embedding API
WebGL support for WebAssembly (Preview)
Use the upcoming WebAssembly format to distribute our WebGL build output for smaller builds which can load faster and using less memory.
Released Nov 30, 2016
C# Compiler Upgrade
Upgrade Mono C# compiler against our current .Net 2.0 and 2.0 Subset profiles. Note that this is an upgrade of the C# compiler only, not the full Mono runtime
Easy setup of local cache server
- Cache server can now be setup by just enabling it in the editor settings.
- Cache server can vastly improve your import and platform switching times. See http://docs.unity3d.com/Manual/CacheServer.html for how to already use it today.
Exposed Meshes and ComputeBuffers to native code plugins
Full Binary Shader Serialization
- faster load times - no parsing at runtime
- smaller memory footprint
HDR texture improvements
BC6H compressed and FP16 uncompressed texture import formats on PC/consoles
Reflection probes use BC6H/FP16 too on PC/consoles now
Improve shadows precision for large worlds
Use reverse-float depth buffer for improved depth buffer precision on modern GPUs. Particularly improves directional light shadowing for large view distances.
Line/Trail Renderer Upgrade
- Use a curve to define the widths
- Use a gradient to define the colors
- Fully exposed to script
- Sharp corners handled more gracefully
- Add extra vertices to create rounded corners and ends
Linear space lighting support on mobile platforms
- OpenGL ES 3.0+ and Vulkan on Android
- Metal on iOS
Low-level graphics functionality improvements
- Per-render target blend modes in shaders
- Manual render texture mipmap generation
- Increased amount of shader keywords (from 128 to 256)
- DX9 half-pixel rasterization issues are gone; now completely matches DX11/GL
OpenGL2 legacy support removal on MacOSX and Linux
Particle System Upgrade
- Send customisable vertex data to your shaders
- Also allows for Normal Mapping and Standard Shader support
- Rotate particles based on initial direction of travel
- Align particles to the eye position, instead of simply facing the camera plane
- Fully expose main particle settings to script
- Add lights to your particles with the new Lights Module
- Add noise to particle movement with the new Noise Module
- Add ribbonized trails to your particles with the new Trails Module
- New Color Gradient options
- Unlimited Sub-Emitters of each type
- Use Time-based and Distance-based emission at the same time
- Simulate particles relative to any Transform component, not just World or Local
- Improved curve editor with animation window improvements and wrap mode support
PBR viewer/validation tool (Preview)
- LookDev editor window for viewing & validating meshes and materials in various HDRI lighting environments.
Physics2D Collision Detection
- New CapsuleCollider2D is a collider primitive that can be elongated in either the vertical or horizontal directions.
- New BodyType property allows the explicit selection of the body type of Static, Kinematic or Dynamic showing only the appropriate properties for each body type in the inspector.
- New UseFullKinematicCollisions property allows Kinematic body types to collide with other Kinematic and Static bodies complete with collision/trigger callbacks.
- New Simulated property allows the Rigidbody2D and any attached colliders and joints to be temporarily ignored by the simulated to be changed in the inspector.
- New Material property allows a physics material to be assigned to the Rigidbody2D overriding the global physics material but applying to all attached colliders that do not have their own physics material specified.
Splash screen improvements
- Customise unity splash screen with logo, background and animation.
- Preview splash screen in editor.
- Uniform across all platforms
Texture Importer Improvements
- Decoupled texture format, compression and shape (2D/Cube)
- Removal of the "Advanced" texture type in favor of an "Advanced" options foldout for all texture types
- Reworked various parameters presentation in the GUI (sRGB, Alpha Usage...)
- BC4/BC5 compressed format support
Update PhysX to 3.3.3
- Update to the latest patch release PhysX 3.3.3
- Better performance on Android expected
Use the upcoming WebGL 2.0 API to take rendering in the browser up a level (and on par with OpenGL ES 3.0).
WebGL Brotli compression support
- Optional Brotli compression for WebGL. Improves build size over default GZIP.
- Hint: Needs extra setup on your server, only works with HTTPS, supported natively by Firefox and Chrome (JS decompression fallback provided by us).
WebGL: Use IL2CPP for final linking
- Caches and reuses linked artifacts. Reduces build time when there are only asset and no code changes.
Released July 28, 2016
Basic GPU Instancing Support
- Use GPU instancing to draw a large amount of identical geometries with very few draw calls.
- Works with BillboardRenderers and MeshRenderers that use the same material and the same mesh.
- Enhanced Standard shader & SpeedTree shader with instancing support.
- Only needs a few changes to your own shader to enable it for instancing.
- Set per-instance shader properties from script via MaterialPropertyBlock.
- Supported platforms:
- Windows: DX11 / DX12 with SM 4.0 and up.
- OS X and mobile platforms support *might* come in 5.4.
- Console platforms support will come later.
Depth of Field Image Effect
Improved depth of field, more performant, better quality. Supports multiple aperture shapes, and bokeh textures.
Editor: Retina/HDPI Support
- Crisp fonts and 3D views on retina displays on OS X.
- Most existing editor code will just support retina without changes.
Update: Zoomable game view complete, but late found issue on dependent OpenGL legacy backend prevents making 5.3.
Editor: Zoomable Game View
- Better ability to view resolutions larger than what the Game View can fit.
- Ability to scroll with scroll bars or zoom out until it fits in the view.
Update: Late found issue on dependent OpenGL legacy backend prevents making 5.3.
Global Illumination: Light probe grids for large objects (Light Probe Proxy Volumes)
The Light Probe Proxy Volume component will offer the possibility to get better ambient lighting information for large dynamic objects that cannot use baked lightmaps. A good fit for this feature would be large particle systems or skinned meshes.
IL2CPP for Android
Official support, removing experimental label.
Motion Vector Rendering
- Cameras can render motion vectors for dynamic objects, including skinned meshes
- Useful for motion blur, temporal anti-aliasing and other post-processing effects
- Built-in motion vector shaders handle majority of cases; possible to write custom motion vector passes for shaders too
Multi-Threaded Rendering Phase 2
- Parallel command list generation
Native SteamVR support
Integrated VR support for the HTC Vive.
OpenGL2 legacy support removal on Windows
- Performance optimization
- Non uniform scaling
- Change the width and height of individual particles independently
- Scriptable trigger system
- Detect when particles are inside or outside a collection of physics colliders, and use a script callback to react to the trigger
- Expose all properties to animation
Platform: Substance for Windows Store Apps
Services: In-App Purchases (IAP) Advanced Integration
- FakeBillingService to allow testing in sandbox environment
- Support for client-side receipt verification and backend support for unified receipts
- Export facilities for bulk upload to the iOS App Store and Google Play
- Advanced revenue reporting and spender analytics through the Unity Analytics dashboard
Single Pass VR
Improves performance across PC and PS4 integrated VR platforms by drawing to both eyes at the same time.
SSRR (Screen Space Raytraced Reflections)
- Screen space raytraced reflections (SSRR) image effect is in development, that would provide more accurate reflections where possible, and fallback to reflection probes where screenspace information is missing.
Update: SSRR was split off from 5.2 work. This should just be an asset with the Standard Asset package, so it may still function with 5.2.
Update 2: Feedback is showing that it needs further work, delaying official release while considering a separate experimental release.
Update 3: Available here and on the asset store (when 5.3 is released)
Sunsetting iOS 6.x support
Sunsetting WebPlayer for all OSes
Texture Array support
Expose ability to use DX10/GL3/Metal 2D texture arrays in shaders, with a scripting API to manipulate them.
Tonemapping and Color Grading
Improved color grading with support for LUT, exposure, gamma, and other filmic settings in one post process effect.
WebGL Improvements (5.4)
- Option for fast build iteration times for development builds
Released Dec 8, 2015
Additive animation workflow improvements
Provide workflow where users specify a reference frame for additive animation. We also allow authoring of additive animation clips.
Async Texture Upload
A new feature that enables asynchronous loading of Texture Data from disk and enables time-sliced upload to GPU on the Render-thread. This reduces wait for texture GPU uploads in the main thread.
Basic Multi-scene Editing
Allows you to open and edit multiple scenes in the editor. Ideal for creating large world.
A new 2D physics effector that provides 2D buoyancy and fluid-flow forces.
Deploy: LZ4 data compression
Introduces realtime LZ4 decompression for AssetBundles.
Euler animation curve import
Support for direct import and evaluation of Euler rotation curves in the engine. This is useful for some animation - like Camera cuts - where quaternion baking can't reproduce the exact behaviour of Euler curves.
Frame Debugger Improvements
- Remote frame debugger: run it on the remote device (e.g. Android).
- Displays shader properties used by the draw calls.
Support for migrating the "host" of a network game to be one of the non-host clients when the host is disconnected or crashes. This should allow the game to continue with only a slight interruption for the other players.
This will work with the network HLAPI for LAN games.
Allows to map the pose of a Humanoid Avatar into another Avatar.
IL2CPP for Windows Store Apps
UnityEngine.JsonUtility is a runtime API for serializing and deserializing objects to JSON format.
Upgrading MonoDevelop to version 5.9
Multi-threaded Rendering Phase 1
Move off main thread:
- Flares, Halos, Lines, Trails
OpenGL 4.x support
- OpenGL 4.5 support in Windows & Linux Standalone and Editor
- OpenGL 4.1 support in Mac Standalone and Editor
- OpenGL ES 3.1 AEP support on Windows for emulation
- Threaded OpenGL rendering on Windows
Particles: System Upgrade
- Custom pivot points
- Render in world, view or local space
- 3D rotation
- System scaling
- Skinned mesh emitter shape source
- New 3D collision parameters
- 2D collision support
- All module properties can now be set from script, including curves and gradients.
- Emission, Shape, Velocity over Lifetime, Force over Lifetime, Color over Lifetime, Color by Speed, Size over Lifetime, Size by Speed, Rotation over Lifetime, Rotation by Speed, External Forces, Collision, Sub Emitters and Texture Sheet Animation.
- Inherit Velocity module: new options for inheriting emitter velocity, including curve support
Placeholder Asset Creation Tool
Easily create primitives like diamonds, n-sided polygons, for 2D game prototyping.
Platform: Apple TV
Render to multiple displays on PC
Services: In-App Purchases (IAP) Basic Integration
- Support for transaction APIs to implement In-App Purchases in your application across the most popular App Stores
- Supported platforms include: iOS App Store, Mac App Store, Google Play, and Universal Windows Apps
- Support for consumable, non-consumable, and subscription items
- Aggregate, cross-platform revenue reporting and spender analytics through the Unity Analytics dashboard
- Shader data size / load time / memory improvements for large shaders
SpeedTree: Billboard Improvements
- Can Cast and receive real-time shadows
- Performance improvements via batching
Test: Editor Test Runner
WebGL Improvements (5.3)
- Soft Shadow support - Better quality for Standard shaders
- Automatic decompression of downloads if the server does not handle compression
Released Oct 12, 2017
- New TileMapCollider2D produces colliders per-tile for the 2D Tilemap.
Android Native Crash Reporting
- A new AssetBundle API which allows the reading of data from the AssetBundle to be handled by the supplied C# Stream object.
- Allows custom implementations for loading Asset Bundle data, instead of e.g. loading data using the Unity engine internal file APIs.
AsyncOperation completion events
An event name completed has been added to AsyncOperation and allows the registration of a handler with the signature void OnComplete(AsyncOperation op).
Deterministic Importers: Embedded Materials on import
Create materials inside the import prefab instead of in an external 'Materials' folder.
Show statistics and how much CPU time is consumed by the Realtime Global Illumination subsystem.
GoogleVR Video Async Reprojection
Async Reprojection Video allows an app to feed video frames directly into the Google VR Async Reprojection system. These frames are composited directly into the scene without going through the main Unity render loop. This provides a fast path to direct rendering of video regardless of the current frame rate Unity is rendering at. When using Async Video Reprojection texture filtering is skipped providing for a much higher quality output. There is an option to allow for the use of protected memory for users that need to render DRM protected content.
Enable 16 bit floating point format for emission for both realtime and baked GI.
HDR color picker limit increased from 99 to 64k.
Lightmap background (push-pull dilation)
- Fill the empty space in the (directional) lightmap.
- The push-pull dilation will take place in compositing jobs for both Enlighten and Progressive lightmapper.
Linear Rendering with WebGL 2.0
macOS player Retina support
NavMesh Builder Debug Visualization
Visualization of NavMesh in realtime for debugging.
Automatically destroy or disable Particle Systems when they stop playing
Particles: Burst Emission Curve
Use a curve to control the burst emission rate over time
Particles: Editable Custom Data Module Labels
Enter contextual labels for custom data, so you can easily remember what you are using it for in your shaders
Particles: Inherit Lifetime for Sub-Emitter particles
A new inheritance option for Sub-Emitters, to allow a consistent overall duration for an effect, incuding its Sub-Emitters
Particles: Linear Drag
Add Linear Drag to your particles to customize the amount of resistance applied to their velocities based on their size and speed
Platform: Vuforia Support
Integrated support for the development of Vuforia-powered apps in the Unity editor.
Platform: Windows Mixed Reality
Support the creation of apps for the Windows Mixed Reality platform:
Progressive Lightmapper: Cast/receive shadows
Stingray Shader Support
Support standard PBS shaders from Maya and 3D Studio Max.
Timeline visualization of audio clips
Windows Player Launcher
Move majority of Windows Standalone player into a separate signed DLL ("UnityPlayer.dll"), leaving the executable to be a thin wrapper that just calls into it.
Released Jul 11, 2017
Easily mask multiple sprite objects to create various game play visibility effects.
2D Physics - Simulation
Ability to manually simulate physics using "Physics2D.autoSimulation=true/false" and "Physics2D.Simulate(time)"
- Create an atlas asset within the editor
- Query the list of sprites in Atlas
- Runtime swap atlases and automatically rebind with loaded sprite renderers
Ambisonic audio sources
Add support for ambisonic audio clips and ambisonic decoder plugins.
Animation Performance Recording (Experimental)
Simple way to record animations in-game and play it back without having to redo the simulation
Asset Import: FBX improvements
- Support FBX SDK 2016.1.2
- Support for FBX lights and camera
Collaborate: Support Rollback
Support rolling back projects to a specific version
Keyframing Workflow Improvements
Ability to preview an animation without going in record mode
Native Plugin Extension API improvement
Exposed more callbacks to allow plugins to inject their own shader variants.
Particles: Alignment Improvements
- Support Render Alignment for mesh particles
- Align Particles to their velocity direction
Particles: Noise Module Improvements
- Apply noise to positions, rotations and sizes in customisable amounts
- Send noise data to shaders via new Vertex Streams
Particles: Physics / Collision Improvements
- New option in the collision module allows users to apply forces back onto the colliders their particles collide with.
- Fixes made to solve overlap issues in 3D collision. This means Enable Interior Collisions option is obsolete as it is no longer needed (it had been added as a workaround to solve other issues).
Particles: Shape Module Improvements
- New Donut emission shape
- New Thickness params for customisable edge emission
- Add custom transforms to your emitter shapes
- Randomize particle positions
Particles: Sprite Texture Sheet Mode
Use Sprites in the Texture Sheet Animation Module. Allows use of the sprite packing tools for atlasing/batching.
Post Processing V2 (Preview)
- Volume blending
- Support for custom effects
- External LUT authoring
- Effect improvements
- Workflow improvements
- Mobile and XR optimisations
Progress can be followed on the projects public [Github](https://github.com/Unity-Technologies/PostProcessing/tree/v2)
Scripting Runtime Upgrade (Preview)
Upgrade Mono and IL2CPP .NET runtimes to support the latest .NET functionality and APIs. This includes access to C# 6 and the .NET 4.6.x class library profile.
Improvements to UI profiling