• Games
  • Industry
  • Resources
  • Community
  • Learning
  • Support
Development
Unity Engine
Build 2D and 3D games for any platform
DownloadPlans and pricing
Monetization
In-App Purchase (IAP)
Discover and manage IAP across stores
Mediation
Maximize revenue and optimize monetization
Ad Quality
Protect your app’s user experience
Tapjoy
Build long-term user loyalty
All monetization products
User acquisition
User acquisition
Get discovered and acquire mobile users
Unity Vector AI
Connect players with the right games
Aura on-device advertising
Reach users on-device at peak engagement
All growth products
Use cases
3D collaboration
Build and review 3D projects in real time
Immersive training
Train in immersive environments
Customer experiences
Create interactive 3D experiences
All industry solutions
Industries
Manufacturing
Achieve operational excellence
Retail
Transform in-store experiences into online ones
Automotive
Elevate innovation and in-car experiences
All industries
Technical library
Documentation
Official user manuals and API references
Developer tools
Release versions and issue tracker
Roadmap
Review upcoming features
Glossary
Library of technical terms
Insights
Case studies
Real-world success stories
Best practice guides
Expert tips and tricks
All resources
What's new
Blog
Updates, information, and technical tips
News
News, stories, and press center
Community Hub
Discussions
Discuss, problem-solve, and connect
Events
Global and local events
Community stories
Made with Unity
Showcasing Unity creators
Livestreams
Join devs, creators, and insiders
Unity Awards
Celebrating Unity creators worldwide
For every level
Unity Learn
Master Unity skills for free
Professional training
Level up your team with Unity trainers
New to Unity
Getting started
Kickstart your learning
Unity Essential Pathways
New to Unity? Start your journey
How-to Guides
Actionable tips and best practices
Education
For students
Kickstart your career
For educators
Supercharge your teaching
Education Grant License
Bring Unity’s power to your institution
Certifications
Prove your Unity mastery
Support options
Get help
Helping you succeed with Unity
Success plans
Reach your goals faster with expert support
FAQ
Answers to common questions
Contact us
Connect with our team
Plans and pricing
Language
  • English
  • Deutsch
  • 日本語
  • Français
  • Português
  • 中文
  • Español
  • Русский
  • 한국어
Social
Currency
Purchase
  • Products
  • Unity Ads
  • Subscription
  • Unity Asset Store
  • Resellers
Education
  • Students
  • Educators
  • Institutions
  • Certification
  • Learn
  • Skills Development Program
Download
  • Unity Hub
  • Download Archive
  • Beta Program
Unity Labs
  • Labs
  • Publications
Resources
  • Learn platform
  • Community
  • Documentation
  • Unity QA
  • FAQ
  • Services Status
  • Case Studies
  • Made with Unity
Unity
  • Our Company
  • Newsletter
  • Blog
  • Events
  • Careers
  • Help
  • Press
  • Partners
  • Investors
  • Affiliates
  • Security
  • Social Impact
  • Inclusion & Diversity
  • Contact us
Copyright © 2025 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell or Share My Personal Information

"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.

Hero background image
Unity 2020.2

Programmer tools

Improve your scripting workflows with Unity 2020.2. Use our improved tools for programmers to iterate faster and optimize your projects for maximum performance. 
Get Unity 2020.2
2020.2 overview
Get Unity 2020.2
2020.2 overview

What’s new in 2020.2

Discover some of the major improvements and new features for programmers in Unity 2020.2. For full details, check out the release notes.

What’s new in 2020.2

  • Improve compilation times with deterministic compilation
  • C# 8 support
  • Root Namespace available in the Assembly Definition settings
  • Faster build compilation
  • Consistent Time.deltaTime
  • Performance improvements
  • Editor Coroutines and faster workflows with Configurable Enter Play Mode
  • Managed code stripping with Unity Linker
  • Profiler updates
  • Roslyn analyzer improvements
  • Unity Safe Mode
Improve compilation times with deterministic compilation

Improve compilation times with deterministic compilation

As projects grow in complexity, new code changes can take longer to compile and take a toll on your team’s productivity. Unity 2020.2 offers a “-deterministic” compilation option when compiling C# scripts. This option lets you avoid unnecessary recompiling of assembly definition (.asmdef) references if the public metadata for the assembly does not change when compiling scripts for the Editor. This is particularly useful for reducing iteration time when you’re making changes to assemblies that have many direct and/or indirect references.

Learn more

C# 8 support

Unity 2020.2 supports all the newest C# 8 features and enhancements, except for default interface methods. This includes nullable reference types, enabling the compiler to show a warning each time you attempt to assign null to a reference type variable. Switch expression with pattern matching offers you a more streamlined way to write conditional code.

For a complete overview of everything new in C# 8, check out the Microsoft documentation.

See Microsoft's C# 8 Guide

This content is hosted by a third party provider that does not allow video views without acceptance of Targeting Cookies. Please set your cookie preferences for Targeting Cookies to yes if you wish to view videos from these providers.

Root Namespace available in the Assembly Definition settings

