Version: 2021.3
언어: 한국어
iOS 빌드 설정
iOS에서 딥 링크

iOS 플레이어 설정

이 페이지는 iOS 플레이어 설정에 대해 자세히 설명합니다. 모든 플랫폼에 적용되는 일반 플레이어 설정에 대한 설명은 플레이어 - 일반 설정을 참조하십시오.

스탠드얼론 iOS 플레이어 설정
스탠드얼론 iOS 플레이어 설정

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

아이콘(Icon)

Apple 스토어의 앱 브랜딩을 커스터마이즈하려면 Icon 설정을 사용합니다.

iOS 플레이어 설정의 아이콘 설정
iOS 플레이어 설정의 아이콘 설정

각 iOS 기기(iPhone, iPad)에 대해 다음 타입의 커스텀 아이콘을 업로드하고 할당할 수 있습니다.

아이콘 타입 표시 위치
애플리케이션 아이콘(Application icons) 앱의 기본 아이콘
Spotlight icons 앱의 스포트라이트 검색 결과
Settings icons 기기의 메인 설정 페이지
Notification icons 앱에서 전송한 알림
Marketing icons 앱 스토어

업로드되는 모든 아이콘은 Texture 2D 타입의 에셋입니다. 아이콘 텍스처가 누락되면 Unity는 가장 가까운 크기의 아이콘 텍스처를 스케일링하며, 더 큰 텍스처를 사용하는 것을 더 선호합니다.

해상도 및 프레젠테이션

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

이 설정들은 다음 카테고리로 이루어집니다.

iOS 플랫폼을 위한 해상도 스케일링 플레이어 설정
iOS 플랫폼을 위한 해상도 스케일링 플레이어 설정

해상도 스케일링

Resolution Scaling Mode 설정을 사용하면 스케일링을 네이티브 화면 해상도 이하가 되도록 설정할 수 있습니다.

기능
Disabled 스케일링이 적용되지 않고 애플리케이션이 네이티브 화면 해상도로 렌더링합니다.
FixedDPI 이 값을 선택하면 Target DPI 프로퍼티가 나타납니다.

Target DPI 프로퍼티를 사용하여 게임 화면의 타겟 DPI를 설정하십시오. 기기의 네이티브 화면 DPI가 이 값보다 높은 경우 Unity는 이 설정과 일치하도록 게임 화면을 다운스케일링합니다. 이렇게 하면 성능이 향상되고 배터리 수명이 늘어납니다. 또한 특정 DPI 설정을 타게팅할 수 있습니다.

Unity는 스케일을 min(Target DPI * Factor / Screen DPI, 1)로 계산합니다. Factor품질 설정에 입력된 Resolution Scaling Fixed DPI Factor 값을 사용합니다.

방향

Default Orientation 드롭다운 메뉴에서 게임 화면의 방향을 선택할 수 있습니다. 기본 설정은 Auto Rotation입니다. 이 설정을 선택하면 기기 방향에 따라 화면 방향이 회전합니다.

화면에 홈 버튼이 나타나는 고정 위치를 지정하려면 다른 설정을 선택하십시오.

설정 홈 버튼 위치
Portrait 하단
Portrait Upside Down 상단
Landscape Left 오른쪽
Landscape Right 왼쪽
Auto Rotation 기기 방향에 따라 화면 방향이 변화합니다. 기본 옵션입니다.

참고: Default Orientation 설정은 iOS 및 Android 기기 모두에 적용됩니다.

Auto RotationDefault Orientation으로 선택하면 다음 설정이 나타납니다.

설정 기능
Use Animated Autorotation 이 체크박스를 활성화하면 사용자가 기기를 회전할 때 화면 회전이 애니메이션화된 전환을 사용합니다. 비활성화하면 화면 회전이 즉시 변경됩니다.
Allowed Orientations for Auto Rotation Auto Rotation 은 화면 방향이 기기에 맞게 변경됩니다. 허용되는 화면 방향을 제한해야 할 수도 있습니다(예: 기기 화면을 가로 방향으로 고정). 이 섹션에서 해당 상자를 선택하여 원하는 방향을 각각 활성화합니다.

멀티태스킹 지원

애플리케이션을 전체 화면 모드에서 실행해야 하는 경우 Requires Fullscreen 옵션을 활성화합니다.

상태 표시줄

Status Bar 섹션을 사용하여 iOS 상태 표시줄과 관련된 파라미터를 지정할 수 있습니다.

설정 기능
Status Bar Hidden 애플리케이션 실행 시 상태 표시줄을 숨기려면 이 옵션을 활성화합니다.
Status Bar Style 애플리케이션 실행 시 표시되는 상태 표시줄의 스타일을 정의합니다. 사용 가능한 옵션은 DefaultLight 입니다.
Disable Depth and Stencil 뎁스 및 스텐실 버퍼를 비활성화하려면 이 옵션을 활성화합니다. 이 설정은 Android와 iOS 모두에 적용됩니다.
Render Over Native UI 앱이 네이티브 iOS 또는 Android UI 위에 렌더링하도록 강제 지정하려면 이 옵션을 활성화합니다. 이 설정은 Android와 iOS 모두에 적용됩니다.
Show Loading Indicator 로딩 진행 표시줄이 표시되는 방식을 선택합니다. 사용 가능한 옵션은 Large, Inverse Large, Small, Inverse Small 입니다.

