Windows 8.1 유니버설 애플리케이션은 Windows 스토어와 Windows Phone을 하나의 Visual Studio 프로젝트로 타겟하는 방법입니다. 이 프로젝트는 Windows 8.1과 Windows Phone 8.1 둘 다에서 작동하므로, 데스크톱, 노트북, 태블릿, 스마트폰에서 전부 사용할 수 있습니다. 이 기능은 플랫폼 통합의 직접적인 결과입니다.
Windows 8.1 유니버설 애플리케이션에 대한 자세한 내용은 http://dev.windows.com/en-us/develop/Building-universal-Windows-apps를 참조하십시오.
Unity는 유니버설 Windows 스토어/Phone 8.1 애플리케이션을 빌드할 방법을 빌드 창의 “Universal 8.1” SDK를 통해 제공합니다. 이러한 프로젝트를 빌드하면 Unity는 유니버설 Visual Studio 프로젝트를 생성하며, 이 프로젝트를 Windows와 Windows Phone 기기에 빌드할 수 있습니다.
Windows Phone 8.1과 Windows 8.1은 서로 바이너리가 호환되지 않으므로, 포터블 클래스 라이브러리가 아닌 이상 두 플랫폼에서 하나의 DLL 파일로 실행할 수 없습니다. 따라서 Windows Phone의 SMS API나 Windows의 마우스 API와 같은 플랫폼 고유 API에 접근할 수 없습니다. 그러므로 두 버전의 어셈블리를 컴파일해야 합니다.
스마트폰과 스토어용으로 컴파일된 어셈블리는 크게 사전 처리 디렉티브와 타겟 SDK가 다릅니다. Windows는 Windows .NET 코어를 타겟하며 Phone은 Phone .NET 코어를 타겟합니다. 두 코어는 거의 동일하지만, 사소한 차이점이 존재합니다.
Universal Project 폴더 구조는 아래와 같습니다.
UniversalApp1 - (solution directory)
UniversalApp1.Windows - (here goes windows specific files, all Windows DLLs)
-
-
-
UniversalApp1.WindowsPhone - (here goes windows phone specific files, all Windows Phone DLLs)
-
-
-
UniversalApp1.Shared - (here goes shared files)
-
-
-
유니버설 애플리케이션을 빌드하면 한 프로젝트에서 Windows와 Windows Phone용으로 총 두 개의 바이너리를 생성합니다. 프로젝트 구조로 인해 AppX 패키지는 다른 플랫폼에 대해 파일 중복이 발생하지 않습니다.