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-ins are .NET assemblies that are managed outside of Unity and compiled into dynamically linked libraries (DLLs). You can use managed plug-ins 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) | 受支持 | 受支持 |
.NET Framework (any version) | Limited support | 受支持 |
.NET Core (any version) | 不受支持 | 不受支持 |
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 WebGL. 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 页面已修订
在 2018.1 版中添加了 .NET 配置文件支持 NewIn20181
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.