What are you looking for?
Hero background image
Programming in Unity
Unity tools help programmers of all experience levels deliver engaging and high-performing interactive experiences to over 20 platforms.
10% of all programmers worldwide use Unity
More than 50% of games were made with Unity
Unity developer is the seventh fastest-growing job title
Why Unity
Person holding a phone with Among Us home screen
Deploy high-performing C# to 20+ platforms

Unity uses implementations of the .NET runtime, making C# the most popular game development language. The engine compiles your C# code for each target device, so you can deploy to desktop, mobile, consoles, AR, and VR platforms.

Woman using computer to code
Iterate faster with the IDE of your choice

Leverage the productivity boosts of today’s integrated development environments (IDE) such as Visual Studio and Rider. Write and debug code to power your project or even the Unity Editor itself, perform quality and performance analytics, and more.

Unity editor with fantasy character
Enable your team to achieve more in the Editor

Empower designers and artists to be more creative, right in Unity. Offload repetitive tasks such as tweaking values or integrating assets, and extend the Editor to better suit your team’s needs.

Deliver quality code to your players
Deliver quality code to your players

Find issues and optimize your code with Unity’s profiling and testing tools. Monitor automated crash and exception capture from every platform with Backtrace for Unity. Release game updates effortlessly with content delivery via the cloud.

C# lines of code
Program gameplay with C#

In Unity, you don’t need to create a real-time 3D framework for your application, because the Unity platform does it for you. Stay focused on creating interactive gameplay in your scripts, then test it out right in the Editor. Unity uses C#, which automatically handles memory management for you: allocating and deallocating memory, using garbage collection to help you avoid memory leaks, and more.

Scene from Subnautica
Design scalable systems

“The Unity Addressable Asset System got us over the line. It squared away our memory issues, and we simply wouldn’t be shipping on Switch anytime soon without it.” – Max McGuire, Technical Director, Unknown Worlds

The Unity platform offers multiple tools for organizing your projects’ code and assets for maximum performance. For example, the Addressables package handles asset management overhead by simplifying content pack creation and deployment. ScriptableObjects are excellent for projects that handle a lot of data that might change throughout production.

Scene from Volcano High
Leverage version control in Unity

“Plastic showed [us] how to set up a branch model at a much more granular and effective level than what we were used to. It’s easy to parse and navigate, people can jump around the project in ways that won’t be destructive.” – Saleem Dabbous, studio director, KO_OP

Plastic SCM is the recommended version control system for Unity game development, offering the best experience when dealing with large binary files, fast workflows, and a simplified interface for non-coders on your team. In-Editor integration is also available for Perforce, and you can choose many other solutions, such as Git.

Jurassic World Alive Promo art
Customize Editor workflows

“With Unity, our artists are more autonomous and less dependent on programmers. On the previous engine, we needed our programmers to do a large part of the visual integration and now the artists can do more on their own. I noticed that programmers are no longer being asked to move things two pixels to the left or do other trivial things like that.” – Catherine Barbeau, Coretech Director, Ludia

Instead of being limited to manipulating values and assets through code, a programmer in Unity can easily edit the Editor interface so artists and designers can tweak gameplay and build scenes directly in the engine. If a designer wants to turn off a behavior, they can just uncheck a box instead of asking you to rewrite code.

Warrior characters representing different consoles and devices
Build for multiple platforms

“With Arena of Valor, we’re supporting many different hardware configurations in a lot of different countries, and Unity makes it much easier to get the consistency we expect across them all.” – Mellow Yue, Technical Director, Tencent Games

Unity has deep partnerships with all of the major platforms, so you can squeeze the maximum performance out of each of the 20+ deployment options available without the headache of keeping up with the latest device releases. Unity Input System helps you set up controls in one place across platform deployment options and devices, right out of the box.

Screenshot of Unity Profiler
Optimize performance and quality

Once you’ve designed a great game, Unity can help you make it fast and stable. The Unity Editor includes a suite of profiling and optimization tools to help you maximize the available resources for your target platform.

The Unity Profiler gives you performance information about the application, while the Memory Profiler helps you reduce memory usage. The Unity Test Framework allows you to create automated tests to make sure your code runs as intended. Backtrace takes all the hands-on work out of cross-platform crash and exception management, so you can focus on shipping your game.

Dystopian building with flying vehicles
Programming in Unity for C++ developers

If you’re new to C#, this guide can help you take advantage of the .NET framework and benefit from the convenience of a managed environment.

Optimize your mobile game performance
Optimize your mobile game performance

Our engineers work with top mobile studios to improve player experience. This free e-book collects 75+ in-depth tips from real-life situations to help you up your game.

Overview of .NET in Unity
Overview of .NET in Unity

Unity uses the open-source .NET platform to ensure that your games can run on a wide variety of different hardware configurations. Get details on the scripting backends, .NET system libraries, and best practices in the docs.

What’s new
Unity 2021 LTS art
Programming in Unity 2021 LTS

Create optimized, high-performing games by leveraging our newest releases’ under-the-hood enhancements to streamline your coding experience and create with confidence.

Diagram of Unity workflow
Behind the scenes: Faster workflows

Learn how we’ve optimized the core of the Unity Editor so you can iterate quickly through the entire lifetime of your productions, from importing assets to building and deploying a playable game.

Screenshot from DOTS
What’s new in Burst 1.7

Burst is a compiler that translates IL/.NET bytecode into platform-optimized native code. The latest version of the Burst package comes with improvements to both iteration time and the Burst Inspector.

Unity Gen art
Learn Unity your own way

We offer training for professionals in a variety of formats designed to fit into your schedule.

Frequently asked questions

Does Unity use C++ or C#?


Can I access Unity’s source code?


Which platforms are supported for Unity development?


Where can I see the Unity roadmap?


Which Unity version should I use?


Which IDE can I use with Unity?