# サードパーティ製のコードライブラリ (プラグイン) の統合

> Add third-party code libraries to your Unity project.

Unity では、通常は **スクリプト** を使用して機能を作成しますが、Unity の外で作成したコードを **プラグイン** 形式で追加することもできます。Unity で使用できるプラグインには、以下の 2 種類があります。

* **マネージプラグイン**: Visual Studio などのツールで作成された [マネージ .NET アセンブリ](/engine/6000.0/manual/scripting/environment-and-tools/overview-of-dot-net-in-unity/dotnet-profile-support.md) です。.NET コードのみが含まれているため、.NET ライブラリでサポートされていない機能にはアクセスできません。詳細は、[Microsoft のマネージコードに関するドキュメント](https://docs.microsoft.com/en-us/dotnet/standard/managed-code) を参照してください。
* **ネイティブプラグイン**: プラットフォーム固有のネイティブコードライブラリです。システムコールやサードパティのコードライブラリなど、元々 Unity で使用できない機能にアクセスできます。

マネージコードは、Unity がスクリプトのコンパイルに使用する標準の .NET ツールにアクセスできます。マネージプラグインコードと Unity スクリプトコードの唯一の違いは、プラグインは Unity の外部でコンパイルされるため、Unity がソースにアクセスできない可能性があることです。ネイティブプラグインを使用する場合、Unity のツールは、マネージライブラリにアクセスするのと同じようにはサードパーティのコードライブラリにアクセスできません。例えば、マネージプラグインファイルをプロジェクトに追加し忘れた場合、標準的なコンパイラーのエラーメッセージが表示されます。一方、ネイティブプラグインファイルをプロジェクトに追加し忘れると、プロジェクトを実行しようとしたときにエラーレポートが表示されるだけです。

以下のページでは、Unity プロジェクトでプラグインを作成し、使用する方法について説明します。

| **トピック**                                                                                                                   | **説明**                                  |
| -------------------------------------------------------------------------------------------------------------------------- | --------------------------------------- |
| [プラグインのインポートと設定](/engine/6000.0/manual/scripting/compilation-and-code-reload/plug-ins/plug-in-inspector.md)                | マネージプラグインまたはネイティブプラグインのインポートと設定。        |
| [# マネージプラグイン](/engine/6000.0/manual/scripting/compilation-and-code-reload/plug-ins/managed.md)                             | マネージプラグインの使用に関する詳細。                     |
| [ネイティブプラグイン](/engine/6000.0/manual/scripting/compilation-and-code-reload/plug-ins/native.md)                               | ネイティブプラグインの使用に関する詳細。                    |
| [デスクトッププラットフォーム用プラグインのビルド](/engine/6000.0/manual/scripting/compilation-and-code-reload/plug-ins/for-desktop.md)            | macOS、Windows、Linux 用のネイティブコードをデプロイします。 |
| [低レベルのネイティブプラグインインターフェース](/engine/6000.0/manual/scripting/compilation-and-code-reload/plug-ins/native-plugin-interface.md) | ネイティブプラグインに低レベルのレンダリングを実装します。           |

## 追加リソース##additional-resources

* [Unity .NET の機能](/engine/6000.0/manual/scripting/environment-and-tools/overview-of-dot-net-in-unity.md)
