Version: 2018.4
언어: 한국어
유니버설 Windows 플랫폼: C# 스크립트의 WinRT API
스크립팅 백엔드

유니버설 Windows 플랫폼용 플레이어 설정

이 페이지에서는 유니버설 Windows 플랫폼에만 해당되는 Player 설정에 대해 자세하게 설명합니다. 일반 플레이어 설정에 대한 내용은 플레이어 설정을 참조하십시오.

유니버설 Windows 플랫폼을 위한 플레이어 설정
유니버설 Windows 플랫폼을 위한 플레이어 설정

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

아이콘(Icon)

Windows 스토어의 앱 브랜딩을 커스터마이즈하려면 Icon 설정을 사용하십시오.

유니버설 Windows 플랫폼 플레이어를 위한 아이콘 설정
유니버설 Windows 플랫폼 플레이어를 위한 아이콘 설정

애플리케이션의 스토어 설명 페이지에 표시되는 이미지를 지정하려면 Store Logo 섹션을 펼칩니다. 최대 8가지의 해상도를 추가할 수 있습니다.

Tile 섹션

다음을 설정하여 Windows 스토어 타일이 일반적으로 표시되는 모양을 커스터마이즈할 수 있습니다.

설정 기능
Short name 앱의 약칭을 설정합니다.
Show name on Medium Tile, Large Tile, Wide Tile 에 각각 표시될 아이콘 이미지를 지정합니다.
Foreground text 앱 타일에 사용할 텍스트를 선택합니다(Light 또는 Dark).
Background color 배경에 사용할 컬러를 지정합니다.
Default Size 타일의 기본 크기를 선택합니다.
Not Set 기본 크기를 사용하지 않습니다.
Medium 중간 크기를 사용합니다.
Wide 폭이 넓은 크기를 사용합니다.

Unity는 이러한 옵션을 Package.appxmanifest 파일에 바로 복사합니다.

Tiles and Logos 섹션

다음을 설정하여 Windows 스토어에서 타일에 표시되는 이미지를 지정합니다.

설정 기능
Square 44x44 Logo 앱 타일에서 사용할 44x44 크기의 로고 이미지를 설정합니다. 최대 10가지의 해상도를 설정할 수 있습니다.
Square 71x71 Logo 앱 타일에서 사용할 71x71 크기의 로고 이미지를 설정합니다. 최대 5가지의 해상도를 설정할 수 있습니다.
Square 150x150 Logo 앱 타일에서 사용할 150x150 크기의 로고 이미지를 설정합니다. 최대 5가지의 해상도를 설정할 수 있습니다.
Square 310x310 Logo 앱 타일에서 사용할 310x310 크기의 로고 이미지를 설정합니다. 최대 5가지의 해상도를 설정할 수 있습니다.
Wide 310x150 Logo 앱 타일에서 사용할 310x150 크기의 로고 이미지를 설정합니다. 최대 5가지의 해상도를 설정할 수 있습니다.

해상도(Resolution) 및 프리젠테이션(Presentation)

Resolution and Presentation 섹션에서 화면이 표시되는 모양에 대해 다음을 커스터마이즈할 수 있습니다.

유니버설 Windows 플랫폼을 위한 해상도 및 프레젠테이션 설정
유니버설 Windows 플랫폼을 위한 해상도 및 프레젠테이션 설정
설정 기능
Default is Fullscreen 창을 디스플레이의 전체 화면 네이티브 해상도에 맞게 설정합니다. Unity는 스크립트(또는 빌드한 애플리케이션이 시작할 때 사용자 선택)를 통해 설정된 해상도로 앱 콘텐츠를 렌더링하지만, 창 전체를 채우도록 스케일링합니다. 스케일링 시 Unity는 검은색 막대를 렌더링한 출력물에 추가하여 Player 설정에서 선택한 종횡비에 맞춥니다. 그러면 콘텐츠가 늘어지게 표시되지 않습니다. 이러한 과정은 레터박싱이라고 불립니다.
Run In background 앱이 포커스를 잃는 경우 게임을 일시중지하지 않고 계속 실행하려면 이 옵션을 활성화합니다.
Transparent Swapchain 스왑체인의 알파 모드를 DXGI_ALPHA_MODE_PREMULTIPLIED로 설정합니다.
이 설정은 XAML 빌드 유형을 사용하는 UWP 프로젝트에만 사용됩니다. 이 설정을 활성화하면 Unity 콘텐츠를 애플리케이션의 다른 XAML 콘텐츠와 함께 구성할 수 있습니다. 자세한 내용은 PlayerSettings.WSA.transparentSwapchain를 참조하십시오.

방향

Default Orientation 드롭다운 메뉴에서 게임 화면의 방향을 선택할 수 있습니다.

설정 기능
Portrait 기기의 홈 버튼이 하단에 표시되도록 화면 방향을 설정합니다.
Portrait Upside Down 기기의 홈 버튼이 상단에 표시되도록 화면 방향을 설정합니다.
Landscape Left 기기의 홈 버튼이 오른쪽에 표시되도록 화면 방향을 설정합니다.
Landscape Right 기기의 홈 버튼이 왼쪽에 표시되도록 화면 방향을 설정합니다.
Auto Rotation 기기 방향에 따라 화면 방향이 변화합니다. 기본 옵션입니다.

방향을 Auto Rotation 으로 설정하면 Allowed Orientations for Auto Rotation 섹션이 표시됩니다.

자동 회전 허용 방향