스플래시 이미지

Splash Image 섹션을 사용하여 다양한 iOS 지원 기기에 대한 앱의 스플래시 이미지를 커스터마이즈하십시오.

iOS 플랫폼을 위한 스플래시 설정
iOS 플랫폼을 위한 스플래시 설정

일반 스플래시 화면 설정 위에 있는 Virtual Reality Splash Image 설정을 사용하면 가상 현실 디스플레이에 대한 커스텀 스플래시 이미지를 선택할 수 있습니다.

커스텀 스토리보드

스토리보드를 iOS용 실행 화면으로 사용
스토리보드를 iOS용 실행 화면으로 사용

iPhone 또는 iPad에 대한 Launch screen type 드롭다운 메뉴에서 Custom Storyboard 옵션을 선택하면 Custom Storyboard 버튼이 나타납니다.

Custom Storyboard 버튼을 클릭하여 기기에서 게임이 시작할 때 표시할 스토리보드를 선택하십시오. 여기에 스토리보드를 표시하려면 Xcode로 스토리보드를 만든 후 프로젝트에 복사해야 합니다. 자세한 내용은 스토리보드, 씬 및 연결에 대한 Apple 개발자 문서를 참조하십시오.

Use Storyboard for Launch Screen 체크박스를 비활성화하면 다음 방식 중 하나로 스플래시 이미지를 구현할 수 있습니다.

커스텀 스토리보드를 사용하지 않는 경우 Unity의 빌트인 실행 화면을 사용하여 스플래시 이미지를 구현할 수 있습니다.

실행 화면

실행 화면은 iOS가 기기에서 스플래시 화면을 만드는 데 사용하는 스토리보드 파일입니다. 다음과 같은 제한이 있습니다.

  • iPad의 기기 방향을 기반으로 다른 콘텐츠를 표시할 수 없습니다.
  • 모든 iPhone은 가로 실행 화면을 지원하지만, 특정 iOS 버전에는 버그로 인해 Landscape Right 실행 화면이 아니라 Landscape Left 실행 화면이 표시됩니다.
  • iOS 13 이전에는 스토리보드의 루트 뷰 컨트롤러를 오버라이드할 수 없었기 때문에 실행 화면은 모든 방향을 지원하고 상태 표시줄 동작과 같은 일부 UI 설정을 무시했습니다. iOS 13부터 실행 화면은 방향 및 상태 표시줄 모양에 대한 앱 설정을 완전히 준수합니다.

이러한 제한은 커스텀 스토리보드에도 적용됩니다.

iPhone Launch ScreeniPad Launch Screen 섹션에서 iPhone과 iPad에 대한 Launch screen type을 선택하십시오.

기능
Default When you select this option, Unity adds a solid blue-black image that’s the same color as the background for Unity’s default splash screen. The image is used for both portrait and landscape orientations, and displays using aspect-fill mode.
None Apple no longer supports Launch Images. This option exists for backwards compatibility reasons. If you select it, your project will use Unity’s default splash screen instead.
Image and background (relative size) Displays an image in the center of the screen and fills the remaining area with a solid color.
Portrait Image Select an image for portrait orientation.
Landscape Image Select an image for landscape orientation.
Background Color Select a background color to fill any screen space that the image doesn’t cover.
Fill percentage Specify image size as a percentage of the screen size. Unity calculates image size based on the length or width of the screen, whichever one is smaller (vertical for landscape displays, horizontal for portrait ones).
Image and background (constant size) Displays an image in the center of the screen and fills the area with a solid color. This has the same options as Image and background (relative size), except that you specify image size in points rather than as a percentage.

Tip: Points and pixels are not the same. A pixel (px) is a single dot in your image. A point (pt) is a unit of length that measures 1/72th of an inch. Pixel sizes are relative to the screen size and resolution, while point sizes are the size on any screen. For more information, see W3C guidance on size units.
Custom XIB When you select this option, the Custom XIB button appears. Click the button to select a custom XIB file to use as a loading screen.
Custom Storyboard When you select this option, the Custom Storyboard button appears. Click the button to select a custom Storyboard file to use as a loading screen.

참고: Unity Personal 구독에서 Unity 스플래시 화면은 선택한 스플래시 화면과 더불어 엔진을 초기화할 때 표시됩니다.

디버깅 및 크래시 보고

Debugging and crash reporting 설정을 사용하여 앱의 성능에 대한 데이터를 수집하고 크래시 문제를 해결하십시오.

iOS 플랫폼의 디버깅 및 크래시 보고
iOS 플랫폼의 디버깅 및 크래시 보고
설정 기능
내부 프로파일러 활성화(지원 중단 예정) 이 기능은 지원이 중단되어 향후 Unity 버전에서 제거될 예정입니다. 대신 프로파일러 창(메뉴: Window > Analytics > Profiler)을 사용하십시오.

