# Windows 런타임 지원

> Call native Windows Runtime APIs and custom .winmd files from managed code using IL2CPP on Universal Windows Platform.

Unity에는 유니버설 Windows 플랫폼의 [IL2CPP](/engine/6000.0/manual/scripting/compilation-and-code-reload/backends/il2cpp.md)에 대한 Windows 런타임 지원이 포함되어 있습니다. Windows 런타임 지원을 사용하여 네이티브 시스템 Windows 런타임 API와 커스텀 .winmd 파일을 모두 관리되는 코드(스크립트와 DLL)에서 직접 호출할 수 있습니다.

IL2CPP에서 Windows 런타임 지원을 자동으로 활성화하려면 [Player](/engine/6000.0/manual/unity-editor/editor-features/comp-manager-group/class-player-settings.md) 설정(**Edit** > **Project Settings** 로 이동한 다음 **Player** 카테고리 선택)으로 이동하여 **Configuration** 섹션에 액세스한 다음, **Api Compatibility Level** 을 **.NET 4.6** 또는 **.NET Standard 2.0** 으로 설정합니다.


**Player 설정의 Configuration 섹션. 위에 표시된 옵션은 선택한 빌드 플랫폼에 따라 달라집니다.:**
![](/api/media?file=/engine/6000.0/media/images/IL2CPP-4.png)

Unity는 Windows 런타임 지원이 활성화된 경우 Windows 런타임 API(예: 유니버설 Windows 플랫폼의 *Windows.winmd*)를 자동으로 참조합니다. 커스텀 .winmd 파일을 사용하려면 함께 제공되는 DLL과 Unity 프로젝트 폴더에 임포트합니다. 그런 다음 타겟 플랫폼에 맞게 파일을 설정하려면 [플러그인 인스펙터](/engine/6000.0/manual/scripting/compilation-and-code-reload/plug-ins/plug-in-inspector.md)를 사용합니다.


**플러그인 인스펙터를 사용하여 특정 플랫폼용 커스텀 .winmd 파일 설정:**
![](/api/media?file=/engine/6000.0/media/images/IL2CPP-5.png)

Unity 프로젝트의 [스크립트](/engine/6000.0/manual/scripting.md)에서 `ENABLE_WINMD_SUPPORT` #define 지시문을 사용하여 프로젝트에 Windows 런타임 지원이 활성화되어 있는지 확인할 수 있습니다. .winmd Windows API 또는 커스텀 .winmd 스크립트를 호출하기 전에 이를 사용하여 실행 가능한지 확인하고 Windows와 관련이 없는 스크립트가 이를 무시하도록 합니다. C# 스크립트에서만 지원됩니다. 아래 예시를 참조하십시오.

**예제**

**`C#`**

```
void Start() {
  #if ENABLE_WINMD_SUPPORT
    Debug.Log("Windows Runtime Support enabled");
    // Put calls to your custom .winmd API here
  #endif
}
```

## 추가 리소스

* [Windows 빌드 설정 레퍼런스](/engine/6000.0/manual/platform-specific/windows/standalone-binaries.md)
