Version: 2022.1
언어: 한국어
Getting started with Universal Windows Platform
Developing for Universal Windows Platform

UWP Player Settings

To access the Universal Windows Platform (UWP) Player settings, go to Edit > Preferences > Project Settings > Player from the main menu in Unity. Use the Player settings to determine how Unity builds and displays your final application. For a description of the general Player settings, see Player Settings.

UWP용 플레이어 설정
UWP용 플레이어 설정

프로퍼티 문서는 플레이어 UI 섹션에 나열된 순서대로 그룹화되었습니다.

아이콘(Icon)

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

UWP용 아이콘 설정
UWP용 아이콘 설정

아이콘 섹션에는 인증에 필요하지만 할당되지 않은 이미지에 대한 경고가 표시됩니다.UWP 애플리케이션은 패키지의 일부로 아이콘 및 로고 이미지를 지정해야 Microsoft 스토어에 제출할 수 있습니다.

Note: You can also choose the image types and their sizing within the API. For more information, see documentation on PlayerSettings.WSAImageType and PlayerSettings.WSAImageScale.

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

타일

다음을 설정하여 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 파일에 바로 복사합니다.

타일 및 로고

다음을 설정하여 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 섹션에서 화면이 표시되는 모양에 대해 다음을 커스터마이즈할 수 있습니다.

UWP용 해상도와 프레젠테이션 설정
UWP용 해상도와 프레젠테이션 설정
프로퍼티 설명
Default is Full Screen 앱 창을 전체 화면을 덮는 전체 화면 기본 디스플레이 해상도로 설정합니다.이 모드를 테두리 없는 전체 화면이라고도 합니다.Unity는 스크립트에서 설정한 해상도 또는 설정된 해상도가 없는 경우 기본 디스플레이 해상도로 앱 콘텐츠를 렌더링하고 창을 채우도록 크기를 조정합니다.확대/축소 시 Unity는 콘텐츠가 스트레치되는 것을 방지하기 위해 렌더링된 출력에 검은색 막대를 추가하여 디스플레이 종횡비에 맞춥니다.이 프로세스를 레터박싱이라고 부릅니다.
Run In Background 앱이 포커스를 잃는 경우 게임을 계속 실행할지(일시 중지할지) 여부를 표시합니다.
Allow Fullscreen Switch 기본 OS 전체 화면 키를 누를 때 전체 화면 모드와 창 모드 간에 전환을 허용할지 여부를 나타냅니다.
Transparent Swapchain Indicates whether to set AlphaMode on the swap chain to DXGI_ALPHA_MODE_PREMULTIPLIED.

This setting is used only for UWP projects that use the XAML build type. By enabling this setting, you can compose Unity content with other XAML content in your application.

For more information, see PlayerSettings.WSA.transparentSwapchain.

방향

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

프로퍼티 설명
Default Orientation 애플리케이션에서 사용하는 화면 방향을 지정합니다.
Portrait 애플리케이션에서 창 하단과 기기의 화면 하단이 정렬되는 세로 화면 방향을 사용합니다.
Portrait Upside Down 애플리케이션에서 창 하단과 기기의 화면 상단이 정렬되는 세로 화면 방향을 사용합니다.
Landscape Right 애플리케이션에서 창 우측과 기기의 화면 하단이 정렬되는 가로 화면 방향을 사용합니다.
Landscape Left 애플리케이션에서 창 우측과 기기의 화면 상단이 정렬되는 가로 화면 방향을 사용합니다.
Auto Rotation 화면은 자동 회전 허용 방향 섹션에서 지정한 모든 방향으로 회전할 수 있습니다.

자동 회전 허용 방향

Allowed Orientations for Auto Rotation 섹션에서 Default OrientationAuto Rotation으로 설정하면 애플리케이션에서 지원하는 방향을 지정합니다. 예를 들어 애플리케이션은 가로 방향으로 잠겨있지만 사용자가 가로방향의 왼쪽과 오른쪽을 전환할 수 있도록 하는 데 유용합니다.

이 섹션은 Default OrientationAuto Rotation으로 설정된 경우에만 볼 수 있습니다.이 섹션의 해당 상자를 선택하여 각 방향을 활성화하십시오.

