Unity를 라이브러리 기능으로 사용하여 UWP(유니버설 Windows 플랫폼) 애플리케이션에 Unity 런타임 라이브러리를 통합할 수 있습니다. Unity 런타임 라이브러리는 API 컨트롤을 노출하여 또 다른 UWP 애플리케이션 안에 콘텐츠를 로드하고, 활성화하고, 언로드하는 시기와 방법을 관리합니다.
이러한 통합을 사용하면 다음과 같은 Unity 기반 기능을 UWP 애플리케이션에 포함할 수 있습니다.
Unity 런타임 라이브러리를 UWP 애플리케이션에 통합하려면 다음 단계를 완료하십시오.
그 결과 Unity는 Visual Studio 프로젝트를 생성합니다. 이 프로젝트를 사용하여 Unity 런타임 라이브러리를 다른 UWP 애플리케이션에 임베딩할 수 있습니다. 이 프로젝트는 Unity 프로젝트를 로드하기 위한 SwapChainPanel 설정을 포함하는 MainPage.xaml 파일 형태의 일반 XAML UWP 프로젝트입니다. 이 프로젝트를 Unity가 아닌 다른 애플리케이션 비즈니스 로직으로 확장하거나 대체할 수 있습니다.
참고: MainPage.xaml 파일은 Unity 에디터에서 XAML 빌드 유형을 사용하여 UWP 앱을 빌드하는 경우에만 존재합니다.
SwapchainPanel을 사용할 때 Unity는 다른 요소 위에 렌더링합니다. 이렇게 하면 Unity가 아닌 다른 애플리케이션 콘텐츠 위에 투명한 배경으로 작은 오브젝트를 렌더링할 수 있습니다. 이렇게 하려면 PlayerSettings.WSA-transparentSwapchain 옵션을 활성화합니다. Unity가 Application.Unload를 로드할 때 Unity 엔진을 언로드하여 리소스를 다시 확보할 수 있습니다.
다른 애플리케이션을 사용하여 Unity 빌드를 호스팅하는 경우, Unity가 런타임 수명 주기를 컨트롤하지 않으므로 빌드가 작동하지 않을 수 있습니다. 또한 다음 제한 사항에 대해서도 알고 있어야 합니다.