# 埋め込み Linux 用プラグインの自動検出

> Detect plug-ins automatically for Embedded Linux.

Unity は埋め込み Linux 用のプラグインを自動的に検出します。プラグインをインポートすると、Unity は各プラグインのメタデータファイルを作成します。例えば、共有オブジェクトと共有ライブラリの `.so`、アーカイブファイルの `.a` などです。これらのメタデータファイルには、ターゲットアーキテクチャやプラットフォームなどのプラグイン情報が含まれます。Unity ビルドシステムは、これらのメタデータファイルを参照して、ビルドプロセス中にどのファイルをコピーするかを追跡します。

1 つのプロジェクトに同じ名前の共有ライブラリが複数存在することができます。例えば、同じプロジェクトに x86\_64 の `libFoo.so` と ARM64 の `libFoo.so` が存在できます。Unity はビルドターゲットの正しい `libFoo.so` を検出し、プレイヤービルドにコピーするためです。

これらのファイルは Unity エディターで手動で編集できます。ただし、プロジェクトの `Plugins` フォルダーにプラグインを手動で追加する必要はありません。代わりに、プロジェクトディレクトリのプロジェクトの `Assets/Plugins/EmbeddedLinux` フォルダー下にある特別なフォルダーに配置すると、インポート時に Unity が自動的にプラットフォームとアーキテクチャを検出して設定します。

## 自動検出ルール##auto-detection-rules

Unity は、以下のルールに基づいて、埋め込み Linux 用のプラグインを自動的に検出します。

* **アーキテクチャ固有フォルダ**: プラグインを `Assets/Plugins/EmbeddedLinux/<arch>` の下に配置します。`<arch>` は x86、x86\_64、ARM、または ARM64 です。Unity は、それぞれのターゲットアーキテクチャ用のアプリケーションをビルドするときにのみ、これらのプラグインをコピーします。例えば、プラグインを `Assets/Plugins/EmbeddedLinux/x86_64` の下に配置した場合、Unity は x86\_64 用にビルドするときにのみ、そのプラグインをプレイヤービルドにコピーします。

* **アーキテクチャなしプラグイン**: アーキテクチャを持たないプラグインを `Assets/Plugins/EmbeddedLinux` の下に配置し、それぞれの ELF ヘッダーを通じてターゲットアーキテクチャがチェックされ、適切なアーキテクチャが割り当てられるようにします。