이 화면은 Default OrientationAuto Rotation 으로 설정된 경우에만 표시됩니다.

Auto Rotation 은 화면 방향을 기기에 맞춰 변경하므로, 허용된 화면 방향을 제한하는 것이 좋습니다(예: 기기를 가로 방향으로 잠금 설정).

이 섹션의 상자를 선택하여 원하는 방향을 활성화하십시오.

설정 기능
Portrait 세로 방향을 사용할 수 있습니다.
Portrait Upside Down 거꾸로 된 세로 방향(홈 버튼이 위쪽에 위치)을 사용할 수 있습니다.
Landscape Right 오른쪽 가로 방향(홈 버튼이 왼쪽 에 위치)을 사용합니다.
Landscape Left 풍경 왼쪽 방향(홈 버튼이 오른쪽 에 위치)을 사용할 수 있습니다.

스플래시 이미지(Splash Image)

일반적인 스플래시 화면 설정 위의 Player Settings 설정을 사용하면 유니버설 Windows 플랫폼을 위한 스플래시 이미지를 지정할 수 있습니다.

유니버설 Windows 플랫폼을 위한 스플래시 설정
유니버설 Windows 플랫폼을 위한 스플래시 설정

가상 현실 디스플레이에 표시될 커스텀 스플래시 이미지를 선택하려면 Virtual Reality Splash Image 프로퍼티를 사용하십시오.

일반적인 스플래시 화면 설정 아래에 다음과 같이 몇 가지 섹션이 더 있습니다.

Windows

앱의 스플래시 화면에 사용할 전경 이미지를 설정합니다. 최대 7가지의 해상도를 추가할 수 있습니다.

유니버설 Windows 플랫폼의 Windows 스플래시 설정
유니버설 Windows 플랫폼의 Windows 스플래시 설정

Windows Holographic

다음 설정을 사용하여 혼합 현실 앱의 홀로그래픽 스플래시 이미지를 커스터마이즈합니다.

유니버설 Windows 플랫폼 플레이어의 Windows 홀로그래픽 스플래시 설정
유니버설 Windows 플랫폼 플레이어의 Windows 홀로그래픽 스플래시 설정

시작 시 표시할 Holographic Splash Image를 설정합니다. 이 이미지는 5초 동안 또는 앱이 로딩을 완료할 때까지 표시됩니다.

추적 손실

홀로그램이 올바른 위치를 유지하게 하려면 혼합 현실 헤드셋이 환경에서 월드 고정 좌표 시스템을 빌드해야 합니다. 추적 손실은 헤드셋이 월드 내 위치를 추적하지 못하는(위치를 파악하지 못하는) 경우 발생하며, 이로 인해 공간 시스템(공간 매핑, 공간 앵커, 공간 단계)이 오류를 일으킬 수 있습니다.

이러한 현상이 발생하면 Unity에서 홀로그램 렌더링이 중단되고, 게임이 일시중지되며 알림이 표시됩니다. On Tracking Loss Pause and Show Image 프로퍼티를 활성화한 다음 Tracking Loss Image 프로퍼티로 표시될 이미지를 선택하여 알림에 나타나는 이미지를 커스터마이즈할 수 있습니다.

자세한 내용은 Unity 권장 설정을 참조하십시오.

배경색 덮어쓰기

일반적인 스플래시 화면 설정을 사용하면 배경 이미지가 지정되지 않은 경우 표시될 배경색을 설정할 수 있습니다. 이러한 설정은 모든 플랫폼에 적용됩니다.

유니버설 Windows 플랫폼 플레이어의 스플래시 설정 배경색 덮어쓰기
유니버설 Windows 플랫폼 플레이어의 스플래시 설정 배경색 덮어쓰기

유니버설 Windows 플랫폼에서 이 설정을 덮어쓰려면 Overwrite background color 프로퍼티를 활성화한 다음 Background color 설정을 사용하여 다른 컬러를 선택합니다.

기타 설정

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

렌더링(Rendering)

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

유니버설 Windows 플랫폼 플레이어를 위한 기타 렌더링 설정
유니버설 Windows 플랫폼 플레이어를 위한 기타 렌더링 설정
설정 기능
Color Space GammaLinear 중 렌더링에 사용할 색 공간을 선택합니다.
두 옵션의 차이점에 대한 설명은 리니어 렌더링 개요를 참조하십시오.
Auto Graphics API 그래픽스 API를 수동으로 선택하고 순서를 변경하려면 이 옵션을 비활성화합니다. 이 옵션은 기본으로 활성화되어 있으며, Unity는 Direct3D11을 사용합니다.
Static Batching 정적 배칭을 사용하려면 이 옵션을 활성화합니다.
Dynamic Batching 동적 배칭을 사용하려면 이 옵션을 활성화합니다(기본적으로 활성화됨).
GPU Skinning DX11/ES3 GPU 스키닝을 사용하려면 이 옵션을 활성화합니다.
Graphics Jobs (Experimental) 그래픽스 작업(루프 렌더)을 다른 CPU 코어에서 실행 중인 워커 스레드에 오프로드하도록 Unity를 설정하려면 이 옵션을 활성화합니다. 메인 스레드에서 종종 병목 현상을 초래하는 Camera.Render에 소요되는 시간을 줄이기 위해 사용합니다.
참고: 이 기능은 실험 단계에 있습니다. 기능을 사용해도 프로젝트의 성능이 개선되지 않을 수 있으며, 새로운 크래시가 발생할 수 있습니다.
Lightmap Streaming Enabled 현재의 게임 카메라를 렌더링하기 위해 필요한 라이트맵 밉맵만 로드하려면 활성화합니다.
참고: 이 설정을 사용하려면 텍스처 스트리밍 품질 설정을 활성화해야 합니다.
Streaming Priority 리소스 충돌을 해결하기 위해 라이트맵 밉맵 스트리밍 우선순위를 설정합니다. 이러한 값은 생성된 라이트맵 텍스처에 적용됩니다.
양수의 순위가 우선시됩니다. 유효한 값의 범위는 –128부터 127까지입니다.