프로파일러 창은 애플리케이션 성능 데이터를 수집하여 보고서를 콘솔에 출력합니다. 이 보고서에는 각 Unity 서브 시스템이 각 프레임에서 실행하는 데 걸리는 시간(밀리 초)이 포함되어 있으며, 평균 값은 30프레임입니다. | |
On .Net UnhandledException
*
.NET 처리되지 않은 예외가 발생할 때 Unity가 취할 조치를 선택합니다. 선택 가능한 옵션은 Crash(앱에 크래시가 발생하여 크래시 보고서가 생성되면, 사용자는 iTunes와 개발자들에게 제출하여 크래시 문제를 해결) 또는 Silent Exit(애플리케이션이 오류 없이 종료되고 크래시 보고서를 생성하지 않음)입니다.
Log Obj-C Uncaught Exceptions 이 동작을 활성화하면 Unity가 Objective-C 확인 불가 예외 정보를 콘솔에 출력합니다.
Enable Crash Report API 커스텀 크래시 리포터가 크래시를 캡처하도록 만듭니다. 스크립트를 사용하여 CrashReport API를 통해 크래시 로그에 액세스할 수 있습니다.

기타 설정

Other Settings 섹션에서 다양한 플레이어 설정을 구성할 수 있습니다. 제공되는 옵션들은 다음의 그룹으로 나뉩니다.

렌더링(Rendering)

다음 설정을 사용하여 Unity가 iOS 플랫폼용으로 애플리케이션을 렌더링하는 방법을 커스터마이즈합니다.

iOS 플랫폼용 렌더링 플레이어 설정
iOS 플랫폼용 렌더링 플레이어 설정
설정 기능
Color Space Gamma 또는 Linear 중에서 Unity가 렌더링에 사용할 색 공간을 선택합니다.

두 옵션의 차이점에 대한 설명은 리니어 렌더링 개요를 참조하십시오.
Auto Graphics API 그래픽스 API를 수동으로 설정하려면 이 옵션을 비활성화합니다. 이 옵션은 기본적으로 활성화되며 Metal을 포함합니다.
색 영역(Color Gamut) iOS 플랫폼에서 렌더링에 사용할 색 영역을 추가하거나 제거할 수 있습니다. 더하기 (+) 아이콘을 클릭하면 사용 가능한 영역의 리스트를 확인할 수 있습니다. 색 영역은 모니터나 화면과 같은 기기에서 사용 가능한 색상 범위를 지정합니다. sRGB 영역은 기본으로 지정된 필수 영역입니다.

광범위한 색상 영역 디스플레이가 지원되는 최신 iOS 기기를 타게팅하는 경우 DisplayP3 를 사용하여 디스플레이 성능을 100% 활용하되, 이전 기기를 위한 폴백으로 Metal Editor Support 도 사용하십시오.
Metal Editor Support Unity 에디터에서 Metal API를 사용하고 Metal API 타게팅 시 더 빠른 셰이더 반복 기능을 잠금 해제하려면 이 옵션을 활성화합니다.

참고: 이 옵션을 선택하거나 선택 취소하면 에디터를 다시 시작해야 변경 사항이 적용됩니다.
Metal API Validation 셰이더 문제를 디버깅해야 하는 경우 이 옵션을 활성화합니다. 이 옵션은 Metal Editor Support 체크박스를 선택한 경우에만 표시됩니다.

참고: 확인 프로세스는 CPU 사용량을 증가시키므로 디버그 용도로만 사용하십시오.
Metal Write-Only Backbuffer 기본값이 아닌 기기 방향에서 성능이 개선되도록 허용합니다. 이 옵션은 백 버퍼에 frameBufferOnly 플래그를 설정하여 백 버퍼의 리드백(되읽기)을 방지하지만 일부 드라이버 최적화는 활성화합니다.
Force hard shadows on Metal Unity가 Metal의 그림자에 포인트 샘플링을 사용하도록 만들려면 이 옵션을 활성화합니다. 이렇게 하면 그림자 품질이 감소하여 성능이 향상될 수 있습니다.
Memoryless Depth 메모리리스 렌더 텍스처를 사용하는 경우 선택합니다. 메모리리스 렌더 텍스처는 렌더링 동안 CPU 또는 GPU 메모리가 아닌 온타일(on-tile) 메모리에만 일시적으로 저장됩니다. 이로 인해 앱의 메모리 사용이 감소하지만 해당 렌더 텍스처를 읽거나 렌더 텍스처에 기록할 수 없습니다.

참고: 메모리리스 렌더 텍스처는 iOS, tvOS 10.0+ Metal 및 Vulkan에서만 지원됩니다. 다른 플랫폼의 경우 렌더 텍스처는 읽기/쓰기 보호가 설정되며 CPU 또는 GPU 메모리에 저장됩니다.
Unused 메모리리스 프레임버퍼 뎁스를 사용하지 않습니다.
Forced 항상 메모리리스 프레임버퍼 뎁스를 사용합니다.
Automatic Unity가 메모리리스 프레임버퍼 뎁스 사용을 결정합니다.
Multithreaded Rendering 멀티스레드 렌더링을 사용하려면 이 옵션을 활성화합니다.
Static Batching 정적 배칭을 사용하려면 이 옵션을 활성화합니다. 자세한 내용은 드로우 콜 배칭을 참조하십시오.
Dynamic Batching 동적 배칭을 사용(기본적으로 활성화됨)하려면 이 옵션을 활성화합니다. 자세한 내용은 드로우 콜 배칭을 참조하십시오.