프로퍼티 설명
Portrait 애플리케이션의 창 하단과 기기의 화면 하단이 정렬되는 세로 화면 방향을 애플리케이션에서 지원하는지 여부를 나타냅니다.
Portrait Upside Down 애플리케이션의 창 하단과 기기의 화면 상단이 정렬되는 세로 화면 방향을 애플리케이션에서 지원하는지 여부를 나타냅니다.
Landscape Right 애플리케이션의 창 우측과 기기의 화면 하단이 정렬되는 가로 화면 방향을 애플리케이션에서 지원하는지 여부를 나타냅니다.
Landscape Left 애플리케이션의 창 우측과 기기의 화면 상단이 정렬되는 가로 화면 방향을 애플리케이션에서 지원하는지 여부를 나타냅니다.

스플래시 이미지(Splash Image)

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

UWP용 스플래시 설정
UWP용 스플래시 설정

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

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

Windows

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

UWP용 Windows 스플래시 설정
UWP용 Windows 스플래시 설정

Windows Holographic

다음 설정을 사용하여 Mixed Reality 애플리케이션의 홀로그래픽 스플래시 이미지를 커스터마이즈합니다.

UWP용 Windows Holographic 스플래시 설정
UWP용 Windows Holographic 스플래시 설정

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

추적 손실

홀로그램이 올바른 위치를 유지하게 하려면 혼합 현실 헤드셋이 환경에서 월드 고정 좌표 시스템을 빌드해야 합니다.추적 손실은 월드에서 헤드셋이 현재 위치를 추적하지 못할 때 발생합니다(스스로 위치를 찾을 수 없음).이로 인해 공간 시스템(공간 매핑, 공간 앵커, 공간 단계)이 고장납니다.

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

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

배경색 덮어쓰기

애플리케이션이 초기화되는 동안 UWP에는 Made with Unity 스플래시 화면 앞에 스플래시 화면이 표시됩니다.시각적으로 더 매력적이므로 UWP 스플래시 화면 배경을 스플래시 화면 이미지와 일치시키는 것이 가장 좋습니다.기본 컬러는 검은색입니다.

UWP 특정 스플래시 화면 배경 컬러를 덮어쓰려면 다음 단계를 수행하십시오.

  1. Player Settings > Splash Screen으로 이동하고 Overwrite Background Color를 활성화합니다.
  2. Background Color 선택자에서 원하는 컬러를 선택합니다.

기본 배경 컬러를 덮어쓰면 Unity는 애플리케이션 매니페스트의 컬러 값을 변경합니다.XAML 애플리케이션 타입을 사용하는 경우 Unity는 초기 XAML 페이지에서 컬러 값도 설정합니다.

UWP용 스플래시 설정 배경색 덮어쓰기
UWP용 스플래시 설정 배경색 덮어쓰기

기타 설정

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

렌더링(Rendering)

다음 설정을 사용하여 Unity가 UWP를 위한 게임을 렌더링하는 방법을 커스터마이즈합니다.

UWP용 렌더링 설정
UWP용 렌더링 설정
프로퍼티 설명
Color Space Unity에서 렌더링에 사용할 색 공간을Gamma 또는 Linear 중에서 선택합니다.자세한 내용은 리니어 렌더링 개요를 참조하십시오.

Gamma:감마 색 공간은 일반적으로 프레임 버퍼 포맷의 채널당 8비트로 제한된 구형 하드웨어에서 조명을 계산하는 데 사용됩니다.이제 모니터는 디지털 방식이지만 여전히 감마로 인코딩된 신호를 입력으로 사용합니다.

Linear:리니어 색 공간 렌더링은 더 정밀한 결과를 제공합니다.리니어 색 공간에서 작업하려고 선택하면 에디터는 sRGB 샘플링을 기본으로 사용합니다.텍스처가 리니어 색 공간에 있는 경우, 리니어 색 공간에서 작업하고 각 텍스처에 대해 sRGB 샘플링을 비활성화해야 합니다.
Auto Graphics API 그래픽스 API를 수동으로 선택하고 재정렬할지 여부를 나타냅니다.기본적으로 이 옵션은 활성화되어 있으며, Unity는 Direct3D11을 사용합니다.
Static Batching Uses Static batching.

