# 웹 플레이어 설정

> Refer to the UI description of Web Player settings.

최종 웹 애플리케이션을 Unity가 어떻게 [빌드](/engine/6000.0/manual/platform-specific/webgl/building-distribution/building.md)하고 표시하는지 알아보려면 **플레이어** 설정을 사용합니다. 일반적인 **플레이어** 설정에 대한 자세한 내용은 [플레이어 설정](/engine/6000.0/manual/unity-editor/editor-features/comp-manager-group/class-player-settings.md#general)을 참조하십시오.

웹 플레이어 설정에 액세스하려면 다음을 따릅니다.

* Unity 메인 메뉴에서 **Edit** > **Project Settings** > **Player**로 이동합니다. 그러면 **Player** 설정 창이 표시됩니다.
* **Web** 탭을 선택하여 웹 플레이어 설정을 엽니다.


**웹 플레이어 설정:**
![](/api/media?file=/engine/6000.0/media/images/class-PlayerSettingsWebGL.png)

프로퍼티 관련 문서는 다음 섹션에서 확인하십시오.

* [Resolution and Presentation](#Resolution)
* [Splash Image](#Splash)
* [Other Settings](#Other)
* [Publishing Settings](#Publishing)

**참고:** 웹 **플레이어** 설정에 **Icon** 패널이 표시되더라도 웹 게임은 아이콘을 사용하지 않으므로 아이콘 설정을 사용할 수 없습니다.

웹 **Publishing Settings**에 대한 자세한 내용은 [웹 빌드 및 실행](/engine/6000.0/manual/platform-specific/webgl/building-distribution/building.md)을 참조하십시오.

## Resolution and Presentation##resolution-and-presentation

**Resolution and Presentation** 섹션에서는 [Resolution](#resolution) 섹션에 화면이 표시되는 모습을 커스터마이즈할 수 있습니다.


**웹 플레이어 플랫폼을 위한 Resolution 섹션:**
![](/api/media?file=/engine/6000.0/media/images/WebGLResolutionandPresentationWindow.png)

### Resolution##resolution

다음 옵션을 편집하여 화면 모드와 웹 캔버스 요소의 기본 크기를 커스터마이즈할 수 있습니다.

| **설정**                    | **기능**                                                |
| ------------------------- | ----------------------------------------------------- |
| **Default Canvas Width**  | 웹 캔버스 요소의 너비를 설정합니다.                                  |
| **Default Canvas Height** | 웹 캔버스 요소의 높이를 설정합니다.                                  |
| **Run In Background**     | 캔버스나 브라우저 창이 초점을 잃어도 콘텐츠가 계속해서 실행되게 하려면 이 옵션을 활성화합니다. |

### 웹 템플릿##web-template

웹 프로젝트에 사용할 템플릿을 선택합니다.

* **Default** 페이지는 회색 캔버스에 로딩 바가 표시되는 단순한 흰색 페이지입니다.
* **Minimal** 페이지는 웹 콘텐츠 실행에 필요한 필수 보일러플레이트 코드만 있습니다.
* **PWA** 페이지에는 웹 매니페스트 파일과 서비스 워커 코드가 포함된 **Progressive Web App** 이 있습니다.

[웹 템플릿](/engine/6000.0/manual/platform-specific/webgl/building-distribution/templates.md)의 지침을 사용하면 자체 템플릿을 사용하여 완성된 게임과 비슷한 환경에서 게임을 실행할 수 있습니다.

## Splash Image##splash-image

[XR](/engine/6000.0/manual/platform-specific/xr.md) 디스플레이에 표시될 커스텀 스플래시 이미지를 선택하려면 **Virtual Reality Splash Image** 설정을 사용하십시오. 일반적인 스플래시 화면 설정에 대한 자세한 내용은 [스플래시 화면](/engine/6000.0/manual/unity-editor/editor-features/comp-manager-group/class-player-settings/splash-screen.md)을 참조하십시오.


**가상 현실용 스플래시 화면 설정:**
![](/api/media?file=/engine/6000.0/media/images/PlayerSetPCSplash.png)

## Other Settings##other-settings

이 섹션에서는 다음 그룹으로 분류된 다양한 옵션을 커스터마이즈할 수 있습니다.

* [Rendering](#Rendering)
* [Configuration](#Configuration)
* [Shader Variant Loading](#ShaderVariantLoading)
* [Optimization](#Optimization)
* [Stack Trace](#Logging)
* [Legacy](#Legacy)

### Rendering##rendering

다음 설정을 사용하여 Unity가 웹 플랫폼용으로 게임을 렌더링하는 방법을 커스터마이즈합니다.


**웹 플랫폼용 렌더링 플레이어 설정:**
![](/api/media?file=/engine/6000.0/media/images/PlayerSetWebGLOther-Rendering.png)

| **설정**                         |   | **기능**                                                                                                                                                                                                                                                                                                                                                                     |
| ------------------------------ | - | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Color Space**                |   | 렌더링에 사용할 색 공간을 *Gamma* 또는 *Linear* 중에서 선택합니다.두 옵션의 차이점을 알아보려면 [리니어 렌더링 개요](/engine/6000.0/manual/rendering-and-post-processing/graphics-color/color-spaces.md)를 참조하십시오.                                                                                                                                                                                                    |
| **Auto Graphics API**          |   | 그래픽스 API를 수동으로 선택하고 순서를 변경하려면 이 옵션을 비활성화합니다. 기본적으로 이 옵션은 활성화되어 있고, Unity에는 WebGL2.0이 포함되어 있으며, WebGL2.0이 지원되지 않는 기기를 위한 폴백으로 WebGL1.0이 제공됩니다.                                                                                                                                                                                                                              |
| **Static Batching**            |   | 정적 배칭을 사용하려면 이 옵션을 활성화합니다.                                                                                                                                                                                                                                                                                                                                                 |
| **Dynamic Batching**           |   | 빌드에 [동적 배칭](/engine/6000.0/manual/rendering-and-post-processing/graphics-performance-profiling/reduce-draw-calls/draw-call-batching/draw-call-batching.md)을 사용하려면 이 체크박스를 선택합니다(기본적으로 활성화되어 있음).                                                                                                                                                                           |
| **Graphics Jobs**              |   | 그래픽스 작업(루프 렌더)을 다른 CPU 코어에서 실행 중인 워커 스레드에 오프로드하도록 Unity를 설정하려면 이 옵션을 활성화합니다. 병목 현상이 자주 발생하는 메인 스레드에서 `Camera.Render`에 소비하는 시간을 줄이기 위해 사용합니다.**참고:** 이 기능은 실험 단계에 있습니다. 프로젝트의 성능이 개선되지 않을 수 있으며, 새로운 크래시가 발생할 수 있습니다.                                                                                                                                                       |
| **Texture compression format** |   | **DXT**, **ETC2**, **ASTC** 중에 선택하여 웹 플랫폼의 텍스처 압축 포맷을 설정합니다. 올바른 포맷을 선택하는 방법에 대한 자세한 내용은 [텍스처 압축 포맷 개요](/engine/6000.0/manual/materials-and-shaders/textures/textures-getting-started/texture-compression-formats.md)를 참조하고 스크립트에서 데스크톱 및 모바일 브라우저용 빌드를 생성하는 방법을 알아보려면 [웹에서 텍스처 압축](/engine/6000.0/manual/platform-specific/webgl/develop/texture-compression.md)을 참조하십시오. |
| **Lightmap Encoding**          |   | 라이트맵 인코딩을 *Low Quality*, *Normal Quality*, *High Quality* 중에서 선택하여 설정합니다. 이는 라이트맵의 인코딩 방식과 압축 포맷에 영향을 줍니다. 자세한 내용은 [라이트맵: 기술 정보](/engine/6000.0/manual/lighting-overview/direct-and-indirect-lighting/lightmap-data/lightmaps-technical-information.md)를 참조하십시오.                                                                                                           |
| **HDR Cubemap Encoding**       |   | HDR 큐브맵 인코딩을 *Low Quality*, *Normal Quality*, *High Quality* 중에서 선택하여 설정합니다. 이 설정은 HDR 큐브맵의 인코딩 방식 및 압축 포맷에 영향을 줍니다.                                                                                                                                                                                                                                                       |
| **Lightmap Streaming Enabled** |   | 라이트맵에 [밉맵 스트리밍](/engine/6000.0/manual/materials-and-shaders/textures/texture-loading/texture-streaming.md)을 사용할지 선택합니다. Unity는 라이트맵을 생성할 때 모든 라이트맵에 이 설정을 적용합니다.**참고:** 이 설정을 사용하려면 [Texture Mipmap Streaming Quality](/engine/6000.0/manual/unity-editor/editor-features/comp-manager-group/class-quality-settings.md#texStream) 설정을 활성화해야 합니다.                           |
| **Streaming Priority**         |   | [밉맵 스트리밍 시스템](/engine/6000.0/manual/materials-and-shaders/textures/texture-loading/texture-streaming.md)의 모든 라이트맵에 대한 우선 순위를 설정합니다. Unity는 라이트맵을 생성할 때 모든 라이트맵에 이 설정을 적용합니다.양수의 우선 순위가 더 높습니다. 유효한 값은 -128부터 127까지입니다.                                                                                                                                                     |
| **Frame Timing Stats**         |   | CPU/GPU 프레임 타이밍 통계를 수집하려면 이 옵션을 활성화합니다.                                                                                                                                                                                                                                                                                                                                    |
| **Virtual Texturing**          |   | [가상 텍스처링](/engine/6000.0/manual/materials-and-shaders/textures/texture-loading/svt-streaming-virtual-texturing.md)을 활성화할지 나타냅니다.**참고**: 이 설정이 적용되려면 Unity 에디터를 다시 시작해야 합니다.                                                                                                                                                                                                |
| **Shader Precision Model**     |   | 샘플러의 기본 정밀도와 셰이더에 사용되는 `half`의 정의를 선택합니다. 자세한 내용은 [ShaderPrecisionModel](/engine/6000.0/script-reference/unity-editor/shader-precision-model.md)을 참조하십시오.                                                                                                                                                                                                                  |
| **360 Stereo Capture**         |   | Unity가 스테레오 360 이미지 및 동영상을 캡처할 수 있는지 지정합니다. 활성화하면 Unity가 추가 셰이더 배리언트를 컴파일하여 360 캡처를 지원합니다(현재는 Windows/OSX만 해당). `enable_360_capture` 키워드는 [`RenderToCubemap`](/engine/6000.0/script-reference/unity-engine/camera/render-to-cubemap.md) 호출 중에 추가되지만 이 함수 외부에서는 트리거되지 않습니다.                                                                                                 |

### Configuration##configuration


**웹 플랫폼용 Configuration 설정:**
![](/api/media?file=/engine/6000.0/media/images/PlayerSetWebGLOther-Config.png)

{ /*  This table uses single sourcing. For information on how to edit it, see https://confluence.unity3d.com/display/DOCS/Single-sourcing+table+rows.  */ }

| **프로퍼티** | **설명** |
| -------- | ------ |

#### Shader Variant Loading##shader-variant-loading

이 설정을 사용하여 런타임에 셰이더가 사용하는 메모리 양을 제어할 수 있습니다.

| **프로퍼티**                    | **설명**                                                                                                                                                                                                                                            |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Default chunk size (MB)** | 모든 플랫폼에 Unity가 빌드된 애플리케이션에 저장하는 압축된 셰이더 배리언트 데이터 청크의 최대 크기를 설정합니다. 기본값은 `16`입니다. 자세한 내용은 [셰이더 로딩](/engine/6000.0/manual/materials-and-shaders/shaders/shader-troubleshooting/shader-reduce-stalling/shader-loading.md.md#dynamicloading)을 참조하십시오. |
| **Default chunk count**     | Unity가 모든 플랫폼에서 메모리에 보관하는 압축 해제된 청크의 기본 제한을 설정합니다. 기본값은 `0`이므로 제한이 없습니다.                                                                                                                                                                          |
| **Override**                | 이 빌드 타겟에 **Default chunk size** 및 **Default chunk count** 를 오버라이드할 수 있습니다.                                                                                                                                                                        |
| **Chunk size (MB)**         | 이 빌드 타겟에서 **Default chunk size (MB)** 값을 오버라이드합니다.                                                                                                                                                                                                |
| **Chunk count**             | 이 빌드 타겟에서 **Default chunk count** 값을 오버라이드합니다.                                                                                                                                                                                                    |

#### API 호환성 수준##api-compatibility-level

모든 타겟에 모노 API 호환성 레벨을 선택할 수 있습니다. 타사 .NET 라이브러리가 .NET 호환성 레벨을 벗어난 기능을 사용하는 경우도 있습니다. 이러한 경우 발생하는 상황과 문제를 해결하는 방법을 이해하려면 다음 제안을 따르십시오.

1. Windows용 [ILSpy](https://www.microsoft.com/en-us/p/ilspy/9mxfbkfvsq13?cid=msft_web_chart\&activetab=pivot:overviewtab)를 설치합니다.
2. 문제가 있는 API 호환성 수준의 .NET 어셈블리를 ILSpy로 드래그합니다. `Frameworks/Mono/lib/mono/YOURSUBSET/`에서 문제가 있는 파일을 찾을 수 있습니다.
3. 타사 어셈블리를 드래그합니다.
4. 타사 어셈블리를 오른쪽 클릭하고 **Analyze**를 선택합니다.
5. 분석 보고서에서 **Depends on** 섹션을 확인합니다. 타사 어셈블리가 의존하고 있지만 선택한 .NET 호환성 레벨에서 사용할 수 없는 항목은 빨간색으로 강조 표시됩니다.

### 스크립트 컴파일##script-compilation


**웹 플랫폼용 스크립트 컴파일 설정:**
![](/api/media?file=/engine/6000.0/media/images/ProjectSettingsScriptCompilation.png)

| **프로퍼티**                          | **설명**                                                                                                                                                                                                                                               |
| --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Scripting Define Symbols**      | 커스텀 컴파일 플래그를 설정합니다.자세한 내용은 [플랫폼별 컴파일](/engine/6000.0/manual/platform-dependent-compilation.md.md)을 참조하십시오.                                                                                                                                           |
| **Additional Compiler Arguments** | 이 리스트에 엔트리를 추가하여 Roslyn 컴파일러에 추가 인자를 전달합니다. 각 추가 인수에 하나의 새 엔트리를 사용합니다.새 항목을 만들려면 **Add**(**+**)를 클릭합니다. 항목을 제거하려면 **Remove**(**-**)를 클릭합니다.원하는 인자를 모두 추가한 후, 추가 인자를 향후 컴파일에 포함하려면 **Apply**를 클릭합니다. 이 리스트를 가장 최근에 적용된 상태로 초기화하려면 **Revert**를 클릭합니다.  |
| **Suppress Common Warnings**      | C# 경고 [CS0169](https://docs.microsoft.com/en-us/dotnet/csharp/misc/cs0169) 및 [CS0649](https://docs.microsoft.com/en-us/dotnet/csharp/misc/CS0649)를 표시할지 여부를 나타냅니다.                                                                                   |
| **Allow 'unsafe' Code**           | 사전 정의된 어셈블리(예: `Assembly-CSharp.dll`)에서 ['안전하지 않은' C# 코드](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/unsafe) 컴파일에 대한 지원을 활성화합니다.어셈블리 정의 파일(`.asmdef`)의 경우 `.asmdef` 파일 중 하나를 클릭하고 인스펙터 창에 표시되는 옵션을 활성화합니다.           |
| **Use Deterministic Compilation** | -deterministic C# 플래그로 컴파일을 방지할지 여부를 나타냅니다. 이 설정을 활성화하면 컴파일된 어셈블리는 컴파일될 때마다 바이트단위로 동일합니다.자세한 내용은 [코드 생성을 제어하는 C# 컴파일러 옵션](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/deterministic-compiler-option)을 참조하십시오. |

### Optimization##optimization


**웹 플랫폼용 Optimization 설정:**
![](/api/media?file=/engine/6000.0/media/images/PlayerSetWebGLOther-Optimization.png)

{ /*  This table uses single sourcing. For information on how to edit it, see https://confluence.unity3d.com/display/DOCS/Single-sourcing+table+rows.  */ }

| **프로퍼티** | **설명** |
| -------- | ------ |

### Stack Trace##stack-trace

웹 플랫폼의 로깅 설정을 선택합니다.


**웹 플랫폼용 로깅 설정:**
![](/api/media?file=/engine/6000.0/media/images/PlayerSetPCOther-Logging.png)

필요한 로깅 유형에 따라 각 로그 유형(**Error**, **Assert**, **Warning**, **Log**, **Exception**)에 해당하는 옵션을 활성화하여 원하는 스택 추적 메서드를 선택합니다. 자세한 내용은 [스택 추적 로깅](/engine/6000.0/manual/stack-trace.md.md)을 참조하십시오.

| **프로퍼티**       | **설명**              |
| -------------- | ------------------- |
| **None**       | 어떤 로그도 기록하지 않습니다.   |
| **ScriptOnly** | 스크립트를 실행할 때만 로그합니다. |
| **Full**       | 항상 로그합니다.           |

### Legacy##legacy

[스킨드 메시 렌더러](/engine/6000.0/manual/working-in-unity/working-with-gameobjects/mesh/components-reference/class-skinned-mesh-renderer.md)의 블렌드 셰이프 가중치 범위를 고정하려면 **Clamp BlendShapes (Deprecated)** 옵션을 활성화합니다.


**웹 플랫폼용 Legacy 설정:**
![](/api/media?file=/engine/6000.0/media/images/PlayerSetPCOther-Legacy.png)

## Publishing Settings##publishing-settings

Publishing Settings를 사용하여 Unity가 웹 플랫폼 애플리케이션을 빌드하는 방식을 설정합니다. 예를 들어 브라우저 캐시를 활성화하여 파일을 빌드에 저장할 수 있습니다.


**웹 플랫폼용 Publishing Settings:**
![](/api/media?file=/engine/6000.0/media/images/WebGLBuilding-PublishingSettings.png)

| **프로퍼티**                   |                      | **설명**                                                                                                                                                                                           |
| -------------------------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Compression Format**     |                      | 릴리스 빌드 파일에 사용할 압축 포맷을 선택합니다. 제공되는 옵션은 Gzip, Brotli, Disabled (none)입니다. 이 옵션은 개발 빌드에 영향을 주지 않습니다.                                                                                                |
| **Name Files As Hashes**   |                      | 압축되지 않은 파일 콘텐츠의 MD5 해시를 빌드 내 각 파일의 파일 이름으로 사용하려면 이 옵션을 활성화합니다.                                                                                                                                   |
| **Data caching**           |                      | 이 옵션을 활성화하면 콘텐츠 에셋 데이터가 사용자의 컴퓨터에 자동으로 캐시되므로 콘텐츠가 변경되지 않는 한 이후 실행 시 다시 다운로드할 필요가 없습니다.캐싱은 브라우저에서 제공하는 IndexedDB API를 사용하여 구현됩니다. 일부 브라우저는 특정 크기의 데이터를 캐싱할 수 있는 권한을 사용자에게 요청하는 등의 제한을 적용할 수 있습니다. |
| **Debug Symbols**          |                      | 사용 가능한 옵션 중에서 선택하여 빌드에 디버그 심볼을 추가하는 방법을 지정할 수 있습니다.                                                                                                                                              |
|                            | **Off**              | 빌드에 디버그 심볼을 추가하지 않으려면 이 옵션을 선택합니다.                                                                                                                                                               |
|                            | **External**         | 오류 발생 시 서버에서 다운로드할 수 있는 별도의 파일에 디버그 심볼을 저장하려면 이 옵션을 선택합니다. 릴리스 빌드의 경우 이 옵션을 선택하는 것이 권장됩니다.                                                                                                       |
|                            | **Embedded**         | 디버그 심볼을 WASM 파일에 포함하려면 이 옵션을 선택합니다. 이 옵션을 사용하면 오류 발생 시 디버그 심볼을 보존하고 스택 추적을 디맹글링(원본 함수 이름 표시)할 수 있습니다. 기본적으로 이 옵션에는 디맹글링 지원이 가능합니다.                                                               |
| **Decompression Fallback** |                      | 로더에 빌드 파일에 대한 압축 풀기 폴백 코드를 포함합니다. 선택한 압축 방식에 따라 서버 응답 헤더를 설정할 수 없는 경우 이 옵션을 사용합니다.                                                                                                               |
| **Power Preference**       |                      | 멀티 GPU 기기에서 렌더링할 때 사용할 GPU에 대한 환경 설정을 설정합니다. 브라우저가 이 환경 설정을 무시할 수 있습니다.                                                                                                                          |
|                            | **Default**          | 브라우저가 GPU 설정을 선택하도록 합니다.                                                                                                                                                                         |
|                            | **Low Performance**  | 브라우저가 내장된 GPU를 사용하여 전력 절감에 우선 순위를 지정하도록 요청합니다.                                                                                                                                                   |
|                            | **High Performance** | 브라우저가 외부 GPU를 사용하여 렌더링 성능의 우선 순위를 지정하도록 요청합니다.                                                                                                                                                   |

### WebAssembly 언어 기능##webassembly-language-features

이 섹션을 사용하여 웹 애플리케이션에 대한 WebAssembly 언어 기능을 커스터마이즈합니다.

| **프로퍼티**                               |                                            | **설명**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| -------------------------------------- | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Enable Exceptions**                  |                                            | 런타임 시 예기치 않은 코드 동작(일반적으로 오류로 간주됨)을 처리하는 방식을 선택합니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|                                        | **None**                                   | 예외가 발생하면 오류가 표시되면서 콘텐츠가 중지됩니다.예외 지원이 필요하지 않은 경우 이 옵션을 선택합니다. 최상의 성능을 제공하고 가장 작은 용량으로 빌드할 수 있습니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|                                        | **Explicitly Thrown Exceptions Only**(기본값) | 스크립트의 `throw` 문에서 명시적으로 지정된 예외를 캡처하고 `finally` 블록이 호출되는지 확인합니다.이 옵션을 사용하면 스크립트에서 생성된 JavaScript 코드가 더 길고 느려집니다. 스크립트가 프로젝트의 주된 병목 현상인 경우에만 문제가 될 수 있습니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|                                        | **Full Without Stacktrace**                | 스크립트, Null 레퍼런스, 바운드 외 배열 액세스의 `throw` 문에서 명시적으로 지정된 예외를 캡처합니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|                                        | **Full With Stacktrace**                   | **Full Without Stacktrace**와 동일하지만 스택 트레이스를 캡처합니다.Unity는 코드에 예외 검사를 내장하여 이러한 예외를 생성하므로 이 옵션을 선택하면 성능이 저하되고 브라우저 메모리 사용량이 증가합니다. 디버깅 시에만 이 옵션을 사용하고 항상 64비트 브라우저에서 테스트합니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| **Enable Native C/C++ Multithreading** |                                            | WebAssembly/SharedArrayBuffer 멀티스레딩을 타게팅하는 네이티브 Unity C/C++ 엔진 코드를 사용하려면 이 옵션을 활성화합니다(실험 단계). 멀티스레딩 C# 코드를 활성화하지 않으므로 WebAssembly 언어 표준을 향상해야 합니다. 이 옵션을 비활성화하고 향후 웹 기능을 평가하는 데만 사용하는 것이 좋습니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| **Enable WebAssembly 2023**            |                                            | 이 옵션을 활성화하면 생성된 WebAssembly 코드가 WebAssembly 2023를 타게팅하며, WebAssembly 2023는 최신 WebAssembly 언어 기능 중 일부를 선택적으로 포함한 버전을 나타내는, Unity가 명명한 이름입니다. 이러한 기능에는 기호 확장 옵코드, 트래핑되지 않는 fp-to-int 명령어, 일괄 메모리, JS BigInt 통합, `WebAssembly.Table`, 네이티브 WebAssembly 예외, SIMD(Chrome ≥ 91(2021년 5월), Firefox ≥ 89(2021년 6월) 또는 Safari ≥ 16.4(2023년 3월) 필요)가 포함됩니다. 비활성화하면 기존 WebAssembly **MVP** 기능 집합을 타게팅합니다.                                                                                                                                                                                                                                                                                                                            |
| **Use WebAssembly.Table**              |                                            | 웹 빌드가 JS-Wasm 인터롭 및 빌드 시간을 단축하기 위해 `WebAssembly.Table` 언어 기능을 타게팅하도록 하려면 이 옵션을 활성화합니다. 이 옵션을 비활성화하면 웹 빌드가 이전 Unity Web JS 플러그인 버전과의 호환성을 위해 지원이 중단된 이전 Emscripten `-sDYNCALLS` 모델을 타게팅합니다. 이전 버전과 호환되지 않는 JavaScript 플러그인을 사용하지 않는 새 프로젝트에는 이 옵션을 활성화하고 이전의 `dynCall()` 메커니즘에 의존하는 `.jslib` 파일을 사용하는 경우 이 옵션을 비활성화하는 것이 좋습니다.**참고:** `WebAssembly.Table`은 이전 버전과 호환되지 않습니다. `WebAssembly.Table`을 타게팅할 때 Emscripten 런타임 함수 `getWasmTableEntry(functionPtr)`를 사용하여 함수 포인터를 호출 가능한 JS 함수로 전환하거나 Emscripten 코드 템플릿 `{{{ makeDynCall('sig', 'variableName') }}}(...args);`을 사용하여 함수 포인터를 호출합니다. 이전 Emscripten 런타임 함수 제품군인 `dynCall_sig(ptr, ...args);`는 `WebAssembly.Table`에서 더 이상 지원되지 않습니다. 코드 예시는 Emscripten 기술 자료를 참조하십시오. |
| **Enable BigInt**                      |                                            | 이 옵션을 활성화하면 `WebAssembly.BigInt` 언어 기능을 타게팅하고 WebAssembly에서 `BigInt` 유형을 사용하므로 빌드 시간이 단축되고 코드 크기가 약간 작아집니다. 이 옵션을 비활성화하면 WebAssembly에서 `BigInt` 유형을 사용할 수 없습니다. 생성된 WebAssembly 코드는 64비트 변수를 포함하는 함수 서명에 대해 BigInt ABI에 의존합니다. Wasm BigInt 기능을 지원하지 않는 이전 브라우저를 타게팅하려면 이 옵션을 비활성화합니다. 새 프로젝트에 이 옵션을 활성화하고 빌드 반복 시간을 단축하고 이전 브라우저 버전과의 호환성을 타게팅하는 것이 중요할 경우 이 옵션을 비활성화하는 것이 좋습니다.**참고:** Wasm BigInt 기능을 사용하려면 Chrome 85(2020년 8월 25일), Firefox 78(2020년 6월 30일), Safari 14.5(2021년 4월 26일) 이상이 필요합니다.                                                                                                                                                                                                                     |
| **Initial Memory Size**                |                                            | WASM 메모리 힙 초기 크기(MB)입니다. 기본값은 32MB입니다. **Memory Growth Mode**가 **None**으로 설정된 경우 WASM 힙 메모리의 최대 크기도 마찬가지입니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **Memory Growth Mode**                 |                                            | 다음 옵션 중에서 WASM 힙 메모리의 증가 모드를 선택합니다. 권장되는 옵션은 **Geometric**입니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|                                        | **None**                                   | WASM 힙 메모리가 **Initial Memory Size**에서 고정된 크기로 설정됩니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|                                        | **Linear**                                 | WASM 힙 메모리가 **Linear Memory Growth Step**에 의해 설정된 고정된 양만큼 증가합니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|                                        | **Geometric**                              | **Geometric Memory Growth Step** 및 **Geometric Memory Growth Cap**에 설정된 계수에 따라 현재 힙 크기를 기준으로 WASM 힙 메모리가 증가합니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| **Maximum Memory Size**                |                                            | WASM 힙 메모리의 최대 크기(MB)입니다. 기본적으로 권장되는 설정인 2048MB로 설정됩니다. 메모리 크기를 최대 4096MB까지 입력할 수 있지만, 2048MB를 초과하는 빌드에 대한 Firefox 및 Chrome 버그가 알려져 있습니다. 이 옵션은 **Memory Growth Mode**가 **Linear** 또는 **Geometric**인 경우에만 사용할 수 있습니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| **Linear Memory Growth Step**          |                                            | WASM 힙 증가 단계를 MB 단위로 제어할 수 있는 고급 튜닝 옵션입니다. 기본값은 16MB입니다. 증가 단계가 16MB이면 힙이 증가해야 할 때마다 16MB씩 증가합니다. **Memory Growth Mode**가 **Linear**로 설정된 경우에만 사용할 수 있습니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| **Geometric Memory Growth Step**       |                                            | 현재 힙 크기를 기준으로 WASM 힙 증가 인자를 제어하는 고급 튜닝 옵션입니다. 기본값은 0.2로 설정되어 있습니다. 증가 인자가 0.2일 경우 힙이 증가해야 할 때마다 힙의 크기가 0.2 \* currentHeapSize로 증가합니다. **Memory Growth Mode**가 **Geometric**으로 설정된 경우에만 사용할 수 있습니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| **Geometric Memory Growth Cap (MB)**   |                                            | 힙 증가 단계의 상한을 MB 단위로 제어할 수 있는 고급 튜닝 옵션입니다. 기본값은 96MB입니다. 증가 한도가 96MB인 경우 힙의 크기가 최대 96MB만큼 증가한다는 의미입니다. **Memory Growth Mode**가 **Geometric**으로 설정된 경우에만 사용할 수 있습니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |

### Show Diagnostic Overlay 설정##show-diagnostic-overlay-setting

웹 빌드를 최적화하고 잠재적인 문제를 진단하는 데 도움이 되도록 이 설정을 활성화하여 진단 정보(현재 메모리 사용량으로 제한됨)를 볼 수 있습니다. 활성화되면 빌드에 데이터가 포함된 오버레이를 표시하는 아이콘이 나타납니다. 개발 빌드와 릴리스 빌드 모두에서 사용할 수 있습니다.

1. 진단 정보를 확인하려면 플레이어 설정 창(**File > Build Settings > Player Settings > Publishing Settings**)에서 **Show Diagnostics Overlay** 옵션을 활성화하십시오.

   데스크톱에서 진단 아이콘은 웹 캔버스의 바닥글에 표시됩니다.


   **캔버스 바닥글에 있는 진단 버튼:**
   ![](/api/media?file=/engine/6000.0/media/images/webgl-diagnostic-desktop.png)

   모바일 기기에서는 화면 오른쪽 하단에 진단 아이콘이 표시됩니다.


   **진단 버튼이 표시되어 있는 Android 휴대폰:**
   ![](/api/media?file=/engine/6000.0/media/images/webgl-diagnostic-mobile.png)

2. **진단**
   **Frame:**
   ![](/api/media?file=/engine/6000.0/media/images/webgl-diagnostics-icon.png) 아이콘을 클릭합니다. JavaScript 메모리를 보여 주는 오버레이가 표시되며, 이 오버레이는 WASM 힙 메모리 사용량을 표시하기 위해 더 세분화됩니다.


**Javascript 메모리 배포 및 WASM 힙 메모리 사용량을 보여 주는 진단 오버레이:**
![](/api/media?file=/engine/6000.0/media/images/webgl-diagnostic-overlay.png)

오버레이 화면에 다음과 같은 진단이 표시됩니다.

| **프로퍼티**                          |                                    | **기능**                                                                                  |
| --------------------------------- | ---------------------------------- | --------------------------------------------------------------------------------------- |
| **Total JS Memory**               |                                    | JS 오브젝트에 할당되지 않은 미사용 메모리를 포함한 JS(JavaScript) 힙의 현재 크기(MB)입니다.                           |
|                                   | **Used JS Memory**                 | JS 오브젝트가 사용 중인 메모리(MB)입니다.                                                              |
| **Total WASM heap memory**        |                                    | 할당되지 않은 메모리를 포함하여 Emscripten으로 컴파일된 C/C++ Unity 엔진의 전체 힙을 나타내는 선형 메모리(MB)입니다.           |
|                                   | **Used WASM heap**                 | 할당된 WASM 힙 공간(MB)입니다.                                                                   |
| **Page Load Time to First Frame** |                                    | 페이지 로드 시작부터 첫 번째 애플리케이션 프레임 렌더링이 완료될 때까지의 총 시간(밀리초)입니다.                                 |
|                                   | **Page Load Time**                 | 다운로드, 컴파일, 구문 분석, 메인 애플리케이션을 포함하여 페이지 로드 후 첫 번째 프레임 렌더링이 시작될 때까지의 시간(밀리초)입니다.           |
|                                   | **Code download time**             | 빌드가 코드 파일을 다운로드하는 데 걸리는 시간(밀리초)입니다.                                                     |
|                                   | **Load time of asset file(.data)** | 빌드가 .data 파일 바이너리를 다운로드하는 데 걸리는 시간(밀리초)입니다.                                             |
|                                   | **WebAssembly startup time**       | JavaScript 프레임워크를 로드하고 Unity의 C++ 메인()에 도달하는 데 걸리는 시간입니다. WASM 컴파일 시간(밀리초)과 비슷합니다.      |
|                                   | **Game startup time**              | 일반적으로 첫 번째 게임 씬 로딩이 포함된 메인 프레임의 첫 번째 프레임까지 Unity의 C++ main() 실행을 완료하는 데 걸리는 시간(밀리초)입니다. |
| **Average FPS (10 s)**            |                                    | 최근 초당 10프레임의 평균입니다.                                                                     |
|                                   | **Current frames per second**      | 초당 화면에 렌더링되는 프레임 수입니다.                                                                  |
| **Number of Frame Stalls**        |                                    | 이전 프레임과 비교하여 완료하는 데 비정상적으로 오래 걸린 렌더링 프레임 수입니다.                                          |

### JS 메모리에 대한 중요한 참고 사항##important-note-about-js-memory

JS 메모리 정보는 현재 Chrome 또는 Edge에서만 지원되는 [performance.memory API](https://developer.mozilla.org/en-US/docs/Web/API/Performance/memory)를 사용하여 얻을 수 있습니다. Safari 또는 Firefox에 이 정보를 반환하는 다른 API를 사용할 수 없습니다.

**참고:** `performance.memory` API는 iOS 기기에서 지원되지 않습니다.

이 API가 지원되지 않는 브라우저에서는 N/A라는 메시지가 표시됩니다.


**performance.memory API를 지원하지 않는 브라우저에 표시된 N/A 메시지:**
![](/api/media?file=/engine/6000.0/media/images/webgl-wasm-memory.png)

## 추가 리소스:##additional-resources:

* [웹에서 텍스처 압축](/engine/6000.0/manual/platform-specific/webgl/develop/texture-compression.md)
* [웹 템플릿](/engine/6000.0/manual/platform-specific/webgl/building-distribution/templates.md)
* [스플래시 화면](/engine/6000.0/manual/unity-editor/editor-features/comp-manager-group/class-player-settings/splash-screen.md)
* [텍스처 압축 포맷 개요](/engine/6000.0/manual/materials-and-shaders/textures/textures-getting-started/texture-compression-formats.md)