참고: 스크립터블 렌더 파이프라인이 활성화된 경우 동적 배칭은 영향이 없습니다. 즉, 이 설정은 스크립터블 렌더 파이프라인 에셋 그래픽스 설정이 비어 있을 때에만 표시됩니다.
Compute Skinning|| 이 옵션을 활성화하면 Metal GPU 컴퓨트 스키닝을 사용하여 CPU 리소스를 확보할 수 있습니다. GPU 컴퓨트 스키닝에 대한 자세한 내용은 Wikipedia의 골격 애니메이션 페이지를 참조하십시오.| |Graphics Jobs (Experimental)||그래픽스 작업(루프 렌더)을 다른 CPU 코어에서 실행 중인 워커 스레드에 오프로드하도록 Unity를 설정하려면 이 옵션을 활성화합니다. 이는 메인 스레드에서 종종 병목 현상을 초래하는 Camera.Render에 소요되는 시간을 줄입니다.

참고:** 이 기능은 실험 단계에 있습니다. 기능을 사용해도 프로젝트의 성능이 개선되지 않을 수 있으며 안정성 문제가 발생할 수 있습니다.| |텍스처 압축 포맷||iOS용 기본 텍스처 압축 포맷으로 ASTC와 PVRTC 중에서 선택합니다. 자세한 내용은 텍스처 압축 포맷 개요를 참조하십시오.| |Normal Map Encoding||
XYZ_ 또는 DXT5nm 스타일 을 선택하여 노멀 맵 인코딩을 설정합니다. 이는 노멀 맵에 사용되는 인코딩 체계 및 압축 포맷에 영향을 줍니다. DXT5nm 스타일 노멀 맵은 품질이 더 높지만 셰이더에서 디코딩할 때 성능을 더 많이 소모합니다.| |
Lightmap Encoding||라이트맵 인코딩을 Low Quality, Normal Quality 또는 High Quality 로 설정합니다. 이 설정은 라이트맵의 인코딩 방식과 압축 포맷에 영향을 줍니다.| |Lightmap Streaming Enabled||라이트맵에 밉맵 스트리밍 사용 여부를 나타냅니다. Unity는 라이트맵을 생성할 때 모든 라이트맵에 이 설정을 적용합니다.
참고:** 이 설정을 사용하려면 텍스처 스트리밍 품질 설정을 활성화해야 합니다.
Streaming Priority 밉맵 스트리밍 시스템의 모든 라이트맵에 대한 우선 순위를 설정합니다. Unity는 라이트맵을 생성할 때 모든 라이트맵에 이 설정을 적용합니다.
양수의 순위가 우선시됩니다. 유효한 값의 범위는 –128부터 127까지입니다.
Enable Frame Timing Stats CPU/GPU 프레임 타이밍 통계를 수집하려면 이 옵션을 활성화합니다.
Virtual Texturing iOS에서 현재 지원되지 않는 사항
Shader precision model 셰이더에서 사용되는 샘플러의 기본 정밀도를 제어합니다. 자세한 내용은 셰이더 데이터 타입 및 정밀도를 참조하십시오.
360 Stereo Capture iOS에서 현재 지원되지 않는 사항

식별

앱의 식별 정보를 입력합니다.

iOS 플랫폼을 위한 식별 설정
iOS 플랫폼을 위한 식별 설정
설정 기능
Bundle Identifier 빌드하는 애플리케이션의 프로비저닝 프로파일을 입력합니다. 식별자의 기본 구조는 com.CompanyName.ProductName입니다. 이 구조는 거주 국가에 따라 다를 수 있으므로, 항상 Apple이 개발자와 개발자 계정에 제공하는 문자열을 기본으로 설정하십시오. ProductName은 프로비저닝 인증서에 설정되어 있습니다.