For more information, see Draw call batching.
Dynamic Batching Uses dynamic batching (enabled by default).

For more information, see Draw call batching.

Note: Dynamic batching has no effect when a Scriptable Render Pipeline is active, so this setting is only visible if the Scriptable Render Pipeline Asset Graphics setting is blank.
Sprite Batching Threshold 배칭 시 사용되는 최대 버텍스 임계값을 제어합니다.
GPU Compute Skinning DX11/DX12/ES3 GPU 스키닝 사용 여부를 나타냅니다.
Graphics Jobs 그래픽스 작업(렌더링 루프)을 다른 CPU 코어에서 실행되는 워커 스레드로 오프로드합니다.이 옵션을 사용하면 병목 현상이 발생할 수 있는 메인 스레드의 Camera.Render에서 소요되는 시간을 줄일 수 있습니다.
Lightmap Encoding 라이트맵의 인코딩 체계와 압축 포맷을 정의합니다.
Low Quality, Normal Quality, High Quality 중에서 선택할 수 있습니다.
HDR Cubemap Encoding HDR 큐브맵의 인코딩 방식과 압축 포맷을 정의합니다.
Low Quality, Normal Quality, High Quality 중에서 선택할 수 있습니다.
Lightmap Streaming 라이트맵에 밉맵 스트리밍을 사용하십시오.Unity는 라이트맵을 생성할 때 이 설정을 모든 라이트맵에 적용합니다.

참고:이 설정을 사용하려면 Texture Streaming Quality 설정을 활성화해야 합니다.
Streaming Priority 밉맵 스트리밍 시스템에서 모든 라이트맵에 대한 우선순위를 설정합니다.Unity는 모든 라이트맵을 생성할 때 이 설정을 적용합니다.
양수일수록 우선순위가 높습니다.유효값 범위는 –128 - 127입니다.
Frame Timing Stats Unity에서 CPU/GPU 프레임 타이밍 통계를 수집할 수 있습니다.이 옵션을 다이내믹 해상도 카메라 설정과 함께 사용하면 애플리케이션이 CPU 또는 GPU에 바인딩되는지 확인할 수 있습니다.
Use Display In HDR Mode (Windows) 게임이 실행될 때 자동으로 HDR 모드 출력으로 전환할 수 있습니다.이 옵션은 이 기능을 지원하는 디스플레이에서만 작동합니다.디스플레이가 HDR 모드를 지원하지 않는 경우 게임은 표준 모드로 실행됩니다.
Swap Chain Bit Depth Selects the number of bits in each color channel for swap chain buffers. You can select Bit Depth 10 or Bit Depth 16. The option to choose bit depth only becomes available when you enable HDR Mode.

For more information on bit depth, see the Scripting API page for D3DHDRDisplayBitDepth.
Virtual Texturing Enable this option to reduce GPU memory usage and texture loading times if your Scene contains many high resolution textures.

For more information, see Virtual Texturing.

Note: The Unity Editor requires a restart for this setting to take effect.
Shader precision model 셰이더에 사용되는 샘플러의 기본 정밀도를 제어합니다.자세한 내용은 셰이더 데이터 타입 및 정밀도를 참조하십시오.
360 Stereo Capture Allows Unity to capture stereoscopic 360 images and videos. When enabled, Unity compiles additional shader variants to support 360 capture (currently only on Windows OSX). When enabled, enable_360_capture keyword is added during the Stereo RenderCubemap call. This keyword is not triggered outside the Stereo RenderCubemap function.

For more information, see Stereo 360 Image and Video Capture.

설정

UWP용 구성 설정
UWP용 구성 설정
프로퍼티 설명
Scripting Backend 스크립팅 백엔드는 Unity가 프로젝트의 C# 코드를 컴파일하고 실행하는 방식을 결정합니다.이 설정은 기본적으로 유니버설 Windows 플랫폼용 IL2CPP로 설정되어 있으며 변경할 수 없습니다.
API Compatibility Level Choose which .NET APIs you can use in your project. This setting can affect compatibility with third-party libraries. However, it has no effect on Editor-specific code (code in an Editor directory, or within an Editor-specific Assembly Definition).

