~4 min read

The Unity Stack and Its Ecosystem

Unity versions, languages, render pipelines, and the key tools and packages.

Unity versions

Unity ships several branches at the same time. A timeline of the key 6.x releases:

  • Unity 6.0 (October 2024) — the first major release under the new scheme (instead of 2021.x / 2022.x / 2023.x).
  • Unity 6.1 (March 2025) — public WebGPU backend, Deferred+ for URP, GPU Resident Drawer improvements, DOTS production-ready.
  • Unity 6.2 (August 2025) — UI Toolkit World Space experimental, Unity AI integrations, new Awaitable primitives.
  • Unity 6.3 LTS (released December 5, 2025) — the current recommended LTS, supported through December 2027 (Enterprise / Industry licenses through December 2028). Here the legacy Input Manager is explicitly marked deprecated; Box2D v3 for 2D physics; Hybrid 2D/3D Scenes.
  • The Tech Stream is currently at Unity 6.4 / 6.5 — gradually turning the DOTS packages into core engine modules; experimental CoreCLR is expected in 6.7, with a full replacement of Mono in 6.8 (late 2026).
Note

For a new project in 2026, the standard choice is Unity 6.3 LTS. If you maintain an older project: 2022.3 LTS reached end of support in June 2025; 2021.3 LTS was dropped back in 2024. Versions before 6.0 receive no functional updates.

Languages

  • C# — the only first-class scripting language. UnityScript (a JS dialect) and Boo were removed back in 2017–2018. Unity 6 supports C# 9 syntax when compiling to .NET Standard 2.1, and with certain settings, even newer features.
  • HLSL — for writing shaders for the Built-in RP, URP, and HDRP. The alternative is the visual editor Shader Graph.
  • C++ — only if you write a native plugin (DLL/dylib/so).

Runtime: Mono, IL2CPP, and the upcoming CoreCLR

C# code is compiled to IL (CIL) and then executed in one of two ways:

  • Mono — JIT compilation of IL on the user’s device. Used in the editor and for fast iteration. Not supported on every platform.
  • IL2CPP — AOT compilation of IL to C++, then to a native binary. Required for iOS, WebGL, and most consoles. Faster to run, but slower iteration compile times.
CoreCLR on the horizon

Unity has announced a migration to .NET CoreCLR as a third runtime. Per the refined roadmap: an experimental CoreCLR desktop player in Unity 6.7; a full replacement of the scripting runtime (Mono → CoreCLR) in 6.8 (late 2026). CoreCLR is faster than Mono on servers and native platforms and supports modern .NET. A significant change for long-term projects — keep an eye on the release notes for 6.6+.

What this means in practice

Under IL2CPP, dynamic code generation does not work (Reflection.Emit, dynamic lambdas via Expression.Compile()). If you use reflection heavily, add [Preserve] attributes so the linker doesn’t strip the types you need.

Render pipelines

Unity supports three render pipelines, and the choice is made at the start of the project:

PipelinePurposeWhen to choose
Built-in RPOld, general-purposeMaintaining legacy projects, not for new code
URP (Universal RP)Cross-platform, mobile, mid-range graphicsThe default for most new projects
HDRP (High Definition RP)PC and consoles, photorealismHigh-quality PC/console projects

URP and HDRP are Scriptable Render Pipeline (SRP) packages; they can be configured via quality assets and the Volume system. Switching between them mid-project is expensive: materials and shaders are incompatible. Decide before you begin.

Key Package Manager packages

The Unity Package Manager (UPM) is the npm of Unity. Most tools come through it:

  • Input System — the modern replacement for the legacy Input class (legacy is explicitly deprecated in Unity 6.3).
  • Cinemachine — powerful cameras (follow, free-look, dolly tracks). A UPM package, preinstalled in the Unity 6 templates.
  • TextMeshPro — text with SDF fonts (instead of the obsolete UI.Text).
  • Addressables — asynchronous asset loading instead of Resources.Load.
  • Animation Rigging — procedural skeletal animation (IK, aim constraints).
  • Burst + Job System + Collections — high-performance systems.
  • Entities (DOTS/ECS) — a data-oriented stack for thousands of entities. Production-ready since Unity 6.0 (Entities 1.0); in Unity 6.4 the package becomes a core engine package, with no separate installation.
  • Unity Behavior — the official graph-based behavior trees system for AI (since Unity 6.1).
  • Sentis — built-in ML inference (it replaced Barracuda).
  • Netcode for GameObjects 2.x — multiplayer (supports Distributed Authority with Unity Cloud).

Tooling around the project

  • Unity Hub — a manager for editor versions and projects (like nvm for Node).
  • JetBrains Rider or Visual Studio — the main IDEs. VS Code works too, but Rider provides deep integration (debugging, navigation across components).
  • Git + Git LFS for binary assets. Don’t forget to .gitignore Library/, Temp/, Logs/, and UserSettings/.
  • Plastic SCM (Unity Version Control) — a built-in VCS, convenient for binary files and large projects; an alternative to Git LFS.

The next chapter covers the main material: everything about 3D development.