# NET 6 support

**URL:** https://discussions.unity.com/t/net-6-support/829317
**Category:** C# & .NET
**Tags:** Scripting, Mono
**Created:** [February 18, 2021, 7:44am UTC](https://discussions.unity.com/t/net-6-support/829317 "2021-02-18T07:44:57Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![Huszky](https://dub1.discourse-cdn.com/unity/user_avatar/discussions.unity.com/huszky/32/101629_2.png) [@Huszky](https://discussions.unity.com/u/Huszky)
#### Post date: [February 18, 2021, 7:44am UTC](https://discussions.unity.com/t/net-6-support/829317/1 "2021-02-18T07:44:57Z")

</div>

Since yesterday Microsoft announced the first .NET 6 preview it might be time to open this thread.

Announcement:

> **[Announcing .NET 6 Preview 1 - .NET Blog](https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-1/)**
>
> .NET 6 Preview 1 is now available and is the start of the next major .NET release, focused on .NET unification and supporting new platforms.

The biggest thing is that might be good for unity is that the mono runtime will be integrated into .NET and so TFMs will be available for window, android, ios, maccatalyst, macos, tvos.

Do you have any public roadmap for upgrading to .NET 6?  
Do you have any plan on integrating with the standard .NET toolchain? Csproj files not auto generated, can be put under version control, nuget support, etc (this would also mean replacing asmdef?)?  
net6.0-unity as workload please ?[designs/accepted/2020/workloads/workloads.md at main · dotnet/designs · GitHub](https://github.com/dotnet/designs/blob/main/accepted/2020/workloads/workloads.md)

Thanks in advance for @JoshPeterson for answering people’s obvious questions about it.

---

<div class="post-metadata">

### Author: ![JesOb](https://dub1.discourse-cdn.com/unity/user_avatar/discussions.unity.com/jesob/32/82953_2.png) [@JesOb](https://discussions.unity.com/u/JesOb)
#### Post date: [February 18, 2021, 11:33am UTC](https://discussions.unity.com/t/net-6-support/829317/2 "2021-02-18T11:33:23Z")

</div>

From Blog:  
We’ve been watching the Xamarin team innovate with the [XAML Hot Reload experience](https://devblogs.microsoft.com/xamarin/public-preview-xaml-hot-reload-xamarin-forms/) over the last couple years and started to imagine enabling hot reload as a general .NET capability, and not just for XAML, but C#/IL. We’re defining a new hot code reload model that we can offer for all app types. It’s likely at least some of this feature will be implemented in the runtime, and we’re committed to doing that with both CoreCLR and Mono. We want to enable a very fast build, and even faster operations for code changes that can skip the build entirely, as a new standard feature of .NET.

---

<div class="post-metadata">

### Author: ![JoshPeterson](https://dub1.discourse-cdn.com/unity/user_avatar/discussions.unity.com/joshpeterson/32/44179_2.png) [@JoshPeterson](https://discussions.unity.com/u/JoshPeterson)
#### Post date: [February 18, 2021, 11:54am UTC](https://discussions.unity.com/t/net-6-support/829317/3 "2021-02-18T11:54:05Z")

</div>

> [@Huszky](#):
>
> Do you have any public roadmap for upgrading to .NET 6?

No, nothing public to report yet. I can say that we are actively working now toward the goal of .NET 5/.NET 6 class library support in Unity. Since .NET 6 will be a long term support release from Microsoft, we will likely target .NET 6 instead of .NET 5 for the first .NET Core-based release of Unity, but that is still uncertain.

> [@Huszky](#):
>
> Do you have any plan on integrating with the standard .NET toolchain? Csproj files not auto generated, can be put under version control, nuget support, etc (this would also mean replacing asmdef?)?

This is a bit outside of the area my team supports, so I’m not as sure about these questions. I know there have been some discussions about moving to .csproj files from .asmdef, but I don’t think there is any active work here yet. I doubt that Unity will have built-in support for nuget soon.

> [@Huszky](#):
>
> net6.0-unity as workload please ?

I don’t expect this to happen. From a class library perspective, I think Unity will support .NET FW (probably version 4.8), .NET Standard 2.1, and .NET 5/6 in the future. Although Unity has a pretty large C# API, I don’t expect us to try to publish a TFM now. In essence, that means the Unity API would only be available in Unity, and not via nuget, for example. That would still allow parity with the current approach Unity has. So although have a Unity TFM would be interesting, _not_ having one doesn’t loose anything.

I’d love to have more details to share, but we’re not ready to announce roadmaps publicly at this time.

---

<div class="post-metadata">

### Author: ![JoshPeterson](https://dub1.discourse-cdn.com/unity/user_avatar/discussions.unity.com/joshpeterson/32/44179_2.png) [@JoshPeterson](https://discussions.unity.com/u/JoshPeterson)
#### Post date: [February 18, 2021, 11:54am UTC](https://discussions.unity.com/t/net-6-support/829317/4 "2021-02-18T11:54:41Z")

</div>

> [@JesOb](#):
>
> From Blog:  
> We’ve been watching the Xamarin team innovate with the [XAML Hot Reload experience](https://devblogs.microsoft.com/xamarin/public-preview-xaml-hot-reload-xamarin-forms/) over the last couple years and started to imagine enabling hot reload as a general .NET capability, and not just for XAML, but C#/IL. We’re defining a new hot code reload model that we can offer for all app types. It’s likely at least some of this feature will be implemented in the runtime, and we’re committed to doing that with both CoreCLR and Mono. We want to enable a very fast build, and even faster operations for code changes that can skip the build entirely, as a new standard feature of .NET.

Yeah, this is a really cool feature, and something that we have experimented with internally as well. It is certainly on our list of things to do.

---

<div class="post-metadata">

### Author: ![Kamyker](https://dub1.discourse-cdn.com/unity/user_avatar/discussions.unity.com/kamyker/32/88773_2.png) [@Kamyker](https://discussions.unity.com/u/Kamyker)
#### Post date: [March 17, 2021, 2:24am UTC](https://discussions.unity.com/t/net-6-support/829317/5 "2021-03-17T02:24:19Z")

</div>

> **[Announcing .NET 6 Preview 2 - .NET Blog](https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-2/)**
>
> Releasing .NET 6 Preview 2 which includes new APIs, runtime performance improvements, and early builds of .NET MAUI.

---

<div class="post-metadata">

### Author: ![Ramobo](https://avatars.discourse-cdn.com/v4/letter/r/90ced4/32.png) [@Ramobo](https://discussions.unity.com/u/Ramobo)
#### Post date: [March 18, 2021, 3:05pm UTC](https://discussions.unity.com/t/net-6-support/829317/6 "2021-03-18T15:05:28Z")

</div>

> [@Kamyker](#):
>
> [https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-2/](https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-2/)  
> ![](https://forum.unity.com/proxy.php?image=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fwp-content%2Fuploads%2Fsites%2F10%2F2021%2F03%2Fdotnet6-build-improvements.png&hash=a4d94a7dc4dec03e338d410526a1d5a4)

Hold up, that’s just Blazor Server and MVC. Has anyone benchmarked general class library build times?

---

<div class="post-metadata">

### Author: ![Digika](https://avatars.discourse-cdn.com/v4/letter/d/a5b964/32.png) [@Digika](https://discussions.unity.com/u/Digika)
#### Post date: [March 22, 2021, 8:08pm UTC](https://discussions.unity.com/t/net-6-support/829317/7 "2021-03-22T20:08:25Z")

</div>

> [@Huszky](#):
>
> it might be time to open this thread.

What made you think so? Was it pointless NET 5 thread that existed for 1+ years and ended up dead?

---

<div class="post-metadata">

### Author: ![Knil](https://dub1.discourse-cdn.com/unity/user_avatar/discussions.unity.com/knil/32/445190_2.png) [@Knil](https://discussions.unity.com/u/Knil)
#### Post date: [March 25, 2021, 1:26pm UTC](https://discussions.unity.com/t/net-6-support/829317/8 "2021-03-25T13:26:01Z")

</div>

Share your feedback on what you want to see on Unity’s new roadmap website. [https://resources.unity.com/unity-engine-roadmap/engineering?\_ga=2.58055018.1958188071.1616602946-24445790.1611283440](https://resources.unity.com/unity-engine-roadmap/engineering?_ga=2.58055018.1958188071.1616602946-24445790.1611283440)

---

<div class="post-metadata">

### Author: ![Ramobo](https://avatars.discourse-cdn.com/v4/letter/r/90ced4/32.png) [@Ramobo](https://discussions.unity.com/u/Ramobo)
#### Post date: [March 25, 2021, 2:28pm UTC](https://discussions.unity.com/t/net-6-support/829317/9 "2021-03-25T14:28:37Z")

</div>

> [@Knil](#):
>
> Share your feedback on what you want to see on Unity’s new roadmap website. [https://resources.unity.com/unity-engine-roadmap/engineering?\_ga=2.58055018.1958188071.1616602946-24445790.1611283440](https://resources.unity.com/unity-engine-roadmap/engineering?_ga=2.58055018.1958188071.1616602946-24445790.1611283440)

> [@](#):
>
> The Unity Roadmap is in beta

This perfectly summarizes the state of the engine — optimistically.

---

<div class="post-metadata">

### Author: ![stevphie123](https://avatars.discourse-cdn.com/v4/letter/s/da6949/32.png) [@stevphie123](https://discussions.unity.com/u/stevphie123)
#### Post date: [April 19, 2021, 4:53am UTC](https://discussions.unity.com/t/net-6-support/829317/10 "2021-04-19T04:53:42Z")

</div>

Man… I was hoping that Unity would move to coreclr completely, years ago… People been complaining how slow mono was and still is even today

---

<div class="post-metadata">

### Author: ![Bip901](https://dub1.discourse-cdn.com/unity/user_avatar/discussions.unity.com/bip901/32/271881_2.png) [@Bip901](https://discussions.unity.com/u/Bip901)
#### Post date: [November 9, 2021, 6:24pm UTC](https://discussions.unity.com/t/net-6-support/829317/11 "2021-11-09T18:24:29Z")

</div>

.NET 6 [was just released](https://devblogs.microsoft.com/dotnet/announcing-net-6/). Interestingly, the diagram in the linked article depicts Unity as using .NET 6!

Is it a mistake or has the dream come true?

---

<div class="post-metadata">

### Author: ![JoshPeterson](https://dub1.discourse-cdn.com/unity/user_avatar/discussions.unity.com/joshpeterson/32/44179_2.png) [@JoshPeterson](https://discussions.unity.com/u/JoshPeterson)
#### Post date: [November 9, 2021, 6:58pm UTC](https://discussions.unity.com/t/net-6-support/829317/12 "2021-11-09T18:58:38Z")

</div>

> [@Bip901](#):
>
> .NET 6 [was just released](https://devblogs.microsoft.com/dotnet/announcing-net-6/). Interestingly, the diagram in the linked article depicts Unity as using .NET 6!
> 
> Is it a mistake or has the dream come true?

We’re not ready to add .NET 6 support in Unity yet. But we are working toward that. There is a pretty in-depth discussion about our future .NET plans that we keep up to date here: [https://discussions.unity.com/t/836646](https://discussions.unity.com/t/836646)

---

<div class="post-metadata">

### Author: ![Waldo\_Spatial](https://avatars.discourse-cdn.com/v4/letter/w/439d5e/32.png) [@Waldo\_Spatial](https://discussions.unity.com/u/Waldo_Spatial)
#### Post date: [November 20, 2021, 2:05am UTC](https://discussions.unity.com/t/net-6-support/829317/13 "2021-11-20T02:05:17Z")

</div>

.net 6.0 is the only version that seems to work with VSCode on M1 Macs btw. Opening unity projects with that setup makes omnisharp not work, meaning you don’t get any good intellisense

---

<div class="post-metadata">

### Author: ![JoshPeterson](https://dub1.discourse-cdn.com/unity/user_avatar/discussions.unity.com/joshpeterson/32/44179_2.png) [@JoshPeterson](https://discussions.unity.com/u/JoshPeterson)
#### Post date: [November 22, 2021, 11:46am UTC](https://discussions.unity.com/t/net-6-support/829317/14 "2021-11-22T11:46:55Z")

</div>

> [@Waldo\_Spatial](#):
>
> .net 6.0 is the only version that seems to work with VSCode on M1 Macs btw. Opening unity projects with that setup makes omnisharp not work, meaning you don’t get any good intellisense

This might be unrelated to .NET 6 support in Unity itself. Does Omnisharp work in general on M1 macs? Or is this somehow specific to Unity?

---

<div class="post-metadata">

### Author: ![Waldo\_Spatial](https://avatars.discourse-cdn.com/v4/letter/w/439d5e/32.png) [@Waldo\_Spatial](https://discussions.unity.com/u/Waldo_Spatial)
#### Post date: [November 22, 2021, 3:18pm UTC](https://discussions.unity.com/t/net-6-support/829317/15 "2021-11-22T15:18:13Z")

</div>

Omnisharp only seems to work with .NET 6 in VSCode. Unity creates projects that target framework v4.7.1, which does not exist in .NET 6, so vscode (omnisharp) spits out an error like:

```csharp
[fail]: OmniSharp.MSBuild.ProjectLoader
        This project targets .NET version that requires reference assemblies that do not ship with OmniSharp out of the box (e.g. .NET Framework). The most common solution is to make sure Mono is installed on your machine (https://mono-project.com/download/) and that OmniSharp is started with that Mono installation (e.g. "omnisharp.useGlobalMono":"always" in C# Extension for VS Code).
[warn]: OmniSharp.MSBuild.ProjectManager
        Failed to load project file 'XXXX.csproj'.

```

If I install .NET 5 on my mac M1, vscode tells me it is not installed (because, from what I can tell, .NET 5 does not support M1)

So unfortunately, it seems like I cannot use VSCode for development on a mac M1. I have to use Visual Studio for Mac instead.

This isn’t a unity issue for sure, it’s likely a vscode/omnisharp issue, but I posted here to give another reason to support NET 6

---

<div class="post-metadata">

### Author: ![JoshPeterson](https://dub1.discourse-cdn.com/unity/user_avatar/discussions.unity.com/joshpeterson/32/44179_2.png) [@JoshPeterson](https://discussions.unity.com/u/JoshPeterson)
#### Post date: [November 22, 2021, 3:26pm UTC](https://discussions.unity.com/t/net-6-support/829317/16 "2021-11-22T15:26:49Z")

</div>

> [@Waldo\_Spatial](#):
>
> Omnisharp only seems to work with .NET 6 in VSCode. Unity creates projects that target framework v4.7.1, which does not exist in .NET 6, so vscode (omnisharp) spits out an error like:
> 
> ```csharp
> [fail]: OmniSharp.MSBuild.ProjectLoader
> This project targets .NET version that requires reference assemblies that do not ship with OmniSharp out of the box (e.g. .NET Framework). The most common solution is to make sure Mono is installed on your machine (https://mono-project.com/download/) and that OmniSharp is started with that Mono installation (e.g. "omnisharp.useGlobalMono":"always" in C# Extension for VS Code).
> [warn]: OmniSharp.MSBuild.ProjectManager
> Failed to load project file 'XXXX.csproj'.
> 
> ```
> 
> If I install .NET 5 on my mac M1, vscode tells me it is not installed (because, from what I can tell, .NET 5 does not support M1)
> 
> So unfortunately, it seems like I cannot use VSCode for development on a mac M1. I have to use Visual Studio for Mac instead.
> 
> This isn’t a unity issue for sure, it’s likely a vscode/omnisharp issue, but I posted here to give another reason to support NET 6

Thanks for the details - we don’t expect to target .NET 6 in Unity soon. We are working on it though - see the link above for some details.

---

<div class="post-metadata">

### Author: ![Adrian](https://dub1.discourse-cdn.com/unity/user_avatar/discussions.unity.com/adrian/32/93991_2.png) [@Adrian](https://discussions.unity.com/u/Adrian)
#### Post date: [November 22, 2021, 9:31pm UTC](https://discussions.unity.com/t/net-6-support/829317/17 "2021-11-22T21:31:08Z")

</div>

> [@Waldo\_Spatial](#):
>
> Omnisharp only seems to work with .NET 6 in VSCode. Unity creates projects that target framework v4.7.1, which does not exist in .NET 6, so vscode (omnisharp) spits out an error like.

OmniSharp on macOS/Linux uses Mono and contains a bundled version of Mono that is not compatible with Unity. I don’t think it matters what version of .Net you have installed.

In the official VSCode documentation on [Unity Development with VS Code](https://code.visualstudio.com/docs/other/unity), it says:

> [@](#):
>
> **Prerequisites**  
> […]  
> [macOS only] To avoid seeing “Some projects have trouble loading. Please review the output for more details”, **make sure to install the latest stable Mono release**.

And in the [known issues for OmniSharp-VSCode](https://github.com/OmniSharp/omnisharp-vscode/blob/master/CHANGELOG.md):

> [@](#):
>
> For Mono-based development (e.g. Unity) that requires full .NET framework, **you need to set “omnisharp.useGlobalMono”: “always”**. The current value of “auto” will remain “never” until Mono upgrades their bundled MSBuild version.

So make sure you install mono and set _useGlobalMono_ in VSCode to _always_.

Though I don’t have an Apple Silicon machine, so I don’t know if there are any specific issues but I’ve read that it should work with Rosetta.

---

<div class="post-metadata">

### Author: ![Antares\_1](https://avatars.discourse-cdn.com/v4/letter/a/58956e/32.png) [@Antares\_1](https://discussions.unity.com/u/Antares_1)
#### Post date: [March 24, 2022, 1:50pm UTC](https://discussions.unity.com/t/net-6-support/829317/18 "2022-03-24T13:50:17Z")

</div>

UP

---

<div class="post-metadata">

### Author: ![dathemon](https://avatars.discourse-cdn.com/v4/letter/d/3e96dc/32.png) [@dathemon](https://discussions.unity.com/u/dathemon)
#### Post date: [March 25, 2022, 4:00pm UTC](https://discussions.unity.com/t/net-6-support/829317/19 "2022-03-25T16:00:50Z")

</div>

Does .NET 6.0 are scheduled for support? .NET 6.0 has a lot of new features, and they definitely needed in Unity, at least [Preview Features in .NET 6 - Generic Math - .NET Blog](https://devblogs.microsoft.com/dotnet/preview-features-in-net-6-generic-math/) new math

---

<div class="post-metadata">

### Author: ![JoshPeterson](https://dub1.discourse-cdn.com/unity/user_avatar/discussions.unity.com/joshpeterson/32/44179_2.png) [@JoshPeterson](https://discussions.unity.com/u/JoshPeterson)
#### Post date: [March 28, 2022, 10:33am UTC](https://discussions.unity.com/t/net-6-support/829317/20 "2022-03-28T10:33:41Z")

</div>

> [@dathemon](#):
>
> Does .NET 6.0 are scheduled for support? .NET 6.0 has a lot of new features, and they definitely needed in Unity, at least [https://devblogs.microsoft.com/dotnet/preview-features-in-net-6-generic-math/](https://devblogs.microsoft.com/dotnet/preview-features-in-net-6-generic-math/) new math

We don’t have a release schedule yet, although we are working on it. See the large thread here with lots of details: [https://discussions.unity.com/t/836646](https://discussions.unity.com/t/836646) unread

[Next page](https://discussions.unity.com/t/net-6-support/829317.md?page=2)
