Unity supports two .NET profiles: .NET Standard and .NET Framework. Each profile provides a different set of APIs so that C# code can interact with .NET class libraries. The Api Compatibility Level property has two settings:
By default, the Api compatibility Level is set to .NET Standard. To change the .NET profile, go to Edit > Project Settings > Player >Other settings. Under the Configuration heading, set Api Compatibility Level to the desired setting.
If you need broad cross-platform compatibility, then set the Api Compatibility Level to .NET Standard. Where possible, Unity supports the APIs in the .NET Standard profile on all platforms. Although some platforms don’t fully support the .NET Standard profile, the .NET Framework profile is less suitable for cross-platform compatibility. The .NET Framework profile includes all APIs in the .NET Standard profile and additional APIs, some of which might work on few or no platforms.
Managed plug-insA managed .NET assembly that is created with tools like Visual Studio for use in Unity. More info
See in Glossary are .NET assemblies that are managed outside of Unity and compiled into dynamically linked libraries (DLLs). You can use managed plug-insA set of code created outside of Unity that creates functionality in Unity. There are two kinds of plug-ins you can use in Unity: Managed plug-ins (managed .NET assemblies created with tools like Visual Studio) and Native plug-ins (platform-specific native code libraries). More info
See in Glossary in Unity with either the .NET Standard profile or the .NET Framework profile.
The .NET profile of your Unity project determines the level of support for managed plug-ins that are compiled for different versions of .NET. The following table indicates the configurations that Unity supports:
Managed plug-in compilation target | API Compatibility Level: | |
---|---|---|
.NET Standard 2.1 | .NET 4.x | |
.NET Standard (any version) | Supported | Supported |
.NET Framework (any version) | Limited support | Supported |
.NET Core (any version) | Not Supported | Not Supported |
Support for managed plug-ins compiled for .NET Framework is limited when you use the .NET Standard profile in Unity. Any .NET Framework APIs that are also present in .NET Standard are supported. However, the .NET Framework API contains types and methods that are not available in the .NET Standard profile.
The UnityWebRequest API and all .NET Framework Web APIs fully support TLS 1.2 on all platforms except WebGLA JavaScript API that renders 2D and 3D graphics in a web browser. The Unity WebGL build option allows Unity to publish content as JavaScript programs which use HTML5 technologies and the WebGL rendering API to run Unity content in a web browser. More info
See in Glossary. WebGL uses the security settings from the browser the application runs in and the web server instead. The platform-specific local certificate store automatically verifies TLS certificates if available. If access to the certificate store isn’t possible, Unity uses an embedded root certificate store.
2018–03–15 Page amended
.NET profile support added in 2018.1 NewIn20181