Namespaces in C# provides an efficient way to organize your code and avoid class naming collisions with other packages and libraries. Root Namespace is now available as a new field in the asmdef inspector and is used to automatically add a namespace when creating a new script in Unity and in Visual Studio and Rider.

Remember to update the Visual Studio and Rider packages to the latest version if you plan to use this functionality.

Learn more
Comparison of Serial and Parallel IL2CPP conversion time of two projects before and after multithreaded conversion. The red line is an internal demo, and the orange one is a project from an external studio.

Faster build compilation

Unity 2020.2 comes with significant improvements to the build compilation time. If you make changes that don’t involve code, for example, materials, shaders or prefabs, the IL2CPP conversion from .NET assemblies to C++ will be now skipped entirely when building a player.

In Unity 2020.2 the IL2CPP conversion takes advantage of modern multicore processors by going from single to multithreaded, dramatically decreasing the overall IL2CPP player build times, as demonstrated in the above test project data.

Learn more

Consistent Time.deltaTime

Unity 2020.2 fixes the inconsistent Time.deltaTime values that lead to stuttering object movements during gameplay. The TimeManager interface has now been refactored in a way where frame time calculations are more stable, providing much smoother object movement when the game is running at a stable frame rate. Unity 2020.2 supports these time stability improvements on iOS, macOS, PS4, Switch, tvOS, UWP, Windows and Xbox One. Improvements on Android, Windows/Linux on Vulkan and XR will come later. Check out the blog post for details.

Learn more
The overall optimization was found to be between 12 and over 800 times faster when processing 100 to 5,000 importers (for overall improvement, see the graph on the right).

Performance improvements

Unity 2020.2 features several significant optimizations, including to Nested Prefabs, resulting in dramatically faster sorting and faster lookups. Searches in the Editor scripted importers registration function have tested to be up to 800 times faster. Finally, the Optimization Team also refactored Camera.main, reducing the time it takes to query it, by hundreds of milliseconds in some projects.

Learn more
Editor Coroutines and faster workflows with Configurable Enter Play Mode

Editor Coroutines and faster workflows with Configurable Enter Play Mode

No longer an experimental feature, Configurable Enter Play Mode enables you to disable either, or both, of the “Domain Reload” and “Scene Reload” actions to speed up entering Play Mode. With Editor Coroutines, now out of Preview, you can start the execution of iterator methods within the Editor, similar to how Coroutines inside MonoBehaviour scripts are handled during runtime.

Learn more

Managed code stripping with Unity Linker

Unity Linker performs static analysis to strip managed code. It also recognizes a number of attributes and allows you to annotate dependencies where it is unable to identify them. In Unity 2020.2 the tool received API updates to match Mono IL Linker. Starting with Unity 2020.1, Unity Linker can detect some simple reflection patterns, lessening the need to use link.xml files.

Learn more
Profiler updates

This content is hosted by a third party provider that does not allow video views without acceptance of Targeting Cookies. Please set your cookie preferences for Targeting Cookies to yes if you wish to view videos from these providers.

Profiler updates

You can now add charts in the Profiler Window to get more performance insights and context for either existing or user-generated Profiler statistics. At the same time, Flow Events can display serial task dependencies in the Profiler Timeline and help you identify which tasks in a sequence of operations your application is spending time on.

You can now visualize render and memory Profiler stats in Players. Expose existing Profiler stats using the runtime API, and read the values of performance statistics for the existing Profiler areas such as memory, rendering and others in Players. Use that data to display performance heads-up displays (HUDs) while running your project on the target device or build other performance tooling for your own needs.

Learn more

This content is hosted by a third party provider that does not allow video views without acceptance of Targeting Cookies. Please set your cookie preferences for Targeting Cookies to yes if you wish to view videos from these providers.

Roslyn analyzer improvements

The compilation pipeline now supports Roslyn analyzers. This enables you to run C# code analyzers asynchronously in the background inside the Unity Editor without interrupting your iteration workflow. You can also run them synchronously from the command line.

Roslyn analyzers and ruleset files in Unity projects are powerful tools to help inspect your code for style, quality, and other issues. You can use existing analyzer libraries to inspect your code and write your own analyzers to promote the best practices or conventions within your organization.

Learn more

This content is hosted by a third party provider that does not allow video views without acceptance of Targeting Cookies. Please set your cookie preferences for Targeting Cookies to yes if you wish to view videos from these providers.

Unity Safe Mode

Unity Safe Mode improves how Unity behaves when opening a project that has script compilation errors. If compilation errors are detected at Editor startup, you will now be prompted to enter Safe Mode. This presents you with an environment designed for resolving them, so that you can quickly return your project to a functional state, without waiting for unnecessary imports of your project’s assets. This feature will simplify and speed up the process of upgrading a project to a new Unity version, and it will help teams working on large projects by reducing the number of cases in which the library folder contains incorrect import artifacts.

Learn more
Download Unity 2020.2 now
Download Unity 2020.2 now

Get access to all of the above and much more today.

Download Unity 2020.2