이 값은 연결된 info.plist 파일에서 CFBundleIdentifier로 표시됩니다. 자세한 내용은 [CFBundleIdentifier]에 관한 Apple 개발자 문서(https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#/apple_ref/doc/uid/20001431–102070)를 참조하십시오.

참고: 이 설정은 iOS, tvOS 및 Android에 영향을 줍니다.
Version 번들의 릴리스 버전 번호 문자열(예: 4.3.6)을 입력합니다.

이 값은 연결된 info.plist 파일에서 CFBundleShortVersionString으로 표시됩니다. 자세한 내용은 CFBundleShortVersionString에 대한 Apple 개발자 문서를 참조하십시오.
Build 앱 버전의 빌드 번호를 입력합니다.

이 값은 연결된 info.plist 파일에서 CFBundleVersion으로 표시됩니다. 자세한 내용은 CFBundleVersion에 대한 Apple 개발자 문서를 참조하십시오.
팀 ID 서명 Apple 개발자 팀 ID를 입력합니다. Apple 개발자 팀 ID는 Apple 개발자 웹사이트의 Xcode 도움말에서 찾을 수 있습니다. 이를 통해 생성된 Xcode 프로젝트의 팀 ID를 설정하고, 개발자는 빌드 및 실행 기능을 사용할 수 있습니다. 앱이 자동으로 서명되도록 Apple 개발자 팀 ID를 입력해야 합니다.

자세한 내용은 팀 프로비저닝 프로파일 생성에 대한 Apple 개발자 문서를 참조하십시오.
자동 서명(Automatically Sign) 이 옵션을 활성화하면 Xcode가 빌드를 자동으로 서명하도록 명령합니다.

설정

iOS 플랫폼을 위한 구성 설정
iOS 플랫폼을 위한 구성 설정

API 구성 설정

설정 기능
Scripting Backend 스크립팅 백엔드는 Unity가 프로젝트에서 C# 코드를 컴파일하고 실행하는 방법을 정합니다. 이 설정은 iOS용으로 IL2CPP를 기본으로 하며 변경할 수 없습니다.

IL2CPP는 C# 코드를 CIL로 컴파일하고 CIL을 C++로 전환한 후 해당 C++을 네이티브 기계어 코드로 컴파일합니다. 이는 런타임 시 직접 실행됩니다. 자세한 내용은 IL2CPP 상의 문서를 참조하십시오.

IL2CPP 스크립팅 백엔드로 생성된 C++ 코드는 점진적으로 업데이트하여 증분 C++ 빌드 시스템이 변경된 소스 파일만 컴파일합니다. 이렇게 하면 반복 시간을 대폭 단축할 수 있습니다.
API Compatibility Level 호환성 레벨은 프로젝트에서 사용할 수 있는 .NET API를 결정합니다. 이 설정은 타사 라이브러리와의 호환성에 영향을 줄 수 있습니다.

팁: 타사 어셈블리 관련 문제가 발생하는 경우, 아래 API 호환성 레벨 섹션의 권장 사항을 시도해 보십시오.
.Net Standard 2.0 .NET Standard 2.0과 호환됩니다. 크기가 더 작은 빌드를 생성하며 크로스 플랫폼이 100% 지원됩니다.
.Net 4.x .NET Standard 2.0에 포함되지 않은 API에 액세스하는 라이브러리를 이용하는 경우 이 옵션을 선택합니다. 이 옵션은 .NET Standard 2.0 프로파일과 추가 API의 모든 사항을 포함하는 .NET Framework 4와 호환됩니다.

크기가 더 큰 빌드를 생성하며, 일부 플랫폼의 경우 추가 API를 지원하지 않을 수 있습니다. 자세한 내용은 추가 클래스 라이브러리 어셈블리 레퍼런스 문서를 참조하십시오.
C++ 컴파일러 설정(C++ Compiler Configuration) IL2CPP에 의해 생성된 코드를 컴파일할 때 사용하는 C++ 컴파일러 설정입니다. Release for iOS로 기본 설정되며 변경할 수 없습니다.
Use incremental GC 점진적 가비지 컬렉터를 사용하며, 이는 가비지 컬렉션을 여러 프레임에 분산하여 프레임 기간 동안 가비지 컬렉션 관련 스파이크를 줄입니다. 자세한 내용은 자동 메모리 관리의 문서를 참조하십시오.

API 호환성 레벨

모든 타겟에 Mono API 호환성 수준을 선택할 수 있습니다. 간혹 타사 .NET 라이브러리에는 .NET 호환성 수준을 벗어난 기능이 사용되기도 합니다. Windows를 사용하는 경우 타사 소프트웨어 ILSpy를 사용하여 발생하는 상황과 해결 방법을 알아볼 수 있습니다. 다음의 단계를 따르십시오.

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

Apple 전용 정보

설정 기능
Camera Usage Description iOS 기기의 카메라에 액세스하는 이유를 입력할 수 있습니다.
Location Usage Description iOS 기기의 위치에 액세스하는 이유를 입력할 수 있습니다.
마이크로폰 사용 설명(Microphone Usage Description) iOS 기기의 마이크에 액세스하는 이유를 입력할 수 있습니다.
Use on Demand Resource 온디맨드 리소스를 사용하려면 이 옵션을 활성화합니다.

이 옵션이 활성화되면 앱 슬라이싱을 위한 배리언트 맵 섹션이 표시됩니다.
Accelerometer Frequency 가속 센서의 샘플링 빈도를 정의합니다. 15Hz, 30Hz, 60Hz 또는 100Hz 중에서 주파수를 설정할 수 있습니다. 또는 Disbaled 를 선택하여 가속 센서를 무시할 수도 있습니다.
Mute Other Audio Sources 앱이 백그라운드에서 실행되는 다른 앱의 오디오를 중단하도록 만들려면 이 옵션을 활성화합니다. 그렇지 않으면 백그라운드 오디오가 앱과 함께 계속 재생됩니다.
Prepare iOS for Recording 마이크 녹음 API를 초기화하려면 이 옵션을 활성화합니다. 그러면 녹음 지연이 감소하지만, 이어폰을 통해서만 iPhone 오디오 출력을 다시 라우팅합니다.
녹음 시 iOS 스피커 사용(Force iOS Speakers when Recording) 헤드폰이 연결되어 있고 녹음 중인 경우에도 휴대폰의 오디오 출력을 내부 스피커로 전송하려면 이 옵션을 활성화합니다.
Requires Persistent WiFi Wi-Fi 접속을 의무화하려면 이 옵션을 활성화합니다. iOS에서는 앱 실행 중에 활성 Wi-Fi 연결이 유지됩니다.
Allow downloads over HTTP (nonsecure) HTTP를 통한 콘텐츠 다운로드를 허용하려면 이 옵션을 활성화합니다. 기본 및 추천 파일 전송 프로토콜은 안전성이 뛰어난 HTTPS입니다.
Supported URL schemes 지원되는 URL 체계 목록입니다.

새로운 체계를 추가하려면 Size 프로퍼티의 값을 늘리고, 새로 표시되는 Element 상자에서 로드할 에셋에 대한 레퍼런스를 설정합니다.

기기 정보

설정 기능
Disable HW Statistics 앱이 하드웨어 정보를 Unity에 전송하지 않도록 하려면 이 옵션을 활성화합니다.
Target Device 앱의 대상 기기를 선택합니다. 선택 가능한 옵션은 iPhone Only, iPad OnlyiPhone + iPad 입니다.
Target SDK 앱의 타겟 SDK를 선택합니다. 선택 가능한 옵션은 Device SDKSimulator SDK 입니다.

참고: 올바른 SDK를 선택하십시오. 예를 들어 Unity에서 Device SDK를 선택하고 Xcode에서 시뮬레이터를 타게팅하면 빌드가 작동하지 않습니다.
Target minimum iOS Version 앱이 작동하는 iOS 최소 버전을 선택합니다.
ProMotion 지원 활성화(Enable ProMotion Support) ProMotion 디스플레이에서 고주파수 새로고침 속도(120Hz)를 허용하려면 이 옵션을 활성화합니다. 이 설정은 앱의 배터리 소모량을 증가시킬 수 있습니다.
ARKit 지원 필요(Requires ARKit support) 앱 스토어에 퍼블리시할 때 앱을 iPhone 6s/iOS 11 이상 기기로 제한하려면 이 옵션을 활성화합니다.
Automatically add capabilities 이 옵션을 활성화하면 Unity가 entitlements.plist 파일을 생성하고, 앱이 구현하는 iOS API용 기능(예: Game Center, 알림)을 추가합니다. 자세한 내용은 권리 부여에 대한 Apple 개발자 문서를 참조하십시오.
모서리에서 시스템 제스처 지연(Defer system gestures on edges) 사용자가 시스템 제스처를 실행하기 위해 두 번 스와이프해야 하는 하나 이상의 모서리를 선택합니다. 선택 가능한 옵션은 Top Edge, Left Edge, Bottom Edge, Right Edge 입니다.
iPhone X에서 홈 버튼 숨김(Hide home button on iPhone X) 앱이 실행 중일 때 iPhone X 기기에서 홈 버튼을 숨기려면 이 옵션을 활성화합니다.
일시 정지 시 추가 프레임 렌더링(Render Extra Frame on Pause) 앱을 일시 정지하는 프레임 후에 추가 프레임을 생성하려면 이 옵션을 활성화합니다. 이를 통해 앱은 백그라운드에서 실행될 때 일시 정지 상태를 표시하는 그래픽을 표시할 수 있습니다.
Enable Custom Background Behaviors 사용자가 홈 버튼을 눌러 앱을 백그라운드로 보낼 때 앱이 수행할 수 있는 동작을 선택합니다. 예를 들어 BackgroundFetch Bitbucket 프로젝트를 살펴보십시오. 선택 가능한 옵션은 다음과 같습니다.

- Audio, AirPlay, PiP,
- Location updates
- Voice over IP
- Newsstand downloads
- External accessory communication
- Uses Bluetooth LE accessories
- Act as a Bluetooth LE accessory
- Background fetch
- Remote notifications

앱 슬라이싱을 위한 배리언트 맵

스크립팅에 설정된 배리언트 이름의 리스트를 확인하려면 Variant map for app slicing 섹션을 펼치십시오. 배리언트에 대한 자세한 내용은 앱 슬라이싱을 참조하십시오.

참고: 이 섹션이 표시되지 않으면 Use on Demand Resource 프로퍼티가 활성화되었는지 확인하십시오.

더하기(+) 및 빼기(-) 아이콘을 이용하여 새로운 배리언트를 추가하거나 제거할 수 있습니다. 배리언트 설정에서 리스트의 배리언트를 선택한 후 해당 설정을 확인하거나 수정할 수도 있습니다. Variant name 이외의 설정의 경우 Custom value 값을 선택하면 사용할 값을 입력할 수 있는 위치 아래에 추가 프로퍼티가 나타납니다.

설정 기능
Variant name 로딩 스크립트에서 배리언트 이름을 표시합니다.
기기 이 배리언트가 타게팅하는 기기를 선택합니다. 선택 가능한 옵션은 Any (기본값), iPhone, iPad, iWatchCustom value 입니다.
Memory 이 배리언트에 필요한 최소 메모리를 선택합니다. 선택 가능한 옵션은 Any (기본값), 1GB, 2GB, 3GB, 4GBCustom value 입니다.
Graphics 사용할 Metal 프레임워크를 선택합니다. 사용 가능한 옵션은 Any (기본값), Metal1v2, Metal2v2, Metal2v3, Metal3v1, Metal3v2, Metal4v1, Custom value 입니다.

자세한 내용은 Metal에 대한 Apple 개발자 문서를 참조하십시오.
Display color space 사용할 색 영역을 선택합니다. 사용 가능한 옵션은 Any (기본값), sRGB, DisplayP3Custom value 입니다.

자체 설정을 추가할 수도 있습니다. Add custom entry 버튼을 클릭하면 다음과 같은 새로운 텍스트 상자 페어가 나타납니다.

  • <key>: 이 설정의 이름을 입력합니다.
  • <value>: 이 설정의 값을 입력합니다.

기타 구성 설정

설정 기능
Architecture 타겟팅할 아키텍처를 선택합니다.
Universal 모든 아키텍처를 지원합니다. 권장되는 옵션입니다.
Armv7 이전 32비트 ARM 아키텍처만 지원합니다.
Arm64 새로운 64비트 ARM 아키텍처만 지원합니다. 앱이 고급 기기 전용인 경우 이 옵션을 고려하십시오.
액티브 입력 핸들링(Active Input Handling) 사용자의 입력을 처리하는 방식을 선택합니다.
Input Manager (예전) 기존의 입력 설정을 사용하십시오.
Input System (신규) 새로운 입력 시스템을 사용합니다. 입력 시스템은 이 릴리스에서는 프리뷰 패키지로 제공됩니다. 입력 시스템의 프리뷰를 사용하려면 InputSystem 패키지를 설치하십시오.
Both 두 시스템 모두를 나란히 사용합니다.

스크립트 컴파일

iOS 플랫폼용 스크립트 컴파일 설정
iOS 플랫폼용 스크립트 컴파일 설정
Setting Function
Scripting Define Symbols Set custom compilation flags. For more details, see the documentation on Platform dependent compilation.
Additional Compiler Arguments Add entries to this list to pass additional arguments to the Roslyn compiler. Use one new entry for each additional argument.
To create a new entry, press the ‘+’ button. To remove an entry, press the ‘-’ button.
When you have added all desired arguments, click the Apply button to include your additional arguments in future compilations.The Revert button resets this list to the most recent applied state.
Suppress Common Warnings Disable this setting to display the C# warnings CS0169 and CS0649.
Allow ‘unsafe’ Code Enable support for compiling ‘unsafe’ C# code in a pre-defined assembly (for example, Assembly-CSharp.dll).
For Assembly Definition Files (.asmdef), click on one of your .asmdef files and enable the option in the Inspector window that appears.
Use Deterministic Compilation Disable this setting to prevent compilation with the -deterministic C# flag. With this setting enabled, compiled assemblies are byte-for-byte identical each time they are compiled.
For more information, see Microsoft’s deterministic compiler option documentation.
Enable Roslyn Analyzers Disable this setting to compile user-written scripts without Roslyn analyzer DLLs that might be present in your project.
Use Roslyn Reference Assemblies Disable this setting to the compiler not to skip compilation reference assemblies when the metadata of the assembly does not change.

최적화(Optimization)

iOS 플랫폼을 위한 최적화 설정
iOS 플랫폼을 위한 최적화 설정
설정 기능
Prebake Collision Meshes 빌드 시간에 충돌 데이터를 메시에 추가하려면 이 옵션을 활성화합니다.
Keep Loaded Shaders Alive 셰이더가 언로드되지 않도록 방지하려면 이 옵션을 활성화합니다.
Preloaded Assets 시동 시 플레이어가 로드할 에셋의 배열을 설정합니다.

새 에셋을 추가하려면 Size 프로퍼티의 값을 늘린 다음 새로 표시되는 Element 상자에 로드할 에셋에 대한 레퍼런스를 설정합니다.
AOT compilation options Ahead of Time(AOT) 컴파일을 위한 추가 옵션입니다. 빌드한 iOS 플레이어 크기 최적화에 도움이 됩니다.
Strip Engine Code Unity Linker 툴을 이용하여 프로젝트에서 사용되지 않는 Unity 엔진 기능의 코드를 제거하려면 이 옵션을 활성화합니다. 이 설정은 IL2CPP 스크립팅 백엔드에서만 사용 가능합니다.

대부분의 앱은 이용 가능한 DLL을 전부 사용하지 않습니다. 이 옵션은 앱이 사용하지 않는 DLL을 스트리핑하여 빌드된 플레이어의 크기를 줄입니다. 앱이 현재 설정에서 일반적으로 스트리핑되는 클래스를 하나 이상 사용하는 경우 Unity는 앱 빌드 시 디버그 메시지를 표시합니다.
Managed Stripping Level Unity가 사용하지 않는 관리되는 (C#) 코드를 얼마나 적극적으로 스트리핑할지 선택합니다.

Unity가 앱을 빌드할 때 Unity Linker 프로세스는 프로젝트가 사용하는 관리되지 않는 DLL에서 사용되지 않는 코드를 스트리핑할 수 있습니다. 코드를 스트리핑하면 실행 파일 크기가 크게 줄어들지만, 예기치 않게 사용 중인 코드가 제거될 때도 있습니다. 이 설정을 사용하면 Unity가 사용되지 않는 코드를 제거하는 방식을 선택할 수 있습니다.

사용 가능한 옵션은 Disabled, Low, Medium, High입니다. 이 옵션에 대한 자세한 내용은 관리되는 코드 스트리핑 문서를 참조하십시오.

IL2CPP를 통한 바이트코드 스트리핑에 대한 자세한 내용은 IL2CPP로 관리 바이트코드 스트리핑 문서를 참조하십시오.
Script Call Optimization 원하는 경우 런타임 시점에 속도를 높이기 위해 예외 처리를 비활성화하도록 선택할 수 있습니다. 자세한 내용은 iOS 최적화를 참조하십시오.
Slow and Safe 전체 예외 처리를 사용합니다(Mono 스크립팅 백엔드를 사용하면 기기 성능에 영향을 줄 수 있음).
Fast but no Exceptions 기기에서 예외 데이터가 제공되지 않습니다(앱은 Mono 스크립팅 백엔드를 사용하면 더 빠르게 실행됨).
참고: 이 옵션을 IL2CPP 스크립팅 백엔드와 함께 사용하면 성능에는 영향을 주지 않으나, 릴리스 빌드에서 정의되지 않은 동작을 피할 수 있습니다.
Vertex Compression 채널당 버텍스 압축을 설정합니다. 예를 들어 포지션 및 라이트맵 UV를 제외하고 모든 요소에 대해 압축을 활성화할 수 있습니다. 임포트된 오브젝트의 전역 메시 압축 설정은 이 설정을 오버라이드합니다.
Optimize Mesh Data 적용된 머티리얼에 필요 없는 데이터(예: 탄젠트, 노멀, 컬러, UV)를 메시에서 제거하려면 이 옵션을 활성화합니다.

로깅(Logging)

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

iOS 플랫폼을 위한 로깅 설정
iOS 플랫폼을 위한 로깅 설정
  • 사용 가능한 옵션에서 선호하는 로깅 방법을 선택합니다.

  • 필요한 로깅 타입에 따라 각 로그 타입(Error, Assert, Warning, Log, Exception)에 해당하는 상자를 체크합니다. 예를 들면 다음과 같습니다.
    • ScriptOnly: 스크립트를 실행할 때만 로그합니다.
    • Full: 항상 로그합니다.
    • None: 어떤 로그도 기록하지 않습니다.

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

레거시

SkinnedMeshRenderers의 블렌드 셰이프 가중치 범위를 고정하려면 Clamp BlendShapes (Deprecated) 옵션을 활성화합니다. 이 옵션은 지원이 중단되어 더 이상 사용할 수 없습니다.

XR 설정

참고: XR SDK에 대한 빌트인 지원은 지원이 중단될 예정이며 향후 Unity 버전에서 사라집니다. 대신에 Unity XR 플러그인 시스템을 사용하십시오. 자세한 내용은 XR 플러그인 아키텍처를 사용하십시오.

XR 설정 섹션을 사용하여 XR에서 앱이 동작하는 방식을 설정할 수 있습니다.

스탠드얼론 플레이어를 위한 XR 설정
스탠드얼론 플레이어를 위한 XR 설정
설정 기능
Virtual Reality Supported 애플리케이션이 가상현실 애플리케이션이라면 체크박스를 선택합니다. 그런 다음 필수 VR SDK를 목록에 추가합니다.
Virtual Reality SDKs 가상 현실 SDK를 리스트에 추가하거나 리스트에서 제거할 수 있습니다. 이 리스트는 Virtual Reality Supported가 활성화된 경우에만 사용 가능합니다.

- 리스트에 SDK를 추가하려면 더하기(+) 버튼을 클릭합니다.
- 리스트에서 SDK를 제거하려면 해당 SDK를 선택하고 빼기(-) 버튼을 클릭합니다.

일부 SDK는 여기에 표시되는 추가 설정을 제공합니다.
Stereo Rendering Mode 가상 현실 기기에서 앱이 렌더링되는 방식을 선택합니다.
Multi Pass 정상 렌더링 모드입니다. Unity는 왼쪽 눈 이미지용으로 1번, 오른쪽 눈 이미지용으로 1번 이렇게 총 2번 씬을 렌더링합니다.
Single Pass 양쪽 눈 이미지를 동시에 하나의 패킹된 렌더 텍스처로 렌더링합니다. 즉, 전체 씬이 한 번만 렌더링되므로 CPU 처리 시간이 현저히 단축됩니다. 이 설정은 여러 플랫폼에 영향을 줍니다.
iOS 빌드 설정
iOS에서 딥 링크