Tip: If you are having problems with a third-party assembly, you can try the suggestion in the API Compatibility Level section below.
.Net Framework 더 큰 빌드를 생성하며 사용 가능한 추가 API가 모든 플랫폼에서 반드시 지원되는 것은 아닙니다..NET 표준 2.0에 포함되지 않은 API에 액세스하는 라이브러리를 사용하는 경우 이 옵션을 선택합니다..NET Framework 4와 호환됩니다(.NET Standard 2.0 프로파일의 모든 항목과 추가 API 포함).

자세한 내용은 추가 클래스 라이브러리 어셈블리 레퍼런스를 참조하십시오.
.Net Standard 2.1 크기가 더 작은 빌드를 생성하며 크로스 플랫폼이 100% 지원됩니다.
IL2CPP Code Generation Unity에서 IL2CPP 코드 생성을 관리하는 방법을 정의합니다.
Faster runtime 런타임 성능에 최적화된 코드를 생성합니다.이 설정은 기본적으로 활성화되어 있습니다.
Faster (smaller) builds) 빌드 크기와 반복에 최적화된 코드를 생성합니다.이 설정을 사용하면 코드가 적게 생성되고 빌드 크기가 작아지지만 특히 일반 코드의 런타임 성능이 저하될 수 있습니다.변경 사항을 반복할 때와 같이 빌드 시간을 단축하는 것이 중요한 경우 이 옵션을 사용하십시오.
C++ Compiler Configuration IL2CPP 생성 코드를 컴파일할 때 사용되는 C++ 컴파일러 설정을 선택합니다.

참고:이 프로퍼티는 생성된 Visual Studio 프로젝트에서 선택되므로 유니버설 Windows 플랫폼에서는 비활성화됩니다.
Use incremental GC 가비지 컬렉션을 여러 프레임에 걸쳐 분산하는 점진적 가비지 컬렉션을 사용하여 가비지 컬렉션과 관련된 프레임 기간의 스파이크를 줄입니다.

자세한 내용은 자동 메모리 관리를 참조하십시오.
Assembly Version Validation Mono가 강력한 이름의 어셈블리 타입을 확인하는지 여부를 나타냅니다.
Allow downloads over HTTP Indicates whether to allow downloading content over HTTP. The options are Not allowed, Allowed in Development builds only, and Always allowed. The default option is Not allowed due to the recommended protocol being HTTPS, which is more secure.
Accelerometer Frequency 가속 센서를 샘플링할 빈도를 정의합니다.Disabled를 선택하면 샘플이 수집되지 않습니다.그렇지 않으면 15Hz, 30Hz, 60Hz 및 100Hz 주파수 중에서 선택할 수 있습니다.
Active Input Handling Chooses how to handle input from users.
Input Manager (Old) 기존의 Input 설정을 사용합니다.
Input System Package (New) 입력 시스템을 사용합니다.이 옵션을 사용하려면 InputSystem 패키지를 설치해야 합니다.
Both 두 시스템 모두를 나란히 사용합니다.

API 호환성 레벨

