Hi everyone,
This is my first full update since taking on Product coverage of the Core Engine team at Unity. Our intent is to provide quarterly updates as we get closer to releasing changes towards a full CoreCLR Editor in Unity 6.8. There will be changes to how we leverage the potential performance gains of Entities, how we serialize data, and memory management.
Following our YouTube Product Update Livestream, and a video of @jivalenzuela’s more technical deep dive as a Daily Talk at GDC 2026, we’re excited to open up discussion into the technical evolution of the Unity Engine and our plans regarding CoreCLR.
We’ve started a technical upgrade guide for more specifics.
Unity 6.5: Building the Foundation
Unity 6.5 serves as the bridge to this high-performance future. We are introducing several structural changes to prepare your projects for the CoreCLR era.
Editor Lifecycle API
To handle code more efficiently, we are releasing a new set of Editor Lifecycle APIs. These public C# attributes allow for more granular access to the code reload process as we work towards making Fast Enter Play Mode (FEPM) the default in Unity 6.6.
-
Granularity: Attributes like [OnCodeInitializing] execute before assets are fully loaded, providing a better window for resource pre-allocation than the older [InitializeOnLoad].
-
Symmetry: For every “loading” callback, there is now a corresponding “unloading” one. The new APIs are also available in the Editor and / or the Player where necessary.
-
Future-Proofing: These APIs are agnostic to the reload mechanism, meaning they work seamlessly with both Mono and the upcoming CoreCLR.
The Shift to EntityID
InstanceID is an internal handle used in operations on UnityEngine.Object instances. As part of the work to more deeply integrate Entities into Unity Engine, use of InstanceID is being replaced (in phases) with EntityId.
-
Obsolete Errors: Starting in Unity 6.5, InstanceID methods and fields will generate obsolete errors. These errors should lead you to the EntityId equivalents wherever possible.
-
8-Byte EntityId Type: In Unity 6.5 we are updating EntityId to be 8 bytes in size. This is to align with the Entity type that contains both a 4 byte index and version. In the future this will identify both UnityObjects and Entities.
New Hierarchy Window
We’re introducing an opt-in new Hierarchy Window in Unity 6.5. This modernized view supports more than just GameObjects; it allows you to visualize Worlds, Entities, and SubScenes directly within the same window. Our goal is to make this the default way you interact with all Unity data in Unity 6.6.
Entities Journaling
Please note that Entities Journaling is deprecated in 6.5. We are currently researching more efficient, general-purpose solutions for both GameObjects and Entities to reduce the performance overhead found in the current implementation.
Samples Update
Our current large set of samples include many that will be going out of date as we align Entities with the rest of the engine. We are focusing on a smaller set that we will be updating at a more rapid pace to match changes in Entities and the engine. To that aim, Megacity, ECS Racing and some of our smaller samples will be archived for use with the 1.x versions of DOTS packages. We will be focusing on HelloCube, GalaxySample and the Character Controller Samples; and introduce new samples in the future.
As part of these ongoing changes, we have updated the Galaxy sample to demonstrate a specific case of cross-platform determinism with Entities and also introduced a custom LOD system that provides significant improvements. These changes have landed in the ECS Galaxy Sample repo already.
Unity 6.6: Workflow Efficiency
We are moving to .NET 10 and C# 14 in Unity 6.8 and are making changes starting in Unity 6.6 to help us get there as smoothly as possible. The move is to provide a modern, performant, and continuously updated foundation to replace our existing reliance on Mono. The most significant change in Unity 6.6 is that Fast Enter Play Mode (FEPM) will finally become the default setting. While many of you using Entities have likely enabled this manually for years, making it the engine standard ensures that every developer benefits from near-instant transitions from Edit to Play mode. Our intent is for all internal packages and code to work with FEPM from this release onward.
Unity 6.7 LTS & 6.8: The CoreCLR Era
We remain committed to the goals promised last fall at Unite 2025 of delivering a CoreCLR-backed player in Unity 6.7 as an experimental release. We are excited to announce that we are also committing to a CoreCLR-backed editor in 6.8. We are working internally to make sure this release meets the quality bar set by our current tooling, and are happy to provide a public timeline for release of our new CoreCLR-backed tools.
Why CoreCLR Matters
-
Iteration Speed: Replacing domain reloads with more granular code reloads based on CoreCLR’s Assembly Load Contexts (ALC). This will allow for less waiting time on incremental changes and entering/exiting play mode.
-
Ecosystem Compatibility: Access to the latest .NET APIs and language features brings Unity in line with the broader modern C# 14 ecosystem.
-
Modern Build System: Support for MSBuild and a customizable csproj-based build with bidirectional IDE support.
When you can get hands on!
- Unity 6.7 LTS
- Experimental Release of the CoreCLR Desktop Player
- Last Unity release built upon Mono
- Unity 6.8 Alpha
- CoreCLR Editor without Mono
- Non-experimental CoreCLR Desktop Player
- IL2CPP Player with .NET and C#14 support
This is just the beginning of what we can unlock once the engine is fully equipped with CoreCLR. We’ll be hanging out in the comments to answer your questions and hear your thoughts on these changes!
What part of the .NET modernization are you most excited to get your hands on?

