Unity は多くの .NET プロファイルをサポートしています。各プロファイルは、.NET クラスライブラリと相互作用する C# コードのための様々な API サーフェスを提供します。Other Settings パネルの Api Compatibility Level オプションを使用して、Player 設定 (Edit > Project Settings の順に移動し、Player カテゴリを選択) で .NET プロファイルを変更できます。
旧バージョンのスクリプティングランタイムは、.NET 2.0 サブセットと .NET 2.0 の 2 つの異なるプロファイルをサポートしています。両方とも、Microsoft の .NET 2.0 プロファイルと緊密に連携しています。.NET 2.0 サブセットプロファイルは .NET 4.x プロファイルよりも小さく、ほとんどの Unity プロジェクトで使用されるクラスライブラリ API にアクセスできます。これは、モバイルなどのサイズが制約されたプラットフォームにとって理想的な選択であり、マルチプラットフォームをサポートするための一揃いのポータブル API を提供します。デフォルトでは、ほとんどの Unity プロジェクトは .NET Standard 2.0 プロファイルを使用します。
安定したスクリプティングランタイムは .NET Standard 2.0 と .NET 4.x の 2 つの異なるプロファイルをサポートします。.NET Standard 2.0 プロファイルは、従来のスクリプティングランタイムからの .NET 2.0 と .NET 2.0 Subset プロファイルと関連がないため、少し誤解を招く可能性があります。そうではなく、.NET Standard 2.0 プロファイルに対する Unity のサポートは、.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 | サポートなし | サポートなし |
ノート:
証明書の検証は、使用可能な場合は、プラットフォーム特有の証明書ストアによって自動的に行われます。証明書ストアへアクセスできない場合、Unity は埋め込まれたルート証明書ストアを利用します。
.NET 3.5 以下の TLS サポートはプラットフォームごとに異なり、どの機能がサポートされているかは保証されていません。