모든 타겟에 대해 Mono API 호환성 레벨을 선택할 수 있습니다.가끔 타사 .NET 라이브러리가 .NET 호환성 레벨을 벗어난 기능을 사용하는 경우가 있습니다.이러한 경우 발생하는 상황과 최선의 해결책을 알아보려면 다음 권장 사항을 따르십시오.

  1. Windows용 ILSpy를 설치합니다.
  2. 문제가 있는 API 호환성 레벨의 .NET 어셈블리를 ILSpy로 드래그합니다.이것은 Data/MonoBleedingEdge/lib/mono/YOURSUBSET/` 아래에 있습니다.
  3. 서드파티 어셈블리를 드래그합니다.
  4. 서드파티 어셈블리를 마우스 오른쪽 버튼으로 클릭하고 Analyze를 선택합니다.
  5. 분석 보고서에서 Depends on 섹션을 살펴봅니다.타사 어셈블리가 의존하고 있지만 선택한 .NET 호환성 레벨에서 사용할 수 없는 항목은 빨간색으로 하이라이트됩니다.

스크립트 컴파일

UWP용 스크립트 컴파일 설정
UWP용 스크립트 컴파일 설정
프로퍼티 설명
Scripting Define Symbols 커스텀 컴파일 플래그를 설정합니다.

자세한 내용은 플랫폼 종속 컴파일을 참조하십시오.
Additional Compiler Arguments 이 리스트에 항목을 추가하여 Roslyn 컴파일러에 추가 인자를 전달합니다.각 추가 인자에 대해 새 항목을 하나씩 사용합니다.
새 항목을 생성하려면 Add(+)를 클릭합니다.항목을 제거하려면 Remove(-)를 클립합니다.

원하는 인자를 모두 추가하면 Apply를 클릭하여 향후 컴파일에 추가 인자를 포함합니다.Revert를 클릭하면 이 리스트를 가장 최근 적용된 상태로 재설정할 수 있습니다.
Suppress Common Warnings C# 경고 CS0169CS0649 표시 여부를 나타냅니다.
Allow ‘unsafe’ Code 사전 정의된 어셈블리(예: Assembly-CSharp.dll)에서 ‘안전하지 않은’ C# 코드 컴파일에 대한 지원을 활성화합니다.
어셈블리 정의 파일(.asmdef)의 경우, .asmdef 파일 하나를 클릭하고 표시되는 인스펙터 창에서 해당 옵션을 활성화합니다.
Use Deterministic Compilation -deterministic C# 플래그를 사용한 컴파일 방지 여부를 나타냅니다.이 설정을 사용하면 어셈블리가 컴파일될 때마다 바이트 단위로 동일하게 컴파일됩니다.
자세한 내용은 Microsoft의 결정적 컴파일러 옵션을 참조하십시오.
Enable Roslyn Analyzers 프로젝트에 있을 수 있는 Roslyn 분석기 DLL 없이 사용자 작성 스크립트를 컴파일할지 여부를 나타냅니다.

최적화(Optimization)

UWP용 최적화 설정

프로퍼티 설명
Prebake Collision Meshes 빌드 시 Meshes에 충돌 데이터를 추가합니다.
Keep Loaded Shaders Alive 셰이더의 언로드를 방지할지 여부를 나타냅니다.

자세한 내용은 셰이더 로딩을 참조하십시오.
Preloaded Assets 시작 시 플레이어가 로드할 에셋 배열을 설정합니다.
새 에셋을 추가하려면 Size 프로퍼티 값을 늘린 다음, 표시되는 새 Element 상자에서 로드할 에셋에 대한 레퍼런스를 설정합니다.
Managed Stripping Level Chooses how aggressively Unity strips unused managed (C#) code. The options are Minimal, Low, Medium, and High.
When Unity builds your app, the Unity Linker process can strip unused code from the managed DLLs your Project uses. Stripping code can make the resulting executable significantly smaller, but can sometimes accidentally remove code that’s in use.

For more information about these options and bytecode stripping with IL2CPP, see ManagedStrippingLevel.
Vertex Compression Sets vertex compression per channel. This affects all the meshes in your project.
Typically, Vertex Compression is used to reduce the size of mesh data in memory, reduce file size, and improve GPU performance.

For more information on how to configure vertex compression and limitations of this setting, see Compressing mesh data.
Optimize Mesh Data Enable this option to strip unused vertex attributes from the mesh used in a build. This option reduces the amount of data in the mesh, which can help reduce build size, loading times, and runtime memory usage.

Warning: If you have this setting enabled, you should remember to not change material or shader settings at runtime.

See PlayerSettings.stripUnusedMeshComponents for more information.
Strict shader variant matching 셰이더 배리언트가 누락된 경우, 에디터는 콘솔에 오류 메시지를 표시하면서 밝은 분홍색 오류 셰이더를 사용합니다.
Texture MipMap Stripping 모든 플랫폼에 대한 밉맵 스트리핑을 활성화합니다.이것은 빌드 시 텍스처에서 사용하지 않는 밉맵을 제거합니다.Unity는 현재 플랫폼의 Quality Settings와 밉맵의 값을 비교하여 사용하지 않는 밉맵을 결정합니다.현재 플랫폼의 모든 Quality Setting에서 밉맵 값이 제외된 경우 Unity는 빌드 시점에 빌드에서 해당 밉맵을 제거합니다.QualitySettings.masterTextureLimit이 제거된 밉맵 값으로 설정된 경우, Unity는 제거되지 않은 가장 가까운 밉맵 값으로 값을 설정합니다.

스택 추적

특정 컨텍스트에서 허용할 스택 추적 로깅 타입을 선택합니다.

UWP용 스택 추적 설정
UWP용 스택 추적 설정
  • 필요한 로깅 유형에 따라 각 로그 유형(Error, Assert, Warning, Log, Exception)에 해당하는 옵션을 활성화하여 선호하는 스택 추적 방법을 선택합니다.예시:
    • ScriptOnly:스크립트를 실행할 때만 로그합니다.
    • Full:항상 로그합니다.
    • None:어떤 로그도 기록하지 않습니다.

자세한 내용은 스택 추적 로깅을 참조하십시오.

레거시

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

UWP용 레거시 설정
UWP용 레거시 설정

퍼블리싱 설정(Publishing Settings)

이 설정을 사용하여 UWP 앱 빌드를 커스터마이즈하십시오.이러한 옵션은 다음 그룹으로 구성됩니다.

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 파일)에 채워집니다.UWP 앱에서는 매니페스트에 지정한 내용과 관계없이 Unity가 Player 설정에서 사용한 방향으로 방향을 초기화합니다.그 이유는 데스크톱 및 태블릿 컴퓨터에서는 Windows 자체에서 이러한 설정을 무시하기 때문입니다.

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

패키지

UWP용 패키지 설정
UWP용 패키지 설정
프로퍼티 설명
패키지 이름 시스템에서 패키지를 식별할 이름을 입력합니다. 이름은 고유해야 합니다.
Package display name The Product Name value that you set at the top of the Player settings appears here. This is the name of the app as it will appear on the Windows Store.
Version Major.Minor.Build.Revision 스트링을 사용하여 4채널 표기에 패키지 버전을 입력합니다.
Publisher display name 플레이어 설정 상단에서 설정하는 Company Name 값이 여기에 나타납니다.이것은 퍼블리셔의 사용자 친화적인 이름입니다.
Streaming Install 씬을 위한 스트리밍 가능한 에셋을 포함한 AppxContentGroupMap.xml 매니페스트 파일을 만들려면 이 옵션을 활성화합니다. 씬 에셋을 기본적으로 포함하려면 Last required scene index 설정을 사용합니다. 씬 인덱스가 Last required scene index 보다 상위에 있는 씬의 에셋은 매니페스트 파일에서 스트리밍 가능한 에셋으로 지정됩니다.
Last required scene index Build Settings 창Scenes In Build 목록에서 해당 목록의 마지막 씬에 해당하는 인덱스 번호를 입력하여 게임 빌드에 반드시 있어야 하는 씬을 입력합니다.애플리케이션을 시작하려면 Unity에 지정된 인덱스 이하의 씬 인덱스가 필요합니다.목록에 있는 모든 파일을 요구하려면 목록에서 마지막 씬의 인덱스를 사용하십시오.
씬 인덱스가 더 큰 씬에는 인덱스가 더 작은 씬에 대한 공유 에셋이 포함되어야 합니다.Build Settings 다이얼로그에서 씬 순서는 애플리케이션에서 필요한 에셋을 찾을 때 중요할 수 있습니다.

참고:기본적으로 Streaming Install 옵션은 비활성화되어 있으므로 이 설정은 사용할 수 없습니다.이 프로퍼티를 편집할 수 있게 하려면 먼저 Streaming Install 옵션을 활성화하십시오.

인증서

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

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

Select를 클릭하여 로컬 컴퓨터에서 해당 인증서 파일(.pfx)을 선택합니다.선택한 파일의 이름이 Select에 표시됩니다.

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

  1. Click Create. The Create Test Certificate for Windows Store dialog window appears.

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

  3. 비밀번호로 인증서를 보호할 수도 있지만 이는 선택 사항입니다.비밀번호 입력란은 비워 두는 것이 좋습니다.

  4. Create를 클릭합니다.

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

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

Application UI

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

UWP용 애플리케이션 UI 설정
UWP용 애플리케이션 UI 설정

플레이어 설정의 상단에서 설정하는 Display name 값이 섹션에 나타납니다.이것은 앱의 정식 이름입니다.

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

파일 및 프로토콜 연결

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

UWP용 File Type Association 섹션
UWP용 File Type Association 섹션

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

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

  • Click Add New. An empty entry appears in File Types. You can add multiple file types.
  • Content Type 텍스트 상자에 특정한 파일 유형의 MIME 콘텐츠 유형을 입력합니다(예: image/jpeg).
  • File Type 텍스트 상자에 ’.’와 등록할 파일 유형을 입력합니다(예: .jpeg).

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

For more information, see Auto-launching with file and URI associations (XAML).

기타

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

UWP용 Misc 설정
UWP용 Misc 설정
프로퍼티 설명
Default Language (.vcxproj) 생성된 Visual Studio 프로젝트에서 XML 기본 언어를 설정합니다.지정되지 않으면 ‘en-US’가 사용됩니다.
참고:변경 사항은 초기 파일 생성에만 적용되며 기존 파일에는 변경 사항이 적용되지 않습니다.
Input Source 입력을 받을 소스를 정의합니다.현재 이 기능은 마우스와 터치 입력에만 적용되며, 키보드 입력은 항상 CoreWindow에서 제공되기 때문입니다.
CoreWindow CoreWindow 이벤트를 구독합니다.이것은 기본값입니다.
Independent Input Source 독립 입력 소스를 만들고 입력을 수신합니다.
SwapChainPanel SwapChainPanel 이벤트를 구독합니다.

Capabilities

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

UWP용 Capabilities 설정
UWP용 Capabilities 설정
프로퍼티 설명
EnterpriseAuthentication Windows 도메인 자격 증명은 사용자가 자신의 자격 증명을 사용하여 원격 리소스에 로그인하여 사용자 이름과 비밀번호를 제공한 것과 동일한 역할을 할 수 있도록 합니다.
InternetClient 앱이 인터넷에서 수신되는 데이터를 수신할 수 있도록 허용합니다.서버 역할을 할 수 없습니다.로컬 네트워크에 액세스할 수 없습니다.
InternetClientServer InternetClient와 동일하되, 앱이 수신되는 네트워크 연결을 수신해야 하는 P2P(peer-to-peer) 시나리오도 활성화합니다.
MusicLibrary 사용자의 음악에 액세스하여 앱이 사용자의 상호작용 없이 라이브러리의 모든 파일을 열거하고 액세스할 수 있도록 합니다. 이 기능은 보통 음악 라이브러리 전체를 사용하는 주크박스 앱에서 활용됩니다.
PicturesLibrary 사용자의 사진에 액세스하여 앱이 사용자의 상호작용 없이 라이브러리의 모든 파일을 열거하고 액세스할 수 있도록 합니다. 이 기능은 보통 사진 라이브러리 전체를 사용하는 사진 앱에서 활용됩니다.
PrivateNetworkClientServer 방화벽을 통해 가정 및 직장 네트워크에 대한 인바운드 액세스와 아웃바운드 액세스를 제공합니다. 일반적으로 이 기능은 로컬 영역 네트워크(LAN)를 통해 통신하는 게임 및 다양한 로컬 기기에 걸쳐 데이터를 공유하는 앱에서 사용됩니다.
RemovableStorage USB 키와 외장 하드 드라이브 등 제거 가능한 스토리지의 파일에 액세스합니다.
SharedUserCertificates 앱이 공유 사용자 스토어의 소프트웨어 및 하드웨어 기반 인증서(예: 스마트카드에 저장된 인증서)를 추가하고 액세스할 수 있도록 합니다. 일반적으로 이 기능은 스마트 카드를 이용하여 인증해야 하는 금융 앱이나 기업 앱에서 사용됩니다.
VideosLibrary 앱이 사용자의 비디오에 액세스하여 사용자의 상호작용 없이 라이브러리의 모든 파일을 열거하고 액세스할 수 있도록 합니다. 이 기능은 보통 비디오 라이브러리 전체를 사용하는 영화 재생 앱에서 활용됩니다.
WebCam 빌트인 카메라 또는 외부 웹캠의 비디오 피드에 액세스하여 앱이 사진과 비디오를 캡처할 수 있도록 합니다.
참고:이렇게 하면 비디오 스트림에 대한 액세스 권한만 부여됩니다.오디오 스트림에 대한 액세스 권한도 부여하려면 Microphone 기능을 추가해야 합니다.
Proximity 근접한 여러 대의 기기가 상호 통신할 수 있도록 합니다. 일반적으로 이 기능은 캐주얼 멀티플레이어 게임 및 정보를 교환하는 앱에서 사용됩니다. 기기가 Bluetooth, Wi-Fi와 인터넷 중 최상의 연결을 제공하는 커뮤니케이션 기술의 사용을 시도합니다.
Microphone 마이크의 오디오 피드에 액세스하여 앱이 연결된 마이크의 오디오를 녹음할 수 있도록 합니다.
위치 PC의 GPS 센서와 같은 전용 하드웨어에서 검색해서 가져오거나 가용 네트워크 정보에서 파생된 위치 기능에 액세스합니다.
HumanInterfaceDevice Enables access to Human Interface Device APIs. For more information, see How to specify device capabilities for 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 앱에 현재의 알림 설정 상태에 대한 액세스 권한을 허용합니다.
GazeInput 호환되는 시선 추적 기기가 연결되면 앱이 사용자가 어디를 보고 있는지 감지할 수 있습니다.

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

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

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

지원되는 기기 패밀리

A device family identifies the APIs, system characteristics, and behaviors across a class of devices. It also determines the set of devices on which your app can be installed from the Store. For more information, see Microsoft’s Device families overview.

활성화된 옵션이 없으면 모든 기기 제품군에서 앱을 사용할 수 있도록 Windows.Universal이 기본값으로 사용됩니다.에디터가 아닌 PlayerSettings.WSATargetFamily의 API 내에서 이를 설정할 수도 있습니다.

참고:이러한 설정은 새 UWP Visual Studio 솔루션을 생성할 때만 사용됩니다.이러한 설정을 변경해도 기존 폴더에 UWP를 다시 빌드하는 경우에는 영향을 미치지 않습니다.

UWP용으로 지원되는 기기 제품군 설정
UWP용으로 지원되는 기기 제품군 설정
프로퍼티 설명
데스크톱 애플리케이션이 데스크톱 기기 제품군을 지원하는지 여부를 나타냅니다.
Mobile 애플리케이션이 모바일 디바이스 제품군을 지원하는지 여부를 나타냅니다.
Holographic 애플리케이션이 HoloLens(독립형 홀로그램 컴퓨터) 기기 제품군을 지원하는지 여부를 나타냅니다.이것은 혼합 현실 앱에 사용됩니다.
Team 애플리케이션이 팀 기기 제품군을 지원하는지 여부를 나타냅니다.이것은 일반적으로 Microsoft Surface Hub 기기에 사용됩니다.
IoT 애플리케이션이 IoT 기기 제품군을 지원하는지 여부를 나타냅니다.

참고:현재 IoT를 대상으로 하는 앱은 앱 스토어에서 유효하지 않으며 개발 목적으로만 사용해야 합니다.
IoTHeadless 애플리케이션이 IoTHeadless 기기 제품군을 지원하는지 여부를 나타냅니다.

참고:현재 IoTHeadless를 대상으로 하는 앱은 앱 스토어에서 유효하지 않으며 개발 목적으로만 사용해야 합니다.

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

Getting started with Universal Windows Platform
Developing for Universal Windows Platform