Universal Windows Platform (UWP) 플레이어 설정에 액세스하려면 Unity의 메인 메뉴에서 Edit* > Preferences > Project Settings > Player로 이동하십시오.이 플레이어 설정을 사용하여 Unity가 최종 애플리케이션을 빌드하고 표시하는 방식을 결정할 수 있습니다.일반적인 플레이어 설정에 대한 설명은 플레이어 설정을 참조하십시오.
프로퍼티 문서는 플레이어 UI 섹션에 나열된 순서대로 그룹화되었습니다.
Microsoft 스토어의 앱 브랜딩을 커스터마이즈하려면 Icon 설정을 사용하십시오.
아이콘 섹션에는 인증에 필요하지만 할당되지 않은 이미지에 대한 경고가 표시됩니다.UWP 애플리케이션은 패키지의 일부로 아이콘 및 로고 이미지를 지정해야 Microsoft 스토어에 제출할 수 있습니다.
참고:API 내에서 이미지 타입과 이미지 크기를 선택할 수도 있습니다.자세한 내용은 PlayerSettings.WSAImageType
및 PlayerSettings.WSAImageScale
을 참조하십시오.
애플리케이션의 스토어 설명 페이지에 표시되는 이미지를 지정하려면 Store Logo 섹션을 펼칩니다. 최대 8가지의 해상도를 추가할 수 있습니다.
다음을 설정하여 Microsoft 스토어 타일이 일반적으로 표시되는 모양을 커스터마이즈할 수 있습니다.
프로퍼티 | 설명 | |
---|---|---|
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
파일에 바로 복사합니다.
이 설정을 사용하여 Microsoft 스토어에서 타일이 표시할 이미지를 지정합니다.
프로퍼티 | 설명 |
---|---|
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 and Presentation 섹션에서 화면이 표시되는 모양에 대해 다음을 커스터마이즈할 수 있습니다.
프로퍼티 | 설명 |
---|---|
Default is Full Screen | 앱 창을 전체 화면을 덮는 전체 화면 기본 디스플레이 해상도로 설정합니다.이 모드를 테두리 없는 전체 화면이라고도 합니다.Unity는 스크립트에서 설정한 해상도 또는 설정된 해상도가 없는 경우 기본 디스플레이 해상도로 앱 콘텐츠를 렌더링하고 창을 채우도록 크기를 조정합니다.확대/축소 시 Unity는 콘텐츠가 스트레치되는 것을 방지하기 위해 렌더링된 출력에 검은색 막대를 추가하여 디스플레이 종횡비에 맞춥니다.이 프로세스를 레터박싱이라고 부릅니다. |
Run In Background | 앱이 포커스를 잃는 경우 게임을 계속 실행할지(일시 중지할지) 여부를 표시합니다. |
Allow Fullscreen Switch | 기본 OS 전체 화면 키를 누를 때 전체 화면 모드와 창 모드 간에 전환을 허용할지 여부를 나타냅니다. |
Transparent Swapchain | 스왑체인의 알파 모드를 DXGI_ALPHA_MODE_PREMULTIPLIED로 설정할지 여부를 나타냅니다. 이 설정은 XAML 빌드 유형을 사용하는 UWP 프로젝트에만 사용됩니다.이 설정을 활성화하면 애플리케이션에서 다른 XAML 콘텐츠와 함께 Unity 콘텐츠를 구성할 수 있습니다. 자세한 내용은 PlayerSettings.WSA.transparentSwapchain을 참조하십시오. |
Default Orientation 드롭다운 메뉴에서 게임 화면의 방향을 선택할 수 있습니다.
프로퍼티 | 설명 | |
---|---|---|
Default Orientation | 애플리케이션에서 사용하는 화면 방향을 지정합니다. | |
Portrait | 애플리케이션에서 창 하단과 기기의 화면 하단이 정렬되는 세로 화면 방향을 사용합니다. | |
Portrait Upside Down | 애플리케이션에서 창 하단과 기기의 화면 상단이 정렬되는 세로 화면 방향을 사용합니다. | |
Landscape Right | 애플리케이션에서 창 우측과 기기의 화면 하단이 정렬되는 가로 화면 방향을 사용합니다. | |
Landscape Left | 애플리케이션에서 창 우측과 기기의 화면 상단이 정렬되는 가로 화면 방향을 사용합니다. | |
Auto Rotation | 화면은 자동 회전 허용 방향 섹션에서 지정한 모든 방향으로 회전할 수 있습니다. |
Allowed Orientations for Auto Rotation 섹션에서 Default Orientation을 Auto Rotation으로 설정하면 애플리케이션에서 지원하는 방향을 지정합니다. 예를 들어 애플리케이션은 가로 방향으로 잠겨있지만 사용자가 가로방향의 왼쪽과 오른쪽을 전환할 수 있도록 하는 데 유용합니다.
이 섹션은 Default Orientation이 Auto Rotation으로 설정된 경우에만 볼 수 있습니다.이 섹션의 해당 상자를 선택하여 각 방향을 활성화하십시오.
프로퍼티 | 설명 |
---|---|
Portrait | 애플리케이션의 창 하단과 기기의 화면 하단이 정렬되는 세로 화면 방향을 애플리케이션에서 지원하는지 여부를 나타냅니다. |
Portrait Upside Down | 애플리케이션의 창 하단과 기기의 화면 상단이 정렬되는 세로 화면 방향을 애플리케이션에서 지원하는지 여부를 나타냅니다. |
Landscape Right | 애플리케이션의 창 우측과 기기의 화면 하단이 정렬되는 가로 화면 방향을 애플리케이션에서 지원하는지 여부를 나타냅니다. |
Landscape Left | 애플리케이션의 창 우측과 기기의 화면 상단이 정렬되는 가로 화면 방향을 애플리케이션에서 지원하는지 여부를 나타냅니다. |
일반적인 스플래시 화면 설정 위의 Player Settings 설정을 사용하면 UWP를 위한 스플래시 이미지를 지정할 수 있습니다.
가상 현실 디스플레이에 표시될 커스텀 스플래시 이미지를 선택하려면 Virtual Reality Splash Image 프로퍼티를 사용하십시오.
일반적인 스플래시 화면 설정 아래에 다음과 같이 몇 가지 섹션이 더 있습니다.
앱의 스플래시 화면에서 사용할 전경 이미지를 설정합니다.최대 7가지 해상도를 추가할 수 있습니다.
다음 설정을 사용하여 Mixed Reality 애플리케이션의 홀로그래픽 스플래시 이미지를 커스터마이즈합니다.
시작 시 표시할 Holographic Splash Image를 설정합니다. 이 이미지는 5초 동안 또는 앱이 로딩을 완료할 때까지 표시됩니다.
홀로그램이 올바른 위치를 유지하게 하려면 혼합 현실 헤드셋이 환경에서 월드 고정 좌표 시스템을 빌드해야 합니다.추적 손실은 월드에서 헤드셋이 현재 위치를 추적하지 못할 때 발생합니다(스스로 위치를 찾을 수 없음).이로 인해 공간 시스템(공간 매핑, 공간 앵커, 공간 단계)이 고장납니다.
이러한 현상이 발생하면 Unity에서 홀로그램 렌더링이 중단되고, 게임이 일시중지되며 알림이 표시됩니다. On Tracking Loss Pause and Show Image 프로퍼티를 활성화한 다음 Tracking Loss Image 프로퍼티로 표시될 이미지를 선택하여 알림에 나타나는 이미지를 커스터마이즈할 수 있습니다.
자세한 내용은 Unity 권장 설정을 참조하십시오.
애플리케이션이 초기화되는 동안 UWP에는 Made with Unity 스플래시 화면 앞에 스플래시 화면이 표시됩니다.시각적으로 더 매력적이므로 UWP 스플래시 화면 배경을 스플래시 화면 이미지와 일치시키는 것이 가장 좋습니다.기본 컬러는 검은색입니다.
UWP 특정 스플래시 화면 배경 컬러를 덮어쓰려면 다음 단계를 수행하십시오.
기본 배경 컬러를 덮어쓰면 Unity는 애플리케이션 매니페스트의 컬러 값을 변경합니다.XAML 애플리케이션 타입을 사용하는 경우 Unity는 초기 XAML 페이지에서 컬러 값도 설정합니다.
이 섹션에서는 다음 그룹으로 분류된 다양한 옵션을 커스터마이즈할 수 있습니다.
다음 설정을 사용하여 Unity가 UWP를 위한 게임을 렌더링하는 방법을 커스터마이즈합니다.
프로퍼티 | 설명 | |
---|---|---|
Color Space | Unity에서 렌더링에 사용할 색 공간을Gamma 또는 Linear 중에서 선택합니다.자세한 내용은 리니어 렌더링 개요를 참조하십시오. Gamma:감마 색 공간은 일반적으로 프레임 버퍼 포맷의 채널당 8비트로 제한된 구형 하드웨어에서 조명을 계산하는 데 사용됩니다.이제 모니터는 디지털 방식이지만 여전히 감마로 인코딩된 신호를 입력으로 사용합니다. Linear:리니어 색 공간 렌더링은 더 정밀한 결과를 제공합니다.리니어 색 공간에서 작업하려고 선택하면 에디터는 sRGB 샘플링을 기본으로 사용합니다.텍스처가 리니어 색 공간에 있는 경우, 리니어 색 공간에서 작업하고 각 텍스처에 대해 sRGB 샘플링을 비활성화해야 합니다. |
|
Auto Graphics API | 그래픽스 API를 수동으로 선택하고 재정렬할지 여부를 나타냅니다.기본적으로 이 옵션은 활성화되어 있으며, Unity는 Direct3D11을 사용합니다. | |
Static Batching | 정적 배칭을 사용합니다.자세한 내용은 드로우 콜 배칭을 참조하십시오. | |
Dynamic Batching | 동적 배칭을 사용합니다(기본적으로 활성화됨).자세한 내용은 드로우 콜 배칭을 참조하십시오. 참고:Scriptable Render Pipeline이 활성화되어 있으면 동적 배칭이 적용되지 않으므로 이 설정은 Scriptable Render Pipeline Asset Graphics 설정이 비어 있는 경우에만 표시됩니다. |
|
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 | 스왑 체인 버퍼에 대한 각 컬러 채널의 비트 수를 선택합니다.Bit Depth 10 또는 Bit Depth 16을 선택할 수 있습니다.비트 뎁스 선택 옵션은 HDR 모드를 활성화할 때만 사용할 수 있습니다. 비트 뎁스에 대한 자세한 내용은 D3DHDRDisplayBitDepth에 대한 스크립팅 API 페이지를 참조하십시오. |
|
Virtual Texturing (Experimental) | 씬에 고해상도 텍스처가 많은 경우 이 옵션을 활성화하면 GPU 메모리 사용량과 텍스처 로딩 시간을 줄일 수 있습니다.자세한 내용은 가상 텍스처링을 참조하십시오. 참고:이 설정을 적용하려면 Unity 에디터를 다시 시작해야 합니다. |
|
Shader precision model | 셰이더에 사용되는 샘플러의 기본 정밀도를 제어합니다.자세한 내용은 셰이더 데이터 타입 및 정밀도를 참조하십시오. | |
360 Stereo Capture | Unity에서 양안 360 이미지와 동영상을 캡처할 수 있습니다.활성화하면 Unity는 360 캡처를 지원하기 위해 추가 셰이더 배리언트를 컴파일합니다(Windows에서만 지원).활성화하면 Stereo RenderCubemap call 중에 enable_360_capture 키워드가 추가됩니다.이 키워드는 Stereo RenderCubemap 함수 외부에서는 트리거되지 않습니다.자세한 내용은 스테레오 360 이미지 및 동영상 캡처를 참조하십시오. |
프로퍼티 | 설명 | |
---|---|---|
Scripting Backend | 스크립팅 백엔드는 Unity가 프로젝트의 C# 코드를 컴파일하고 실행하는 방식을 결정합니다.이 설정은 기본적으로 유니버설 Windows 플랫폼용 IL2CPP로 설정되어 있으며 변경할 수 없습니다. | |
API Compatibility Level | 프로젝트에서 사용할 수 있는 .NET API를 선택합니다.이 설정은 타사 라이브러리와의 호환성에 영향을 줄 수 있습니다.그러나 에디터 전용 코드(에디터 디렉토리 또는 에디터 전용 어셈블리 정의 내 코드)에는 영향을 미치지 않습니다. 팁:타사 어셈블리에 문제가 있는 경우 아래의 API 호환성 수준 섹션에서 제안하는 방법을 시도해 볼 수 있습니다. |
|
.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 | HTTP를 통한 콘텐츠 다운로드를 허용할지 여부를 나타냅니다.옵션은 Not allowed, Allowed in Development builds only, Always allowed입니다.기본 옵션은 Not allowed로 설정되어 있는데, 이는 권장 프로토콜이 더 안전한 HTTPS이기 때문입니다. | |
Accelerometer Frequency | 가속 센서를 샘플링할 빈도를 정의합니다.Disabled를 선택하면 샘플이 수집되지 않습니다.그렇지 않으면 15Hz, 30Hz, 60Hz 및 100Hz 주파수 중에서 선택할 수 있습니다. | |
Active Input Handling | 사용자의 입력을 처리하는 방법을 선택합니다. | |
Input Manager (Old) | 기존의 Input 설정을 사용합니다. | |
Input System Package (New) | 입력 시스템을 사용합니다.이 옵션을 사용하려면 InputSystem 패키지를 설치해야 합니다. | |
Both | 두 시스템 모두를 나란히 사용합니다. |
모든 타겟에 대해 Mono API 호환성 레벨을 선택할 수 있습니다.가끔 타사 .NET 라이브러리가 .NET 호환성 레벨을 벗어난 기능을 사용하는 경우가 있습니다.이러한 경우 발생하는 상황과 최선의 해결책을 알아보려면 다음 권장 사항을 따르십시오.
프로퍼티 | 설명 |
---|---|
Scripting Define Symbols | 커스텀 컴파일 플래그를 설정합니다. 자세한 내용은 플랫폼 종속 컴파일을 참조하십시오. |
Additional Compiler Arguments | 이 리스트에 항목을 추가하여 Roslyn 컴파일러에 추가 인자를 전달합니다.각 추가 인자에 대해 새 항목을 하나씩 사용합니다. 새 항목을 생성하려면 Add(+)를 클릭합니다.항목을 제거하려면 Remove(-)를 클립합니다. 원하는 인자를 모두 추가하면 Apply를 클릭하여 향후 컴파일에 추가 인자를 포함합니다.Revert를 클릭하면 이 리스트를 가장 최근 적용된 상태로 재설정할 수 있습니다. |
Suppress Common Warnings | C# 경고 CS0169 및 CS0649 표시 여부를 나타냅니다. |
Allow ‘unsafe’ Code | 사전 정의된 어셈블리(예: Assembly-CSharp.dll )에서 ‘안전하지 않은’ C# 코드 컴파일에 대한 지원을 활성화합니다.어셈블리 정의 파일( .asmdef )의 경우, .asmdef 파일 하나를 클릭하고 표시되는 인스펙터 창에서 해당 옵션을 활성화합니다. |
Use Deterministic Compilation | -deterministic C# 플래그를 사용한 컴파일 방지 여부를 나타냅니다.이 설정을 사용하면 어셈블리가 컴파일될 때마다 바이트 단위로 동일하게 컴파일됩니다. 자세한 내용은 Microsoft의 결정적 컴파일러 옵션을 참조하십시오. |
Enable Roslyn Analyzers | 프로젝트에 있을 수 있는 Roslyn 분석기 DLL 없이 사용자 작성 스크립트를 컴파일할지 여부를 나타냅니다. |
프로퍼티 | 설명 | |
---|---|---|
Prebake Collision Meshes | 빌드 시 Meshes에 충돌 데이터를 추가합니다. | |
Keep Loaded Shaders Alive | 셰이더의 언로드를 방지할지 여부를 나타냅니다. 자세한 내용은 셰이더 로딩을 참조하십시오. |
|
Preloaded Assets | 시작 시 플레이어가 로드할 에셋 배열을 설정합니다. 새 에셋을 추가하려면 Size 프로퍼티 값을 늘린 다음, 표시되는 새 Element 상자에서 로드할 에셋에 대한 레퍼런스를 설정합니다. |
|
Managed Stripping Level | Unity가 사용하지 않는 관리되는 (C#) 코드를 얼마나 적극적으로 스트리핑할지 선택합니다.옵션은 Minimal, Low, Medium, High입니다. Unity가 앱을 빌드하면 Unity Linker 프로세스는 프로젝트가 사용하는 관리되는 DLL에서 미사용 코드를 스트리핑할 수 있습니다.스트리핑 코드는 실행 파일의 크기를 훨씬 작게 만들 수 있지만, 때때로 사용 중인 코드가 실수로 제거될 수 있습니다. 이러한 옵션과 IL2CPP를 사용한 바이트코드 스트리핑에 대한 자세한 내용은 ManagedStrippingLevel을 참조하십시오. |
|
Vertex Compression | 채널당 버텍스 압축을 설정합니다.이는 프로젝트의 모든 메시에 영향을 미칩니다. 일반적으로 버텍스 압축은 메모리 내의 메시 데이터 크기를 줄이고 파일 크기를 줄이며 GPU 성능을 향상시키는 데 사용됩니다. 버텍스 압축을 구성하는 방법과 이 설정의 제한 사항을 자세히 보려면 메시 데이터 압축을 참조하십시오. |
|
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. Refer to PlayerSettings.stripUnusedMeshComponents for more information. |
|
Strict shader variant matching | 셰이더 배리언트가 누락된 경우, 에디터는 콘솔에 오류 메시지를 표시하면서 밝은 분홍색 오류 셰이더를 사용합니다. | |
Texture MipMap Stripping | 모든 플랫폼에 대한 밉맵 스트리핑을 활성화합니다.이것은 빌드 시 텍스처에서 사용하지 않는 밉맵을 제거합니다.Unity는 현재 플랫폼의 Quality Settings와 밉맵의 값을 비교하여 사용하지 않는 밉맵을 결정합니다.현재 플랫폼의 모든 Quality Setting에서 밉맵 값이 제외된 경우 Unity는 빌드 시점에 빌드에서 해당 밉맵을 제거합니다.QualitySettings.masterTextureLimit이 제거된 밉맵 값으로 설정된 경우, Unity는 제거되지 않은 가장 가까운 밉맵 값으로 값을 설정합니다. |
특정 컨텍스트에서 허용할 스택 추적 로깅 타입을 선택합니다.
자세한 내용은 스택 추적 로깅을 참조하십시오.
SkinnedMeshRenderers의 블렌드 셰이프 가중치 범위를 고정하려면 Clamp BlendShapes (Deprecated)를 활성화합니다.
이 설정을 사용하여 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를 사용하여 언제든지 지원되는 방향을 변경할 수 있습니다.
프로퍼티 | 설명 |
---|---|
패키지 이름 | 시스템에서 패키지를 식별할 이름을 입력합니다. 이름은 고유해야 합니다. |
Package display name | 플레이어 설정 상단에서 설정하는 Product Name 값이 여기에 나타납니다.Microsoft 스토어에 표시되는 앱의 이름입니다. |
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에서 다음과 같이 파일을 만들 수 있습니다.
Create를 클릭합니다.그러면 Create Test Certificate for Microsoft Store 다이얼로그 창이 나타납니다.
Publisher 텍스트 상자에 패키지 퍼블리셔의 이름을 입력합니다.
비밀번호로 인증서를 보호할 수도 있지만 이는 선택 사항입니다.비밀번호 입력란은 비워 두는 것이 좋습니다.
Create를 클릭합니다.
창이 닫히고 Certificate 섹션에 Publisher 및 Issued by 값으로 입력한 이름이 표시됩니다. Expiration date는 인증서를 만든 날짜로부터 1년 후로 설정됩니다.
Unity는 이러한 옵션을 Package.appxmanifest
파일에 바로 복사합니다.
플레이어 설정의 상단에서 설정하는 Display name 값이 섹션에 나타납니다.이것은 앱의 정식 이름입니다.
Description 텍스트 상자에 Microsoft 스토어의 앱 타일에 표시할 텍스트를 입력합니다.기본값은 패키지 표시 이름 값입니다.
File Type Associations, File Types, Protocol 섹션의 설정을 통해 Microsoft 스토어 앱을 특정 파일 유형이나 URI 체계의 기본 핸들러로 지정할 수 있습니다.
File Type Associations 섹션의 Name 텍스트 상자에 파일 유형 그룹의 이름을 소문자로만 입력합니다. 파일 그룹의 파일은 표시 이름, 로고, 정보 팁과 편집 플래그가 같습니다. 앱이 업데이트되어도 동일하게 유지할 수 있는 그룹 이름을 선택하십시오.
파일 연결로 설정하는 경우 다음을 수행하십시오.
URI 체계와의 연결로 설정하는 경우 Name 텍스트 상자에 프로토콜을 입력하십시오.
자세한 내용은 파일 및 URI 연결을 통한 자동 실행(XAML)에 대한 Microsoft 문서를 참조하십시오.
Unity는 이벤트를 구독하여 입력을 수신합니다. Input Source 설정은 어디서(어느 소스에서) 입력을 수신할지 지정합니다. 키보드 입력은 항상 CoreWindow에서 송신되므로, 현재 이 설정은 마우스와 터치 입력에만 적용됩니다.
프로퍼티 | 설명 | |
---|---|---|
Default Language (.vcxproj) | 생성된 Visual Studio 프로젝트에서 XML 기본 언어를 설정합니다.지정되지 않으면 ‘en-US’가 사용됩니다. 참고:변경 사항은 초기 파일 생성에만 적용되며 기존 파일에는 변경 사항이 적용되지 않습니다. |
|
Input Source | 입력을 받을 소스를 정의합니다.현재 이 기능은 마우스와 터치 입력에만 적용되며, 키보드 입력은 항상 CoreWindow에서 제공되기 때문입니다. | |
CoreWindow | CoreWindow 이벤트를 구독합니다.이것은 기본값입니다. | |
Independent Input Source | 독립 입력 소스를 만들고 입력을 수신합니다. | |
SwapChainPanel | SwapChainPanel 이벤트를 구독합니다. |
Capabilities 섹션을 사용하여 앱에서 액세스할 API나 리소스를 활성화합니다. 이러한 리소스는 사진, 음악 또는 카메라나 마이크와 같은 기기일 수 있습니다.
프로퍼티 | 설명 |
---|---|
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 | 휴먼 인터페이스 기기 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 | 앱에 현재의 알림 설정 상태에 대한 액세스 권한을 허용합니다. |
GazeInput | 호환되는 시선 추적 기기가 연결되면 앱이 사용자가 어디를 보고 있는지 감지할 수 있습니다. |
자세한 내용은 앱 기능 선언을 참조하십시오.
Unity는 이러한 옵션을 Package.appxmanifest
파일에 바로 복사합니다.
참고:이전 패키지 위에 게임을 빌드할 경우 Package.appxmanifest
덮어쓰기가 진행되지 않습니다.
기기 제품군은 기기 클래스 전반의 API, 시스템 특성 및 동작을 식별합니다.또한 스토어에서 해당 앱을 설치할 수 있는 기기 세트도 결정합니다.자세한 내용은 Microsoft의 기기 제품군 개요를 참조하십시오.
활성화된 옵션이 없으면 모든 기기 제품군에서 앱을 사용할 수 있도록 Windows.Universal
이 기본값으로 사용됩니다.에디터가 아닌 PlayerSettings.WSATargetFamily
의 API 내에서 이를 설정할 수도 있습니다.
참고:이러한 설정은 새 UWP Visual Studio 솔루션을 생성할 때만 사용됩니다.이러한 설정을 변경해도 기존 폴더에 UWP를 다시 빌드하는 경우에는 영향을 미치지 않습니다.
프로퍼티 | 설명 |
---|---|
데스크톱 | 애플리케이션이 데스크톱 기기 제품군을 지원하는지 여부를 나타냅니다. |
Mobile | 애플리케이션이 모바일 디바이스 제품군을 지원하는지 여부를 나타냅니다. |
Holographic | 애플리케이션이 HoloLens(독립형 홀로그램 컴퓨터) 기기 제품군을 지원하는지 여부를 나타냅니다.이것은 혼합 현실 앱에 사용됩니다. |
Team | 애플리케이션이 팀 기기 제품군을 지원하는지 여부를 나타냅니다.이것은 일반적으로 Microsoft Surface Hub 기기에 사용됩니다. |
IoT | 애플리케이션이 IoT 기기 제품군을 지원하는지 여부를 나타냅니다. 참고:현재 IoT를 대상으로 하는 앱은 앱 스토어에서 유효하지 않으며 개발 목적으로만 사용해야 합니다. |
IoTHeadless | 애플리케이션이 IoTHeadless 기기 제품군을 지원하는지 여부를 나타냅니다. 참고:현재 IoTHeadless를 대상으로 하는 앱은 앱 스토어에서 유효하지 않으며 개발 목적으로만 사용해야 합니다. |
자세한 내용은 기기 제품군 유효성을 참조하십시오.
PlayerSettingsWSA