# 패키지용 샘플 생성

> Include optional samples that help users learn the package and import example content.

Unity 에디터 버전 2019.1부터 패키지에 샘플을 추가할 수 있습니다. 샘플은 일반적으로 프로젝트의 `Assets` 폴더에서 찾을 수 있는 예제 코드, 몇 가지 셰이더와 텍스처, 일부 애니메이션 또는 다른 파일이 될 수도 있습니다.

패키지 관리자 창을 열고 샘플이 포함된 패키지를 선택하면 패키지의 각 샘플에 대한 패키지의 [세부 정보 패널](/engine/6000.0/manual/packages-list/packages/upm-ui/details.md)에 **Import** 버튼이 나타납니다. **Import**를 선택하면 패키지 관리자는 해당 샘플의 전체 하위 폴더 구조를 프로젝트의 `Assets` 폴더 아래에 복사합니다.

패키지에 샘플을 추가하려면 다음 단계를 따르십시오.

1. 에셋 파일이나 예시 C# 코드 파일을 [Samples\~ 폴더 아래](#sample-subfolder)에 놓습니다. 패키지에는 두 개 이상의 샘플이 있을 수 있으며, `Samples~` 폴더의 각 하위 폴더에는 하나의 샘플이 있습니다.

   **참고**: 물결표 문자(`~`)는 Unity에 `Samples~` 폴더의 콘텐츠를 무시하도록 지시합니다. 이러한 폴더는 `.meta` 파일로 추적되지 않습니다.

2. `package.json` 매니페스트 파일의 `samples` 배열 아래에 [각 샘플에 대한 JSON 객체](#sample-manifest)를 추가합니다.

## 샘플 파일의 위치

패키지 `Samples~` 폴더의 하위 폴더 아래에 샘플 에셋을 추가할 수 있습니다. 예를 들어 셰이더 샘플이 있는 패키지는 다음과 같이 표시될 수 있습니다.

```
MyPackage
  ├── package.json
  └── Samples~
        ├── SamplesHDRP
        │    ├── Textures
        │    |     ├── MossyRock.bmp
        │    |     └── SandyRock.bmp
        │    └── Shader
        │          ├── Lit Texture Blend HDRP.ShaderGraph
        │          └── Lit Vertex Color HDRP.ShaderGraph
        └── SamplesStandard
        │    ├── Textures
        │    |     ├── MossyRock.bmp
        │    |     └── SandyRock.bmp
        │    └── Shader
        │          ├── StandardTextureBlend.shader
        │          └── StandardVertexColor.shader
        └── SamplesUniversalRP
             ├── Textures
             |     ├── MossyRock.bmp
             |     └── SandyRock.bmp
             └── Shader
                   ├── Lit Texture Blend URP.ShaderGraph
                   └── Lit Vertex Color URP.ShaderGraph
```

## 매니페스트에 샘플 포함

`samples`라는 JSON 배열을 `package.json` 파일에 추가합니다. 각 샘플에 대해 `displayName` 및 `path`가 포함된 JSON 객체를 샘플 폴더에 추가합니다.

| **키**         | **설명**                                                                       |
| ------------- | ---------------------------------------------------------------------------- |
| `displayName` | 패키지 관리자 창의 패키지 세부 정보에 표시되는 샘플 이름입니다.                                         |
| `description` | 샘플이 무엇을 나타내거나 포함하는지 간략하게 설명합니다. 이는 패키지 매니페스트용입니다 설명은 툴팁으로도 인터페이스에 표시되지 않습니다. |
| `path`        | `Samples~` 폴더에서 샘플의 루트 폴더까지의 경로입니다.                                          |

예를 들어 [샘플 파일의 위치](#sample-subfolder)에 대한 예시로 동일한 구조를 사용하면 `samples` 섹션은 다음과 유사하게 보입니다.

```lang-json
{
	"samples": [
		{
			"displayName": "HDRP Shaders",
			"description": "Contains sample shaders for the High Definition render pipeline",
			"path": "Samples~/SamplesHDRP"
		},
		{
			"displayName": "URP Shaders",
			"description": "Contains sample shaders for the Universal render pipeline",
			"path": "Samples~/SamplesUniversalRP"
		},
		{
			"displayName": "Standard RP Shaders",
			"description": "Contains sample shaders for the Standard render pipeline",
			"path": "Samples~/SamplesStandard"
		}
	]
}
```
