# パッケージレイアウト

> Follow the recommended folder structure for the manifest, Editor and Runtime assemblies, tests, samples, and documentation.

カスタムパッケージに推奨するパッケージレイアウトです。

```
<package-root>
  ├── package.json
  ├── README.md
  ├── CHANGELOG.md
  ├── LICENSE.md
  ├── Third Party Notices.md
  ├── Editor
  │   ├── <company-name>.<package-name>.Editor.asmdef
  │   └── EditorExample.cs
  ├── Runtime
  │   ├── <company-name>.<package-name>.asmdef
  │   └── RuntimeExample.cs
  ├── Tests
  │   ├── Editor
  │   │   ├── <company-name>.<package-name>.Editor.Tests.asmdef
  │   │   └── EditorExampleTest.cs
  │   └── Runtime
  │        ├── <company-name>.<package-name>.Tests.asmdef
  │        └── RuntimeExampleTest.cs
  ├── Samples~
  │        ├── SampleFolder1
  │        ├── SampleFolder2
  │        └── ...
  └── Documentation~
       └── <package-name>.md
```

多くの公式 Unity パッケージでこの構成が採用されています。

| **Location**             | **説明**                                                                                                                                                                                                                  |
| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `package.json`           | [パッケージマニフェスト](/engine/6000.0/manual/packages-list/custom-packages/upm-manifest-pkg.md)。パッケージの依存関係とその他のメタデータを定義します。                                                                                                      |
| `README.md`              | 開発者パッケージドキュメント。これは一般に、開発者がパッケージを変更したり、新しい変更をパッケージのメインブランチにプッシュするのを支援するドキュメントです。                                                                                                                                         |
| `CHANGELOG.md`           | 逆時系列でのパッケージの変更の説明。[変更履歴を記録する](http://keepachangelog.com/en/1.0.0/) のような標準的な形式を使用することが推奨されます。                                                                                                                            |
| `LICENSE.md`             | [パッケージライセンステキスト](/engine/6000.0/manual/packages-list/custom-packages/cus-legal.md) が含まれます。通常、Package Manager は選択した [SPDX リストのウェブサイト](https://spdx.org/licenses/) からテキストをコピーします。                                         |
| `Third Party Notices.md` | [法的要件](/engine/6000.0/manual/packages-list/custom-packages/cus-legal.md) を満たすために必要な情報が含まれています。                                                                                                                          |
| `Editor/`                | エディターのプラットフォーム固有のアセットフォルダー。Assets 下の Editor フォルダーとは異なり、これは規則にすぎず、アセットのインポートパイプラインには影響しません。エディター固有のアセンブリをこのフォルダーに正しく設定するには、[アセンブリ定義とパッケージ](/engine/6000.0/manual/packages-list/custom-packages/cus-asmdef.md) を参照してください。 |
| `Runtime/`               | ランタイムのプラットフォーム固有のアセットフォルダー。これは規則にすぎず、アセットのインポートパイプラインには影響しません。ランタイムアセンブリをこのフォルダーに正しく設定するには、[アセンブリ定義とパッケージ](/engine/6000.0/manual/packages-list/custom-packages/cus-asmdef.md) を参照してください。                                |
| `Tests/`                 | [パッケージに含まれるテスト](/engine/6000.0/manual/packages-list/custom-packages/cus-tests.md) を保存するフォルダー。                                                                                                                           |
| `Tests/Editor/`          | エディタープラットフォーム固有のテストフォルダー。エディター固有のテストアセンブリをこのフォルダーに正しく設定するには、[アセンブリ定義とパッケージ](/engine/6000.0/manual/packages-list/custom-packages/cus-asmdef.md) を参照してください。                                                               |
| `Tests/Runtime/`         | ランタイムのプラットフォーム固有のテスト。ランタイムテストアセンブリをこのフォルダーに正しく設定するには、[アセンブリ定義とパッケージ](/engine/6000.0/manual/packages-list/custom-packages/cus-asmdef.md) を参照してください。                                                                      |
| `Samples~/`              | [パッケージに含まれるサンプル](/engine/6000.0/manual/packages-list/custom-packages/cus-samples.md) を保存するフォルダー。                                                                                                                        |
| `Documentation~`         | [パッケージに含まれるドキュメント](/engine/6000.0/manual/packages-list/custom-packages/cus-document.md) を保存するフォルダー。                                                                                                                     |

Unity は `~` の文字で終わるフォルダー名のコンテンツを無視し、`.meta` ファイルで追跡しません。ただし、`Editor`、`Runtime`、`Tests` フォルダーとそのコンテンツが正しく動作するためには、`.meta` ファイルを含む必要があります。`.meta` ファイルと、Unity がそれをトラッキングに使用する方法についての詳細は、[アセットワークフロー](/engine/6000.0/manual/working-in-unity/assets-and-media/asset-workflow.md) を参照してください。
