EveryDay.DevUp

[Unity] Unity의 버전별 C# 지원 버전 본문

C#

[Unity] Unity의 버전별 C# 지원 버전

EveryDay.DevUp 2021. 12. 24. 18:07

Unity의 https://docs.unity3d.com/kr/2021.1/Manual/CSharpCompiler.html 문서에 정의된 버전별 C# 컴파일러의 지원 버전을 정리하였다.

C# 버전에 따라 기능의 제한이 있기 때문에 서비스 시 Unity 버전에 따른 지원 버전을 확인해야 한다.

근래 Unity는 C# 8.0을 사용하기 때문에 해당 버전을 기준으로 프로그램을 작성하면 된다. 

( Unity에서 C#의 모든 기능을 제공하진 않기 때문에 서포트하지 않는 기능에 대해서는 문서를 통해 확인이 필요함 )

Unity 버전 Scripting Runtime Version 컴파일러 C# 버전
2021.2   Roslyn 9.0
2020.2 - 2021.1 .NET 4.6 Equivalent Roslyn 8.0
2019.2 - 2020.1 .NET 4.6 Equivalent Roslyn 7.3
2018.3 - 2019.1 .NET 3.5 Equivalent
.NET 4.6 Equivalent
mcs
Roslyn
4
7.3

.net은 .net framwork, .net core 등으로 파편화 되어있는데,  .net standard는 파편화된 .net을 공용으로 사용할 수 있도록 규격화 한 것이다.

Unity에서 .net 4.x 와 standard 2.0을 선택할 수 있는데 standard 2.0을 선택했을 때 일부 C# 문법에 제한이 생긴다. standrad가 규격화 하면서 framwork의 모든 기능을 제공하지 않기 때문이다.

MS에서는 cor와 framework로 나눠진 .net을 하나의 .net으로 통일하여 .net 5.0을 출시하였다. framework 4.8 이 마지막 릴리즈가 되었다. 

* 출처 및 참고 블로그

https://namu.wiki/w/Microsoft%20.NET

https://docs.microsoft.com/ko-kr/dotnet/standard/net-standard

 

.NET Standard

.NET Standard, 해당 버전 및 .NET Standard를 지원하는 .NET 구현에 대해 알아봅니다.

docs.microsoft.com

https://www.samsungsds.com/kr/insights/dotnet5.html

 

알아두면 쓸모 있는 .NET 이야기

알아두면 쓸모 있는 .NET 이야기

www.samsungsds.com

https://devblogs.microsoft.com/dotnet/introducing-net-5/

 

Introducing .NET 5

Today, we’re announcing that the next release after .NET Core 3.0 will be .NET 5. This will be the next big release in the .NET family. There will be just one .NET going forward, and you will be able to use it to target Windows,

devblogs.microsoft.com

https://docs.microsoft.com/ko-kr/dotnet/csharp/language-reference/configure-language-version

 

C# 언어 버전 관리 - C# 가이드

C# 언어 버전은 프로젝트에 따라 결정된다는 사실과 그 이유를 알아봅니다. 기본값을 수동으로 재정의하는 방법을 알아봅니다.

docs.microsoft.com