설정

유니버설 Windows 플랫폼을 위한 기타 구성 설정
유니버설 Windows 플랫폼을 위한 기타 구성 설정
설정 기능
Scripting Runtime Version 프로젝트에 사용할 .NET 런타임을 선택합니다. 자세한 내용은 Microsoft의 .NET 문서를 참조하십시오.
.NET 3.5 Equivalent(지원 중단 예정) .NET 3.5 API를 구현하는 .NET 런타임입니다. 이 기능은 지원이 중단되어 더 이상 사용할 수 없습니다. .NET 4를 사용하십시오.
.NET 4.x Equivalent .NET 4 API를 구현하는 .NET 런타임입니다. 이 API는 .NET 3.5보다 최신 버전이기 때문에 더 많은 API에 액세스할 수 있고, 더 많은 외부 라이브러리와 호환되며, C# 6를 지원합니다. 기본 스크립팅 런타임으로 사용됩니다.
Scripting Backend 사용할 스크립팅 백엔드를 선택합니다.
.NET 스탠다드 .NET 런타임입니다.
IL2CPP Unity의 .NET 런타임입니다. 기본 옵션입니다.
API Compatibility Level 선택 가능한 두 API 호환성 레벨은 .NET 4.0 또는 .NET Standard 2.0 입니다.
팁: 타사 어셈블리에 문제가 발생하는 경우 아래 API 호환성 레벨 섹션의 권장 사항을 수행해 보십시오.
C++ 컴파일러 설정(C++ Compiler Configuration) IL2CPP에 의해 생성된 코드를 컴파일할 때 사용할 C++ 컴파일러 설정을 선택합니다.
참고: 이 프로퍼티는 유니버설 Windows 플랫폼에 대해 비활성화되어 있습니다.
Accelerometer Frequency 가속 센서 샘플링 빈도를 지정합니다. Disabled 를 선택하면 샘플을 만들지 않습니다. 선택하지 않으면 15Hz, 30Hz, 60Hz100Hz 주파수 중 선택할 수 있습니다.
Disable HW Statistics 하드웨어에 대한 정보를 Unity로 보내지 않도록 애플리케이션을 설정하려면 활성화합니다. 자세한 내용은 Unity 하드웨어 통계를 참조하십시오.
Scripting Define Symbols 커스텀 컴파일 플래그를 설정합니다. 자세한 내용은 플랫폼 의존 컴파일을 참조하십시오.
Allow ‘unsafe’ Code 사전 정의된 어셈블리(예: Assembly-CSharp.dll)에서 ‘안전하지 않은’ C# 코드 컴파일에 대한 지원을 활성화합니다.
어셈블리 정의 파일(.asmdef)의 경우 .asmdef 파일 중 하나를 클릭한 후 표시되는 인스펙터 창에서 이 옵션을 활성화하십시오.
액티브 입력 핸들링(Active Input Handling) 사용자의 입력을 처리하는 방식을 선택합니다.
Input Manager 기존의 입력 설정을 사용합니다.
Input System (Preview) 새로운 입력 시스템을 사용해보십시오. 입력 시스템은 현재 개발 단계에 있습니다. 입력 시스템의 초기 프리뷰를 사용하려면 InputSystem 패키지를 설치해야 합니다. 이 패키지를 설치하지 않고 Input System (Preview) 옵션을 선택하면 추가 프로세싱 외에 아무 일도 일어나지 않습니다.
Both 두 시스템 모두를 나란히 사용합니다.

최적화(Optimization)

