Version: 2018.2
스크립트 컴파일 및 어셈블리 정의 파일(Script compilation and assembly definition files)
추가 클래스 라이브러리 어셈블리 레퍼런스

.NET 프로파일 지원

Unity는 여러 .NET 프로파일을 지원합니다. 각 프로파일은 .NET 클래스 라이브러리와 상호작용하는 C# 코드에 대해 다른 API 표면을 제공합니다. 플레이어 설정(편집(Edit) > 프로젝트 설정(Project Settings) > 플레이어(Player))에서 기타 설정(Other Settings) 섹션의 API 호환성 수준(Api Compatibility Level) 옵션을 사용하여 .NET 프로파일을 변경할 수 있습니다.

레거시 스크립팅 런타임

레거시 스크립팅 런타임은 두 가지 프로파일인 .NET 2.0 Subset과 .NET 2.0을 지원합니다. 두 프로파일 모두 Microsoft의 .NET 2.0 프로파일과 긴밀한 연관이 있습니다. .NET 2.0 Subset 프로파일은 .NET 4.x 프로파일보다 더 작으며, 이 프로파일을 통해 대부분의 Unity 프로젝트에서 사용하는 클래스 라이브러리 API에 액세스할 수 있습니다. 이 프로파일은 모바일처럼 크기 제약이 있는 플랫폼에 적합하고, 여러 플랫폼을 지원하는 여러 이식 가능한 API를 제공합니다. 기본적으로 대부분의 Unity 프로젝트에서는 .NET Standard 2.0 프로파일을 사용해야 합니다.

안정적인 스크립팅 런타임

안정적인 스크립팅 런타임은 두 가지 프로파일인 .NET Standard 2.0과.NET 4.x를 지원합니다. .NET Standard 2.0 프로파일의 이름은 레거시 스크립팅 런타임의 .NET 2.0 및 .NET 2.0 Subset 프로파일과 관련이 없기 때문에 약간 오해의 소지가 있을 수 있습니다. 그 대신 Unity의 .NET Standard 2.0 프로파일 지원은 .NET Foundation에서 퍼블리시한 같은 이름의 프로파일과 일치합니다. Unity의 .NET 4.x 프로파일은 .NET Framework의 .NET 4 시리즈(.NET 4.5, .NET 4.6, .NET 4.7 등) 프로파일과 일치합니다.

.NET 4.x 프로파일은 외부 라이브러리와 호환성이 필요하거나 .NET Standard 2.0에서 사용할 수 없는 기능이 필요한 경우에만 사용하십시오.

크로스 플랫폼 호환성

Unity의 목표는 모든 플랫폼에서 .NET Standard 2.0 프로파일의 API를 거의 대부분 지원하는 것입니다. 모든 플랫폼에서 .NET Standard를 완전히 지원하지는 않지만, 크로스 플랫폼 호환성이 목표인 라이브러리는 .NET Standard 2.0 프로파일을 대상으로 해야 합니다. .NET 4.x 프로파일에는 훨씬 더 큰 API 표면이 포함되어 있고, 표면의 일부분은 소수의 플랫폼에서만 사용할 수 있거나 아예 사용 가능한 플랫폼이 없습니다.

관리되는 플러그인

Unity 외부에서 컴파일된 관리되는 코드 플러그인은 Unity에서 .NET Standard 2.0 프로파일 또는 .NET 4.x 프로파일과 함께 사용할 수 있습니다. 다음은 Unity가 지원하는 설정에 대해 설명하는 표입니다.

API Compatibility Level:
.NET Standard 2.0 .NET 4.x
관리되는 플러그인의 컴파일 대상:
.NET Standard 지원됨 지원됨
.NET Framework 제한됨 지원됨
.NET Core 지원되지 않는 기능 지원되지 않는 기능

참고:

  • 모든 .NET Standard 버전을 대상으로 컴파일된 관리되는 플러그인을 Unity와 함께 사용할 수 있습니다.
  • 지원이 제한적이라는 말은 .NET Framework에서 사용되는 모든 API가 .NET Standard 2.0 프로파일에 있는 경우 Unity에서 설정이 지원됨을 의미합니다. 하지만 .NET Framework API는 .NET Standard 2.0 프로파일의 상위 집합이므로 일부 API는 사용할 수 없습니다.

전송 계층 보안(TLS) 1.2

2018.2에서 Unity는 WebGL을 제외한 모든 플랫폼에서 완전한 TLS 1.2 지원을 제공합니다. 이는 UnityWebRequest API와 모든 NET 4.x API를 통해 이루어집니다.

인증서 확인은 플랫폼별 인증서 저장소(이용 가능한 경우)에서 자동으로 수행됩니다. 인증서 저장소에 액세스할 수 없는 경우 Unity는 내장된 루트 인증서 저장소를 사용합니다.

.NET 3.5 이하에 대한 TLS 지원은 플랫폼에 따라 다르며, 어떤 기능을 지원한다고 보장할 수 없습니다.


  • 2018–03–15 편집 리뷰를 거쳐 페이지 수정됨

  • 2018.1에 .NET 프로파일 지원 추가됨NewIn20181

스크립트 컴파일 및 어셈블리 정의 파일(Script compilation and assembly definition files)
추가 클래스 라이브러리 어셈블리 레퍼런스