유니버설 Windows 플랫폼 플레이어를 위한 기타 최적화 설정
유니버설 Windows 플랫폼 플레이어를 위한 기타 최적화 설정
설정 기능
Prebake Collision Meshes 빌드 시간에 충돌 데이터를 메시에 추가하려면 이 옵션을 활성화합니다.
Keep Loaded Shaders Alive 셰이더가 언로드되지 않도록 방지하려면 이 옵션을 활성화합니다.
Preloaded Assets 시동 시 플레이어가 로드할 에셋의 배열을 설정합니다.
새 에셋을 추가하려면 Size 프로퍼티의 값을 늘린 다음 새로 표시되는 Element 상자에 로드할 에셋에 대한 레퍼런스를 설정합니다.
Strip Engine Code 코드 스트리핑을 활성화합니다. 이 설정은 IL2CPP 스크립팅 백엔드에서만 사용 가능합니다.
대부분의 게임에는 필수 DLL이 모두 사용되지 않습니다. Strip Engine Code 옵션을 활성화하면 사용되지 않은 부분을 제거하여 iOS 기기에서 빌드된 플레이어의 크기를 줄일 수 있습니다. 현재 선택된 옵션을 통해 일반적으로 제거되는 클래스를 게임에서 사용 중인 경우, 빌드를 만들 때 디버그 메시지가 표시됩니다.
Managed Stripping Level Unity가 사용하지 않는 관리되는 (C#) 코드를 얼마나 적극적으로 스트리핑할지 선택합니다.
Normal 도달할 수 없는 관리되는 코드를 제거하여 빌드 크기를 줄이고 .NET/IL2CPP 빌드 시간을 단축합니다.
Aggressive 일반적인 수준보다 덜 보수적인 모드에서 UnityLinker를 실행하여 노멀보다 코드 크기를 더 줄입니다. 단, 이러한 추가 감소로 인한 장단점이 있습니다. 자세한 내용은 ManagedStrippingLevel을 참조하십시오.
Vertex Compression 버텍스 압축을 채널별로 설정합니다. 예를 들어 포지션과 라이트맵 UV를 제외한 모든 것에 압축을 사용하도록 선택할 수 있습니다. 임포트된 오브젝트별로 설정한 전체 메시 압축은 버텍스 압축이 설정된 오브젝트에서 버텍스 압축을 오버라이드하지만, 나머지는 모두 여기서 설정한 버텍스 압축 설정을 따릅니다.
Optimize Mesh Data 적용된 머티리얼에 필요 없는 데이터(예: 탄젠트, 노멀, 컬러, UV)를 메시에서 제거하려면 이 옵션을 활성화합니다.

로깅(Logging)

특정 컨텍스트에서 허용할 로깅 유형을 선택합니다.

유니버설 Windows 플랫폼을 위한 기타 로깅 설정
유니버설 Windows 플랫폼을 위한 기타 로깅 설정

스크립트 실행 시(ScriptOnly) 발생하는 각 로그 유형에 상응하는 상자를 선택하고(Error, Assert, Warning, Log, Exception), 언제나 로깅(Full) 또는 로깅하지 않음(None) 중 하나를 선택합니다.

레거시

SkinnedMeshRenderers의 블렌드 셰이프 가중치 범위를 고정하려면 Clamp BlendShapes (Deprecated) 옵션을 활성화합니다.

유니버설 Windows 플랫폼을 위한 기타 레거시 설정
유니버설 Windows 플랫폼을 위한 기타 레거시 설정

퍼블리싱 설정(Publishing Settings)

다음 설정을 사용하여 유니버설 Windows 앱 빌드를 커스터마이즈합니다. 이러한 옵션은 다음 그룹으로 분류됩니다.

Unity는 Visual Studio 솔루션을 처음 만들 때 이러한 설정을 Package.appxmanifest 파일에 저장합니다.

** 참고: 기존 프로젝트를 토대로 프로젝트를 빌드하면 Unity가 이미 있는 Package.appxmanifest 파일을 덮어쓰지 않습니다. 즉, Player 설정을 변경하는 경우 Package.appxmanifest 를 확인해야 합니다. Package.appxmanifest 를 다시 생성하려면 삭제하고 Unity에서 프로젝트를 다시 빌드해야 합니다.

자세한 내용은 [앱 패키지 매니페스트]에 대한 Microsoft 문서(http://msdn.microsoft.com/en-us/library/windows/apps/br211474.aspx)를 참조하십시오.

플레이어 설정의 지원되는 방향도 매니페스트(Visual Studio 솔루션의 Package.appxmanifest 파일)에 입력됩니다. Unity는 유니버설 Windows 앱에서 방향을 매니페스트에서 지정한 설정에 관계없이 Player 설정에서 사용한 방향으로 초기화합니다. Windows 자체가 해당 설정을 데스크톱 및 태블릿 컴퓨터에서 무시하기 때문입니다.

팁: Unity 스크립팅 API를 사용하여 언제든지 지원되는 방향을 변경할 수 있습니다.

패키지

유니버설 Windows 플랫폼을 위한 패키지 퍼블리싱 설정
유니버설 Windows 플랫폼을 위한 패키지 퍼블리싱 설정
설정 기능
Package name 시스템에서 패키지를 식별할 이름을 입력합니다. 이름은 고유해야 합니다.
Package display name [플레이어 설정 상단]에서 설정한 Product Name 값(class-PlayerSettings#ProductName)이 여기에 표시됩니다. Windows 스토어에 표시되는 앱 이름입니다.
Version Major.Minor.Build.Revision 스트링을 사용하여 4채널 표기에 패키지 버전을 입력합니다.
Publisher display name [플레이어 설정 상단]에서 설정한 Company Name 값(class-PlayerSettings#CompanyName)이 여기에 표시됩니다. 퍼블리셔의 사용자 친화적 이름입니다.
Streaming Install 씬을 위한 스트리밍 가능 에셋을 포함하는 AppxContentGroupMap.xml 매니페스트 파일을 만들려면 이 옵션을 활성화합니다. 씬 에셋을 기본적으로 포함하려면 Last required scene index 설정을 사용합니다. 씬 인덱스가 Last required scene index보다 상위에 있는 씬의 에셋은 매니페스트 파일에서 스트리밍 가능한 에셋으로 지정됩니다.
참고: 이 설정은 IL2CPP 스크립팅 백엔드에서만 사용 가능합니다.
Last required scene index Build Settings 창Scenes In Build 목록에서 해당 목록의 마지막 씬(게임 빌드에 반드시 포함되어야 함)에 상응하는 인덱스 번호를 찾아 입력합니다. Unity는 애플리케이션을 시작하기 위해 지정된 인덱스 번호보다 작은 번호의 씬 인덱스를 필요로 합니다. 목록의 모든 파일을 필수 요건으로 지정하려면 목록의 마지막 씬의 인덱스를 사용하십시오.
씬 인덱스의 번호가 더 큰 씬은 인덱스 번호가 더 작은 씬과 공유하는 에셋을 포함해야 합니다. Build Settings 다이얼로그의 씬 순서는 애플리케이션이 필수 에셋을 찾는 데 중요합니다.
참고: Streaming Install 옵션은 기본적으로 비활성화되어 있으며 사용할 수 없습니다. 이 프로퍼티를 수정할 수 있게 하려면 먼저 Streaming Install 옵션을 활성화하십시오.

인증서

모든 유니버설 Windows 앱은 개발자가 식별된 인증서가 있어야 합니다.

인증서 생성 전
인증서 생성 전

Select 버튼을 클릭하여 로컬 컴퓨터의 인증서 파일(.pfx)을 선택할 수 있습니다. 그러면 선택한 파일의 이름이 Select 버튼에 표시됩니다.

인증서 파일이 없다면 Unity에서 다음과 같이 파일을 만들 수 있습니다.

  1. Create 버튼을 클릭합니다. Create Test Certificate for Windows Store 다이얼로그 창이 나타납니다.

  2. Publisher 텍스트 상자에 패키지 퍼블리셔의 이름을 입력합니다.

  3. Password 텍스트 상자와 Confirm password 텍스트 상자에 인증서 비밀번호를 차례로 입력합니다.

  4. Create 버튼을 클릭합니다.

    창이 닫히고 Certificate 섹션에 PublisherIssued by 값으로 입력한 이름이 표시됩니다. Expiration date 는 인증서를 만든 날짜로부터 1년 후로 설정됩니다.

인증서 생성 후
인증서 생성 후

Streaming Install

스크립팅 백엔드IL2CPP를 사용하는 경우 Microsoft UWP 애플리케이션이 Streaming Install을 지원합니다.

Streaming Install을 활성화하면 Unity에 스트리밍 가능한 에셋을 포함하는 AppxContentGroupMap.xml 파일이 생성됩니다. AppxContentGroupMap.xml 파일에 씬 에셋을 기본적으로 포함하려면 마지막 필수 씬 인덱스 설정을 사용합니다. 이 설정은 Build Settings 다이얼로그의 씬 인덱스를 사용합니다. 씬 인덱스가 마지막 필수 씬 인덱스보다 상위에 있는 씬의 에셋은 생성된 매니페스트에서 스트리밍 가능한 에셋으로 지정됩니다. Unity는 애플리케이션을 시작하기 위해 지정된 인덱스 번호보다 작은 번호의 씬 인덱스를 필요로 합니다.

씬 인덱스의 번호가 더 큰 씬은 인덱스 번호가 더 작은 씬과 공유하는 에셋을 포함해야 합니다. Build Settings 다이얼로그의 씬 순서는 애플리케이션이 필수 에셋을 찾는 데 중요합니다.

Application UI

Unity는 이러한 옵션을 Package.appxmanifest 파일에 바로 복사합니다.

유니버설 Windows 플랫폼 창의 Application UI 섹션
유니버설 Windows 플랫폼 창의 Application UI 섹션

플레이어 설정의 상단에 설정한 Dispay name 값이 이 섹션에 표시됩니다. 앱의 전체 이름입니다.

Windows 스토어의 앱 타일에 표시할 텍스트를 Description 텍스트 상자에 입력합니다. 패키지 표시 이름 값으로 기본 설정됩니다.

파일 및 프로토콜 연결

File Type Associations, File TypesProtocol 섹션의 설정을 통해 Windows 스토어 앱을 특정 파일 유형이나 URI 체계의 기본 핸들러로 지정할 수 있습니다.

File Type Associations 섹션
File Type Associations 섹션

File Type Associations 섹션의 Name 텍스트 상자에 파일 유형 그룹의 이름을 소문자로만 입력합니다. 파일 그룹의 파일은 표시 이름, 로고, 정보 팁과 편집 플래그가 같습니다. 앱이 업데이트되어도 동일하게 유지할 수 있는 그룹 이름을 선택하십시오.

파일 연결로 설정하는 경우 다음을 수행하십시오.

  • Add New 버튼을 클릭합니다. File Types 목록에 빈 엔트리가 표시됩니다. 여러 개의 파일 유형을 추가할 수 있습니다.
  • Content Type 텍스트 상자에 특정한 파일 유형의 MIME 콘텐츠 유형을 입력합니다(예: image/jpeg).
  • File Type 텍스트 상자에 ’.’와 등록할 파일 유형을 입력합니다(예: .jpeg).

URI 체계와의 연결로 설정하는 경우 Name 텍스트 상자에 프로토콜을 입력하십시오.

자세한 내용은 파일 및 URI 연결을 사용하여 자동 실행하기(XAML)을 참조하십시오.

컴파일

유니버설 Windows 플랫폼을 위한 컴파일 오버라이드 설정
유니버설 Windows 플랫폼을 위한 컴파일 오버라이드 설정

Unity에서는 스크립트 파일을 컴파일할 때 Mono를 사용하고, 사용자는 .NET 4.x에 있는 API를 사용할 수 있습니다. C# 파일에서 유니버설 Windows 플랫폼용 .NET(.NET Core라고도 함)를 사용하려면 Compilation Overrides 설정에서 이러한 값 중 하나를 선택하십시오.

기능
None Mono 컴파일러를 사용하여 C# 파일을 컴파일합니다.
Use .Net Core Microsoft 컴파일러와 .NET Core를 사용하여 C# 파일이 컴파일됩니다. Windows 런타임 API를 사용할 수 있지만 C# 파일에서 구현된 클래스는 JS 언어에서 액세스할 수 없습니다.
참고: Windows 런타임에서 API를 사용하는 경우 유니버설 Windows 플랫폼에 빌드할 때만 API를 사용할 수 있고 Unity 에디터에서는 사용할 수 없기 때문에 코드를 ENABLE_WINMD_SUPPORT 정의로 래핑하는 것이 좋습니다.
Use .Net Core Partially Microsoft 컴파일러와 .NET Core를 사용하여 Plugins, Standard Assets 및 Pro Standard Assets 폴더에 없는 C# 파일이 컴파일됩니다. 다른 모든 C# 파일에는 Mono 컴파일러를 사용하십시오. 이렇게 하면 C#으로 구현된 클래스를 JS 언어에서 액세스할 수 있다는 장점이 있습니다.
참고: .NET Core에 액세스할 수 없기 때문에 Unity 에디터에서는 .NET Core API를 테스트할 수 없습니다. 즉 유니버설 Windows 앱을 실행 중일 때에만 API를 테스트할 수 있습니다.

참고: JS 스크립트에서는 .NET Core API를 사용할 수 없습니다.

다음은 .NET Core API를 스크립트에서 사용하는 방법을 보여주는 간단한 예제입니다.

string GetTemporaryFolder()
{
#if ENABLE_WINMD_SUPPORT
    return Windows.Storage.ApplicationData.Current.TemporaryFolder.Path;
#else
    return "LocalFolder";
#endif
}

기타

Unity는 이벤트를 구독하여 입력을 수신합니다. Input Source 설정은 어디서(어느 소스에서) 입력을 수신할지 지정합니다. 키보드 입력은 항상 CoreWindow 에서 송신되므로, 현재 이 설정은 마우스와 터치 입력에만 적용됩니다.

유니버설 Windows 플랫폼을 위한 입력 소스 설정
유니버설 Windows 플랫폼을 위한 입력 소스 설정
기능
CoreWindow CoreWindow 이벤트를 구독합니다. 기본 옵션입니다.
Independent Input Source 독립 입력 소스를 만들고 입력을 수신합니다.
SwapChainPanel SwapChainPanel 이벤트를 구독합니다.

Capabilities

Capabilities 섹션을 사용하여 앱에서 액세스할 API나 리소스를 활성화합니다. 이러한 리소스는 사진, 음악 또는 카메라나 마이크와 같은 기기일 수 있습니다.

유니버설 Windows 플랫폼을 위한 성능 설정
유니버설 Windows 플랫폼을 위한 성능 설정
Capability 기능
EnterpriseAuthentication Windows 도메인 자격 증명은 사용자가 자신의 자격 증명을 사용하여 원격 리소스에 로그인하여 사용자 이름과 비밀번호를 제공한 것과 동일한 역할을 할 수 있도록 합니다.
InternetClient 앱이 인터넷에서 수신되는 데이터를 받을 수 있습니다. 서버 역할은 수행할 수 없습니다. 로컬 네트워크 액세스가 없습니다.
InternetClientServer InternetClient 와 동일하되, 앱이 수신되는 네트워크 연결을 수신해야 하는 P2P(peer-to-peer) 시나리오도 활성화합니다.
MusicLibrary 사용자의 음악에 액세스하여 앱이 사용자의 상호작용 없이 라이브러리의 모든 파일을 열거하고 액세스할 수 있도록 합니다. 이 기능은 보통 음악 라이브러리 전체를 사용하는 주크박스 앱에서 활용됩니다.
PicturesLibrary 사용자의 사진에 액세스하여 앱이 사용자의 상호작용 없이 라이브러리의 모든 파일을 열거하고 액세스할 수 있도록 합니다. 이 기능은 보통 사진 라이브러리 전체를 사용하는 사진 앱에서 활용됩니다.
PrivateNetworkClientServer 방화벽을 통해 가정 및 직장 네트워크에 대한 인바운드 액세스와 아웃바운드 액세스를 제공합니다. 일반적으로 이 기능은 로컬 영역 네트워크(LAN)를 통해 통신하는 게임 및 다양한 로컬 기기에 걸쳐 데이터를 공유하는 앱에서 사용됩니다.
RemovableStorage USB 키와 외장 하드 드라이브 등 제거 가능한 스토리지의 파일에 액세스합니다.
SharedUserCertificates 앱이 공유 사용자 스토어의 소프트웨어 및 하드웨어 기반 인증서(예: 스마트카드에 저장된 인증서)를 추가하고 액세스할 수 있도록 합니다. 일반적으로 이 기능은 스마트 카드를 이용하여 인증해야 하는 금융 앱이나 기업 앱에서 사용됩니다.
VideosLibrary 앱이 사용자의 비디오에 액세스하여 사용자의 상호작용 없이 라이브러리의 모든 파일을 열거하고 액세스할 수 있도록 합니다. 이 기능은 보통 비디오 라이브러리 전체를 사용하는 영화 재생 앱에서 활용됩니다.
WebCam 앱이 빌트인 카메라나 외부 웹캠의 비디오 피드에 액세스하여 사진과 비디오를 캡처할 수 있도록 합니다.
참고: 이 기능은 비디오 스트림에 대한 액세스만 제공합니다. 오디오 스트림에 대한 액세스 권한도 제공하려면 Microphone 기능을 추가해야 합니다.
Proximity 근접한 여러 대의 기기가 상호 통신할 수 있도록 합니다. 일반적으로 이 기능은 캐주얼 멀티플레이어 게임 및 정보를 교환하는 앱에서 사용됩니다. 기기가 Bluetooth, Wi-Fi와 인터넷 중 최상의 연결을 제공하는 커뮤니케이션 기술의 사용을 시도합니다.
Microphone 마이크의 오디오 피드에 액세스하여 앱이 연결된 마이크의 오디오를 녹음할 수 있도록 합니다.
Location PC의 GPS 센서와 같은 전용 하드웨어에서 검색해서 가져오거나 가용 네트워크 정보에서 파생된 위치 기능에 액세스합니다.
HumanInterfaceDevice 휴먼 인터페이스 기기 API에 대한 액세스 권한을 제공합니다. 자세한 내용은 기기에서 HID 기능을 지정하는 방법을 참조하십시오.
AllJoyn 네트워크에서 AllJoyn이 활성화된 앱과 기기의 상호 감지 및 상호작용이 가능하게 합니다.
BlockedChatMessages 앱이 Spam Filter 앱에 의해 차단된 SMS 및 MMS 메시지를 읽을 수 있도록 합니다.
Chat 앱이 모든 SMS 및 MMS 메시지를 읽고 쓸 수 있도록 합니다.
CodeGeneration 앱이 JIT 기능을 제공하는 다음 함수에 액세스할 수 있도록 합니다.
VirtualProtectFromApp
CreateFileMappingFromApp
OpenFileMappingFromApp
MapViewOfFileFromApp
Objects3D 앱이 3D 오브젝트 파일에 프로그래밍 방식으로 액세스할 수 있도록 합니다. 일반적으로 이 기능은 3D 오브젝트 라이브러리 전체에 대한 액세스가 필요한 3D 앱과 게임에서 사용됩니다.
PhoneCall 앱이 기기의 모든 전화 라인에 액세스하여 다음 함수를 수행할 수 있도록 합니다.
전화 라인에 통화를 걸고 사용자에게 요청하지 않고도 시스템 다이얼러를 표시합니다.
라인 관련 메타데이터에 액세스합니다.
라인 관련 트리거에 액세스합니다.
사용자가 선택한 스팸 필터 앱이 차단 목록과 통화 출처 정보를 설정 및 확인할 수 있도록 합니다.
UserAccountInformation 사용자의 이름과 사진에 액세스합니다.
VoipCall 앱이 Windows.ApplicationModel.Calls 네임스페이스에서 VOIP 호출 API에 액세스할 수 있도록 합니다.
Bluetooth 앱이 Generic Attribute(GATT)나 Classic Basic Rate(RFCOMM) 프로토콜을 통해 기존에 페어링된 Bluetooth 기기와 통신할 수 있도록 합니다.
SpatialPerception 혼합 현실 앱에 사용자 주변 공간의 애플리케이션 지정 영역의 표면에 대한 정보를 제공하여 프로그래밍 방식으로 공간 매핑 데이터에 액세스할 수 있도록 합니다. spatialPerception 기능은 혼합 현실 앱이 사용자의 헤드 포즈에 기반하여 홀로그래픽 렌더링을 수행하는 데 반드시 필요하지 않으므로, 앱이 이러한 표면 메시를 명시적으로 사용하는 경우에만 이 기능을 선언하십시오.
InputInjectionBrokered 앱이 HID, 터치, 펜, 키보드나 마우스 등 다양한 입력 형식을 프로그래밍 방식으로 시스템에 추가할 수 있도록 합니다. 일반적으로 이 기능은 시스템을 제어할 수 있는 협업 앱에서 사용됩니다.
Appointments 사용자의 일정 스토어에 액세스합니다. 이 기능은 동기화된 네트워크 계정 및 일정 스토어에 작성하는 다른 앱에 대한 읽기 액세스를 허용합니다. 앱은 이 기능을 사용하여 새로운 캘린더를 생성하고, 만든 캘린더에 일정을 작성할 수 있습니다.
BackgroundMediaPlayback MediaPlayer와 같은 미디어별 API와 AudioGraph 클래스의 동작을 변경하여 앱이 백그라운드에서 작동하는 동안 미디어 재생을 허용합니다. 활성화된 모든 오디오 스트림이 더 이상 음소거되지 않되, 앱이 백그라운드에서 전환하더라도 계속해서 들리는 상태로 유지됩니다. 또한 재생 중에는 앱 수명이 자동으로 연장됩니다.
Contacts 다양한 컨택트 스토어의 컨택트를 집계한 뷰에 액세스합니다. 앱은 이 기능을 통해 여러 네트워크와 로컬 컨택트 스토어로부터 동기화된 컨택트에 제한적으로 액세스(네트워크 허용 규칙이 적용됨)할 수 있습니다.
LowLevelDevices 일정한 수의 추가 요건이 충족되면 앱에 커스텀 기기에 대한 액세스 권한을 허용합니다.
OfflineMapsManagement 앱에 오프라인 맵에 대한 액세스 권한을 허용합니다.
PhoneCallHistoryPublic 앱이 기기의 셀룰러 및 일부 VOIP 호출 이력 정보를 읽을 수 있도록 합니다. 또한 앱이 VOIP 호출 이력 엔트리를 작성할 수 있도록 합니다.
PointOfService Windows.Devices.PointOfService 네임스페이스에서 API에 대한 액세스 권한을 허용합니다. 이 네임스페이스는 앱이 POS 바코드 스캐너와 마그네틱 선 리더에 액세스할 수 있게 하며, UWP 앱에서 다양한 제조사의 POS 기기에 액세스할 수 있는 공급업체에 구애 받지 않는 인터페이스를 제공합니다.
RecordedCallsFolder 앱에 기록된 호출 폴더에 대한 액세스 권한을 허용합니다.
RemoteSystem 앱에 사용자의 Microsoft 계정과 연결된 기기 목록에 대한 액세스 권한을 허용합니다. 여러 기기에 걸쳐 작동을 수행하려면 기기 목록에 대한 액세스 권한이 필요합니다.
SystemManagement 앱에 종료나 재부팅, 로케일과 시간대 등의 기본적인 시스템 관리 권한을 허용합니다.
UserDataTasks 앱에 현재의 작업 설정 상태에 대한 액세스 권한을 허용합니다.
UserNotificationListener 앱에 현재의 알림 설정 상태에 대한 액세스 권한을 허용합니다.

자세한 내용은 App 성능 선언을 참조하십시오.

Unity는 이러한 옵션을 Package.appxmanifest 파일에 바로 복사합니다.

참고: 이전 패키지 위에 게임을 빌드할 경우 Package.appxmanifest 덮어쓰기가 진행되지 않습니다.

지원되는 기기 패밀리

기기 패밀리는 기기 클래스를 통틀어 API, 시스템 특성과 동작을 식별합니다. 자세한 내용은 Microsoft의 기기 패밀리 개요를 참조하십시오.

유니버설 Windows 플랫폼을 위한 성능 설정
유니버설 Windows 플랫폼을 위한 성능 설정
설정 기능
Desktop UWP용 Windows Desktop Extension SDK API 축소 버전
Mobile UWP용 Windows Mobile Extension SDK API 축소 버전
Xbox UWP용 Xbox Live Extension SDK API 축소 버전
Holographic 혼합 현실 앱에 사용되는 홀로렌즈(독립적 홀로그래픽 컴퓨터)
Team UWP용 Windows Team Extension SDK API 축소 버전. 일반적으로 Microsoft Surface Hub 기기에 사용됩니다.
IoT UWP용 Windows IoT Extension SDK API 축소 버전.
참고 현재 IoT 또는 IoTHeadless를 타겟팅하는 앱은 앱 스토어에서 사용할 수 없으므로 개발 목적으로만 이용해야 합니다.
IoTHeadless IoT와 유사하나 UI가 없습니다.
참고 현재 IoT 또는 IoTHeadless를 타겟팅하는 앱은 앱 스토어에 등록할 수 없으므로 개발 목적으로만 사용해야 합니다.

자세한 내용은 기기 패밀리 유효성을 참조하십시오.

XR 설정

스탠드얼론 플레이어를 위한 XR 설정
스탠드얼론 플레이어를 위한 XR 설정
프로퍼티: 기능:
Virtual Reality Supported Unity 에디터와 게임 빌드에 대한 네이티브 VR 지원을 활성화합니다.
Virtual Reality SDKs 가상 현실 SDK를 목록에 추가하거나 목록에서 제거할 수 있습니다. 이 목록은 Virtual Reality Supported 가 활성화된 경우에만 사용 가능합니다.
목록에 SDK를 추가하려면 더하기(+) 버튼을 클릭합니다.
목록에서 SDK를 제거하려면 해당 SDK를 선택하고 빼기(-) 버튼을 클릭합니다.
일부 SDK는 여기에 표시되는 추가 설정을 제공합니다. 자세한 내용은 XR SDK를 참조하십시오.
Stereo Rendering Mode 가상 현실 기기의 렌더링 방식을 선택합니다.
Multi Pass 정상 렌더링 모드입니다. Unity는 왼쪽 눈 이미지용으로 1번, 오른쪽 눈 이미지용으로 1번 이렇게 총 2번 씬을 렌더링합니다.
Single Pass 양쪽 눈 이미지를 동시에 하나의 패킹된 렌더 텍스처로 렌더링합니다. 즉, 전체 씬이 한 번만 렌더링되므로 CPU 처리 시간이 현저히 단축됩니다.
Single Pass Instanced (Preview) GPU가 단일 렌더 패스를 수행하여 각 드로우 콜을 인스턴스화된 드로우 콜로 교체합니다. 이렇게 하면 두 드로우 콜 간의 캐시 일관성으로 인해 CPU 사용이 대폭 감소하고, GPU 사용은 소폭 감소합니다. 이 모드를 사용하면 애플리케이션의 전력 소비도 크게 절감됩니다.
Vuforia 증강 현실 지원(Vuforia Augmented Reality Supported) Vuforia Virtual Reality SDK 사용 시 필수 요건인 Vuforia Augmented Reality SDK를 사용하려면 이 옵션을 활성화합니다.
WSA Holographic Remoting Supported WSA Holographic Remoting을 사용하려면 이 옵션을 활성화합니다. 이 옵션을 사용하려면 Windows Mixed Reality SDK를 추가해야 합니다.


  • 2018–10–15 일부 편집 리뷰를 거쳐 페이지 수정됨
  • [2018.3]에서 유니버설 Windows 플랫폼 스트리밍 설치에 대한 지원 추가됨(https://docs.unity3d.com/2018.3/Documentation/Manual/30_search.html?q=newin20183) NewIn20183
유니버설 Windows 플랫폼: C# 스크립트의 WinRT API
스크립팅 백엔드