iOS 하드웨어 가이드
iOS 2D 텍스처 오버라이드

Player settings for the iOS platform

이 페이지에서는 iOS 관련 Player 설정에 대해 자세하게 설명합니다. 일반 Player 설정에 대한 설명은 플레이어 설정을 참조하십시오.

참고: Unity iOS를 사용하려면 iOS 7.0 이상이 필요합니다. Unity는 iOS 6.0 이하 버전을 지원하지 않습니다.

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

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

아이콘

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

참고: 아이콘 텍스처가 누락되면 가장 크기가 비슷한 아이콘 텍스처가 그에 맞게 조정됩니다(해상도가 더 높은 텍스처가 우선순위를 가짐).

설정 기능
애플리케이션 아이콘(Application icons) 각 iOS 기기에서 앱에 표시할 커스텀 아이콘을 할당합니다.
Spotlight icons 각 iOS 기기에서 게임의 스포트라이트 검색 결과에 표시할 커스텀 아이콘을 할당합니다.
Settings icons 각 iOS 기기에서 휴대폰의 메인 설정 페이지에 표시할 커스텀 아이콘을 할당합니다.
Notification icons 각 iOS 디바이스에서 게임 알림을 전송할 때 표시할 커스텀 아이콘을 할당합니다.
Marketing icons 각 iOS 기기에서 앱 스토어의 게임에 표시할 커스텀 아이콘을 할당합니다.

해상도 및 프레젠테이션

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

해상도 스케일링

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

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

기능
FixedDPI 기기의 화면 해상도를 네이티브 해상도보다 낮게 스케일링하고 Target DPI 프로퍼티를 표시합니다. 성능과 배터리 수명을 최적화하거나 특정 DPI 설정을 타겟팅하는 데 사용합니다.
Disabled 스케일링이 적용되지 않고 게임이 네이티브 화면 해상도를 렌더링하도록 합니다.

게임 화면의 Target DPI 를 설정합니다. 기기의 네이티브 화면 DPI가 이 값보다 높은 경우, Unity는 이 설정에 일치하도록 게임 화면을 다운스케일링합니다. 스케일은 최소(타겟 DPI * 요소 / 화면 DPI, 1)로 계산됩니다. Factor품질 설정의 Resolution Scaling Fixed DPI Factor 에 의해 제어됩니다.

참고: 이 옵션은 Resolution Scaling ModeFixed DPI 로 설정된 경우에만 표시됩니다.

방향

iOS 플랫폼을 위한 방향 플레이어 설정
iOS 플랫폼을 위한 방향 플레이어 설정

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

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

참고: 이 설정은 iOS 및 Android 기기에서 동일합니다.

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

방향을 변경할 때 단순히 전환만 하지 않고 화면 회전에 애니매이션 효과를 적용하려면 Use Animated Autorotation 설정을 활성화합니다. Default Orientation__이 Auto Rotation__으로 설정된 경우에만 표시됩니다.

자동 회전 허용 방향

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

iOS 플랫폼을 위한 자동 회전 허용 방향 플레이어 설정
iOS 플랫폼을 위한 자동 회전 허용 방향 플레이어 설정

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

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

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

멀티태스킹 지원

iOS 플랫폼을 위한 멀티태스킹 지원 플레이어 설정
iOS 플랫폼을 위한 멀티태스킹 지원 플레이어 설정

게임을 전체 화면 모드에서 실행해야 하는 경우 Requires Fullscreen 옵션을 활성화합니다.

상태 표시줄

iOS 플랫폼을 위한 상태 표시줄 플레이어 설정
iOS 플랫폼을 위한 상태 표시줄 플레이어 설정
설정 기능
Status Bar Hidden 애플리케이션 실행 시 상태 표시줄을 숨기려면 이 옵션을 활성화합니다.
Status Bar Style 애플리케이션 실행 시 표시되는 상태 표시줄의 스타일을 정의합니다. 옵션은 Default, Black Translucent, Black Opaque 입니다.
Disable Depth and Stencil 뎁스 및 스텐실 버퍼를 비활성화하려면 이 옵션을 활성화합니다.
Show Loading Indicator 로딩 인디케이터를 표시할 방법을 선택합니다. 옵션은 Don’t Show , White Large , White , Gray 입니다.

스플래시 이미지

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

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

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

일반적인 스플래시 화면 설정 아래에서 Use Storyboard for Launch 를 활성화하여 Custom Storyboard 버튼을 표시할 수 있습니다.

iOS 플레이어 플랫폼의 실행 시 스토리보드 사용 화면
iOS 플레이어 플랫폼의 실행 시 스토리보드 사용 화면

이 버튼을 클릭하여 기기에서 게임이 시작할 때 표시할 스토리보드를 선택하십시오. 여기에 스토리보드를 표시하려면 먼저 Xcode로 스토리보드를 만든 후 프로젝트에 복사해야 합니다.

또는 Use Storyboard for Launch 옵션을 비활성화한 상태로 두고 화면 실행 메서드나 레거시 실행 이미지 메서드 중 하나를 사용하여 스플래시 이미지를 구현할 수도 있습니다.

iOS 플레이어 플랫폼에서 실행 화면 또는 레거시 실행 이미지 지정
iOS 플레이어 플랫폼에서 실행 화면 또는 레거시 실행 이미지 지정

실행 화면

Launch Screen 은 iOS가 스플래시 화면을 기기에서 동적으로 만드는 데 사용하는 XIB 파일입니다. 단, 다음과 같은 제한이 있습니다.

  • iPad 기기 방향에 따라 다양한 콘텐츠를 표시하지 못할 수 있습니다.

  • 모든 iPhone은 랜드스케이프 Launch Screens 를 지원하지만, iOS 버그로 인해 일부 iOS 버전에서는 Landscape Right 대신 Landscape Left 가 표시됩니다.

iPhone Launch ScreeniPad Launch Screen 섹션에서는 각각 Launch Screen type 드롭다운 메뉴에서 다음 실행 화면 유형을 선택할 수 있습니다.

기능
Default 실행 이미지와 매우 비슷한 실행 화면입니다. 하나의 이미지를 포트레이트와 랜드스케이프에 대해 선택합니다. 선택 순서는 iPhone 6+ 실행 이미지, 공유된 모바일 실행 이미지, iPhone 6+용 기본 Unity 실행 이미지입니다. 이 이미지들은 Aspect-Fill 모드를 통해 표시됩니다.
None 실행 이미지만 사용하는 것처럼 동작합니다.
Image and background (relative size) 중앙에 정렬된 이미지가 표시되고 나머지 영역은 단색으로 채웁니다. 이미지 크기는 화면 크기의 사용자 지정 비율이며, 더 작은 크기로 계산됩니다(랜드스케이프 방향에서 수직, 포트레이트 방향에서 수평). 또한 사용자는 포트레이트 및 랜드스케이프 방향에 대한 배경 색상과 이미지도 지정합니다. 이미지 선택 순서는 사용자 지정 이미지, 공유된 모바일 실행 이미지, iPhone 6+용 기본 Unity 실행 이미지입니다. 이 이미지들은 Aspect-Fill 모드를 통해 표시됩니다.
Image and background (constant size) 상대 크기(relative size) 옵션과 같지만, 이미지 크기가 사용자가 지정한 포인트 수로 정의됩니다.
커스텀 XIB 위치에 관계 없이 사용자가 지정한 XIB 파일입니다.

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

레거시 실행 이미지

Launch Images 는 화면 전체를 차지하는 정적 스플래시 화면 이미지로, 에셋 카탈로그(Images.xcassets/LaunchImage)에서 정의할 수 있습니다. 항상 지원되는 크기 및 방향 조합마다 Launch Screen 을 추가하십시오.

설정 기능
Mobile Splash Screen iOS 스플래시 화면에 사용할 텍스처를 지정합니다. 일반적인 스플래시 화면 크기는 320x480입니다. (이는 Android와 iOS 간에 공유됩니다.)
iPhone 3.5\“/Retina|iOS 3.5\“ 레티나 스플래시 화면에 사용할 텍스처를 지정합니다. 스플래시 화면 크기는 640x960입니다.| |iPhone 4\"/Retina|iOS 4\” 레티나 스플래시 화면에 사용할 텍스처를 지정합니다. 스플래시 화면 크기는 640x1136입니다.| |iPhone 4.7\”/Retina iOS 4.7\“ 레티나 스플래시 화면에 사용할 텍스처를 지정합니다. 스플래시 화면 크기는 750x1334입니다.| |iPhone 5.5\"/Retina|iOS 5.5\\” 레티나 스플래시 화면에 사용할 텍스처를 지정합니다. 스플래시 화면 크기는 1242x2208입니다.
iPhone 5.5\" Landscape/Retina iOS 5.5\" 가로/레티나 스플래시 화면에 사용할 텍스처를 지정합니다. 스플래시 화면 크기는 2208x1242입니다.
iPhone X\Retina iPhone X 레티나 스플래시 화면에 사용할 텍스처를 지정합니다. 스플래시 화면 크기는 1125x2436입니다.
iPhone X Landscape\Retina iPhone X 랜드스케이프/레티나 스플래시 화면에 사용할 텍스처를 지정합니다. 스플래시 화면 크기는 2436x1125입니다.
iPad Portrait iPad 세로 방향 스플래시 화면으로 사용할 텍스처를 지정합니다. 표준 스플래시 화면 크기는 768x1024입니다.
iPad Landscape iPad 가로 방향 스플래시 화면으로 사용할 텍스처를 지정합니다. 표준 스플래시 화면 크기는 1024x768입니다.
iPad Portrait/Retina iPad 레티나 가로 방향 스플래시 화면으로 사용할 텍스처를 지정합니다. 표준 스플래시 화면 크기는 1536x2048입니다.
iPad Landscape/Retina iPad 레티나 가로 방향 스플래시 화면으로 사용할 텍스처를 지정합니다. 표준 스플래시 화면 크기는 2048x1536입니다.

iPhone 6+만 가로 방향을 지원하며, 다른 iPhone에서는 세로 방향만 사용 가능합니다.

실행 이미지는 다음 순서로 선택됩니다.

  • 텍스처가 설정된 경우 특정 Launch Image 오버라이드
  • 블루블랙 컬러인 디폴트 Unity 스플래시 화면 실행 이미지

빌드의 모든 Launch Images 를 설정해야 합니다.

디버깅 및 크래시 보고

iOS 플랫폼의 디버깅 및 크래시 보고
iOS 플랫폼의 디버깅 및 크래시 보고
설정 기능
내부 프로파일러 활성화(지원 중단 예정) 애플리케이션의 성능 데이터를 수집하고 리포트를 콘솔로 출력하는 내부 프로파일러를 활성화합니다. 리포트에는 각 Unity 서브시스템이 각 프레임을 실행하는 데 소요된 밀리초 수가 포함됩니다. 30프레임의 평균 데이터가 사용됩니다.
On .Net UnhandledException .NET 처리되지 않은 예외에 대해 취하는 조치입니다. 옵션은 Crash(애플리케이션에 크래시를 발생시켜 iOS가 크래시 보고서를 생성하여 앱 사용자가 iTunes에 제출하고 개발자가 검토하게 함)와 Silent Exit(애플리케이션이 정상적으로 종료됨)입니다.
Log Obj-C Uncaught Exceptions 커스텀 Objective-C를 확인할 수 없는 예외 핸들러를 활성화하여 예외 정보를 콘솔로 출력합니다.
Enable Crash Report API 커스텀 크래시 리포터가 크래시를 캡처하게 합니다. 크래시 로그는 CrashReport API를 통해 스크립트에 제공됩니다.

기타 설정

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

렌더링(Rendering)

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

iOS 플랫폼용 렌더링 플레이어 설정
iOS 플랫폼용 렌더링 플레이어 설정
설정 기능
Color Space Gamma 또는 Linear 중 렌더링에 사용할 색 공간을 선택합니다.
두 옵션의 차이점에 대한 설명은 리니어 렌더링 개요를 참조하십시오.
Auto Graphics API 그래픽스 API를 수동으로 선택하고 순서를 변경하려면 이 옵션을 비활성화합니다. 기본적으로 이 옵션은 활성화되어 있으며, Unity는 Metal이 지원되지 않는 기기를 대비하여 Metal 외에도 GLES2를 포함합니다.
색 영역(Color Gamut) iOS 플랫폼에서 렌더링에 사용할 색 영역을 추가하거나 제거할 수 있습니다. 더하기 (+) 아이콘을 클릭하면 사용 가능한 영역의 목록을 확인할 수 있습니다. 색 영역은 모니터나 화면과 같은 기기에서 사용 가능한 색상 범위를 지정합니다. sRGB 영역은 기본으로 지정된 필수 영역입니다.
광범위한 색상 영역 디스플레이가 지원되는 최신 iOS 기기를 타겟팅하는 경우 DisplayP3 를 사용하여 디스플레이 성능을 100% 활용하되, 이전 기기를 대비하여 Metal Editor Support 도 사용하십시오.
Metal Editor Support Unity 에디터가 Metal API를 사용하도록 하고, Metal API 타겟팅 시 더 빠른 셰이더 반복 기능을 잠금 해제하려면 이 옵션을 활성화합니다.
Metal API Validation 셰이더 문제를 디버깅해야 하는 경우 이 옵션을 활성화합니다.
참고: 확인을 수행하는 경우 CPU 사용이 증가하므로 디버깅에만 사용하십시오.
Metal Write-Only Backbuffer 기본값이 아닌 기기 방향에서 성능이 개선되도록 허용합니다. 이 옵션은 백 버퍼에 frameBufferOnly 플래그를 설정하여 백 버퍼의 리드백(되읽기)을 방지하지만 일부 드라이버 최적화는 활성화합니다.
Force hard shadows on Metal Unity가 Metal의 그림자에 포인트 샘플링을 사용하도록 만들려면 이 옵션을 활성화합니다. 이렇게 하면 그림자 품질이 감소하여 성능이 개선될 수 있습니다.
Memoryless Depth 메모리리스 렌더 텍스처를 사용하는 경우를 선택합니다. 메모리리스 렌더 텍스처는 렌더링 동안 CPU 또는 GPU 메모리가 아닌 온타일(on-tile) 메모리에만 일시적으로 저장됩니다. 이로 인해 앱의 메모리 사용이 감소하지만 해당 렌더 텍스처를 읽거나 렌더 텍스처에 기록할 수 없습니다.
참고: 메모리리스 렌더 텍스처는 iOS, ivOS 10.0+ Metal과 Vulkan에서만 지원됩니다. 다른 플랫폼의 경우 렌더 텍스처는 읽기/쓰기 보호가 설정되며 CPU 또는 GPU 메모리에 저장됩니다.
Unused 메모리리스 프레임버퍼 뎁스를 사용하지 않습니다.
Forced 항상 메모리리스 프레임버퍼 뎁스를 사용합니다.
Automatic Unity가 메모리리스 프레임버퍼 뎁스 사용을 결정합니다.
Multithreaded Rendering 멀티스레드 렌더링을 사용하려면 이 옵션을 활성화합니다. Metal에서만 지원됩니다.
Static Batching 정적 배칭을 사용하려면 이 옵션을 활성화합니다.
Dynamic Batching 빌드에서 동적 배칭을 사용(기본적으로 선택되어 있음)하려면 이 옵션을 활성화합니다.
참고: 스크립터블 렌더 파이프라인이 활성화된 경우 동적 배칭은 영향이 없습니다. 즉, 이 설정은 스크립터블 렌더 파이프라인 에셋 그래픽스에 설정된 사항이 없어야만 표시됩니다.
GPU Skinning DX11/ES3 GPU 스키닝을 사용하려면 이 옵션을 활성화합니다. GPU 스키닝에 대한 자세한 내용은 Wikipedia의 골격 애니메이션 페이지를 참조하십시오.
Graphics Jobs (Experimental) 그래픽스 작업(루프 렌더)을 다른 CPU 코어에서 실행 중인 워커 스레드에 오프로드하도록 Unity를 설정하려면 이 옵션을 활성화합니다. 메인 스레드에서 종종 병목 현상을 초래하는 Camera.Render에 소요되는 시간을 줄이기 위해 사용합니다. </>참고: 이 기능은 실험 단계에 있습니다. 기능을 사용해도 프로젝트의 성능이 개선되지 않을 수 있으며, 새로운 크래시가 발생할 수 있습니다.
Unity는 현재 Vulkan을 사용하는 경우에만 그래픽스 잡을 지원하며, 이 설정은 OpenGL ES를 사용하는 경우 영향이 없습니다.
Lightmap Streaming Enabled 현재의 게임 카메라를 렌더링하기 위해 필요한 라이트맵 밉맵만 로드하려면 활성화합니다.
참고: 이 설정을 사용하려면 텍스처 스트리밍 품질 설정을 활성화해야 합니다.
Streaming Priority 리소스 충돌을 해결하기 위해 라이트맵 밉맵 스트리밍 우선순위를 설정합니다. 이러한 값은 생성된 라이트맵 텍스처에 적용됩니다.
양수의 순위가 우선시됩니다. 유효한 값의 범위는 –128부터 127까지입니다.
Enable Frame Timing Stats CPU/GPU 프레임 타이밍 통계를 수집하려면 이 옵션을 활성화합니다.

식별

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를 설정해야 합니다. 자세한 내용은 팀 프로비저닝 프로파일 생성을 참조하십시오.
자동 서명(Automatically Sign) 이 옵션을 활성화하면 Xcode가 빌드를 자동으로 서명합니다.

설정

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

A API 구성 설정

B Apple 전용 정보

C 기기 정보

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

E 기타 구성 설정

API 구성 설정

iOS 플랫폼을 위한 API 구성 설정
iOS 플랫폼을 위한 API 구성 설정
설정 기능
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 스크립팅 백엔드는 Unity가 프로젝트의 C# 코드를 컴파일하고 실행하는 방식을 결정합니다. 이 설정은 iOS에서 활성화되지 않습니다.
Mono 증분 빌드를 사용하려면 Build Settings 다이얼로그에서 BuildAppend 옵션을 차례로 선택합니다. Replace 옵션을 사용하면 클린 build.Compiles C# 코드를 .NET CIL(Common Intermediate Language, 공용 중간 언어)로 수행하고, 공용 언어 런타임을 사용하여 해당 CIL을 실행합니다.
경고: Mono 빌드는 Apple 앱 스토어에서 더 이상 지원되지 않으며, Mono는 iOS 11 이상에서 지원되지 않습니다. 지원 중단 예정인 .NET 3.5 런타임을 사용하는 경우에만 Mono를 선택할 수 있습니다.
IL2CPP C# 코드를 CIL로 컴파일하고, CIL을 C++로 전환한 다음 C++를 런타임에 직접 실행되는 네이티브 기계어 코드로 컴파일합니다. 자세한 내용은 IL2CPP를 참조하십시오.
팁: IL2CPP 스크립팅 백엔드에서 생성된 C++ 코드를 점진적으로 업데이트하여 증분 C++ 빌드 시스템이 변경된 소스 파일만 컴파일하도록 함으로써 반복 시간을 대폭 단축할 수 있습니다.
API Compatibility Level 호환성 레벨은 프로젝트에서 사용할 수 있는 .NET API를 결정합니다. 이 설정은 타사 라이브러리와의 호환성에 영향을 줄 수 있습니다.
팁: 타사 어셈블리 관련 문제가 발생하는 경우, 아래 API 호환성 레벨 섹션의 권장 사항을 시도해 보십시오.
.Net 2.0 최대 .net 호환성으로 최대 파일 크기입니다. 지원 중단 예정인 .NET 3.5 런타임의 일부입니다.
.Net 2.0 Subset 전체 .net 호환성의 부분 집합으로, 파일 크기는 더 작습니다. 지원 중단 예정인 .NET 3.5 런타임의 일부입니다.
.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++ 컴파일러 설정을 선택합니다. 이 설정은 iOS에서 활성화되지 않습니다.

API 호환성 레벨

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

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

Apple 전용 정보

iOS 플랫폼을 위한 Apple 전용 구성 설정
iOS 플랫폼을 위한 Apple 전용 구성 설정
설정 기능
Use on Demand Resource 온디맨드 리소스를 사용하려면 이 옵션을 활성화합니다.
이 옵션이 활성화되면 앱 슬라이싱을 위한 배리언트 맵 섹션이 표시됩니다.
Accelerometer Frequency 가속 센서 샘플링 빈도를 지정합니다. Disabled 를 선택하면 샘플을 만들지 않습니다. 선택하지 않으면 15Hz, 30Hz, 60Hz100Hz 주파수 중 선택할 수 있습니다.
Camera Usage Description iOS 기기의 카메라에 액세스하는 이유를 입력할 수 있습니다.
Location Usage Description iOS 기기의 위치에 액세스하는 이유를 입력할 수 있습니다.
마이크로폰 사용 설명(Microphone Usage Description) iOS 기기의 마이크에 액세스하는 이유를 입력할 수 있습니다.
Mute Other Audio Sources Unity 애플리케이션이 백그라운드에서 실행되는 애플리케이션의 오디오를 중지하게 하려면 이 옵션을 활성화합니다. 이 옵션을 활성화하지 않으면 백그라운드 애플리케이션의 오디오가 Unity 애플리케이션과 함께 계속 재생됩니다.
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 상자에서 로드할 에셋에 대한 레퍼런스를 설정합니다.

기기 정보

iOS 플랫폼을 위한 기기 구성 설정
iOS 플랫폼을 위한 기기 구성 설정
설정 기능
Disable HW Statistics 하드웨어에 대한 정보를 Unity로 보내지 않도록 애플리케이션을 설정하려면 활성화합니다. 자세한 내용은 Unity 하드웨어 통계를 참조하십시오.
Target Device 게임의 대상 기기를 선택합니다. 선택 가능한 옵션은 iPhone Only, iPad OnlyiPhone + iPad 입니다.
Target SDK 게임의 타겟 SDK를 선택합니다. 선택 가능한 옵션은 Device SDKSimulator SDK 입니다.
참고: 올바른 SDK를 선택하십시오. 예를 들어 Device SDK를 선택하고 Xcode의 시뮬레이터를 타겟팅하면 빌드가 다수의 오류 메시지를 표시하며 작동하지 않게 됩니다.
Target minimum iOS Version 게임이 작동하는 iOS 최소 버전을 정의합니다.
ProMotion 지원 활성화(Enable ProMotion Support) ProMotion 디스플레이에서 고주파수 새로고침 속도(120Hz)를 허용하려면 이 옵션을 활성화합니다. 이 설정을 활성화하면 배터리 수명에 영향을 줄 수 있습니다.
ARKit 지원 필요(Requires ARKit support) 앱 스토어에 퍼블리시할 때 앱을 iPhone 6s/iOS 11 이상 기기로 제한하려면 이 옵션을 활성화합니다.
모서리에서 시스템 제스처 지연(Defer system gestures on edges) Top Edge, Left Edge, Bottom EdgeRight Edge 중 사용자가 시스템 제스처를 실행하기 위해 두 번 스와이프해야 하는 모서리를 활성화합니다.
iPhone X에서 홈 버튼 숨김(Hide home button on iPhone X) 앱이 실행 중일 때 iPhone X 기기에서 홈 버튼을 숨기려면 이 옵션을 활성화합니다.
일시 정지 시 추가 프레임 렌더링(Render Extra Frame on Pause) 앱을 일시 정지하는 프레임 후에 추가 프레임을 생성하려면 이 옵션을 활성화합니다. 이를 통해 앱은 백그라운드에서 실행될 때 일시 정지 상태를 표시하는 그래픽을 표시할 수 있습니다.
Behavior in Background 사용자가 홈 버튼을 누르면 애플리케이션이 수행할 작업을 선택합니다.
Custom 배경 프로세싱을 사용하여 원하는 동작을 구현할 수 있습니다. 예제는 BackgroundFetch Bitbucket 프로젝트를 참조하십시오.
Suspend 앱을 중단하되 종료하지 않습니다. 기본 동작입니다.
Exit 사용자가 홈 버튼을 누르면 앱을 중단하지 않고 종료합니다.

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

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

iOS 플랫폼을 위한 배리언트 구성 설정
iOS 플랫폼을 위한 배리언트 구성 설정

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

더하기(+) 및 빼기(-) 아이콘을 이용하여 새로운 배리언트를 추가하거나 제거할 수 있습니다. Variant settings 의 목록에서 배리언트를 선택하여 다음 설정을 확인하거나 변경할 수도 있습니다.

설정 기능
Variant name 로딩되는 스크립트의 배리언트 이름을 나타냅니다. 이러한 설정에 Custom value 를 선택하면 추가 프로퍼티가 아래에 표시되며, 여기에 사용할 값을 직접 입력할 수 있습니다.
기기 이 배리언트가 타겟팅하는 기기를 선택합니다. 선택 가능한 옵션은 Any (기본값), iPhone, iPad, iWatchCustom value 입니다.
Memory 이 배리언트에 필요한 최소 메모리를 선택합니다. 선택 가능한 옵션은 Any (기본값), 1GB, 2GB, 3GB, 4GBCustom value 입니다.
Graphics 사용할 Metal 프레임워크를 선택합니다. 선택 가능한 옵션은 Any (기본값), Metal1v2, Metal2v2, Metal2v3, Metal3v1, Metal3v2, Metal4v1Custom value 입니다.
Display color space 사용할 색 영역을 선택합니다. 사용 가능한 옵션은 Any (기본값), sRGB, DisplayP3Custom value 입니다.

직접 설정을 추가할 수도 있습니다. Add custom entry 버튼을 클릭하면 새로운 텍스트 상자 쌍이 표시됩니다. <key> 상자에 설정의 이름을 입력하고, <value> 상자에 사용할 값을 입력합니다.

기타 구성 설정

iOS 플랫폼을 위한 기타 구성 설정
iOS 플랫폼을 위한 기타 구성 설정
설정 기능
Architecture 타겟팅할 아키텍처를 선택합니다.
Universal 모든 아키텍처를 지원합니다. 권장되는 옵션입니다.
Armv7 이전 32비트 ARM 아키텍처만 지원합니다.
Arm64 새로운 64비트 ARM 아키텍처만 지원합니다. 앱이 고급 기기 전용인 경우 이 옵션을 고려하십시오.
x86_64 x86_64 Intel 아키텍처를 지원합니다. Simulator SDK 에서 사용할 수 있는 유일한 아키텍처입니다.
Scripting Define Symbols 커스텀 컴파일 플래그를 설정합니다. 자세한 내용은 플랫폼 의존 컴파일을 참조하십시오.
Allow ‘unsafe’ Code 사전 정의된 어셈블리(예: Assembly-CSharp.dll)에서 ‘안전하지 않은’ C# 코드 컴파일에 대한 지원을 활성화합니다.
어셈블리 정의 파일(.asmdef)의 경우 .asmdef 파일 중 하나를 클릭한 후 표시되는 인스펙터 창에서 이 옵션을 활성화하십시오.
액티브 입력 핸들링(Active Input Handling) 사용자의 입력을 처리하는 방식을 선택합니다.
Input Manager 기존의 입력 설정을 사용합니다.
Input System (Preview) Use the newer Input system. The Input System is under development. To try an early preview of the Input System, install the InputSystem package. If you select the Input System (Preview option without having that package installed, nothing happens except for some extra processing.
Both 두 시스템 모두를 나란히 사용합니다.

최적화(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이 모두 사용되지 않습니다. Strip Engine Code 옵션을 활성화하면 사용되지 않은 부분을 제거하여 iOS 기기에서 빌드된 플레이어의 크기를 줄일 수 있습니다. 현재 선택된 옵션을 통해 일반적으로 제거되는 클래스를 게임에서 사용 중인 경우, 빌드를 만들 때 디버그 메시지가 표시됩니다.
Managed Stripping Level Unity가 사용되지 않는 관리 (C#) 코드를 얼마나 적극적으로 스트리핑할지 선택합니다.
Unity가 게임이나 애플리케이션을 빌드하는 동안 Unity Linker 프로세스는 프로젝트에서 사용되는 동적으로 연결된 관리 라이브러리에서 사용되지 않는 코드를 스트리핑할 수 있습니다. 코드 스트리핑을 통해 생성된 실행 파일의 크기를 대폭 줄일 수 있지만, 간혹 실수로 사용되는 코드를 제거하게 될 수 있습니다. 이 설정을 통해 Unity가 사용하지 않는 코드를 얼마나 적극적으로 제거할지 선택할 수 있습니다.
Normal 도달할 수 없는 관리되는 코드를 제거하여 빌드 크기를 줄이고 .NET/IL2CPP 빌드 시간을 단축합니다.
Aggressive Normal 옵션보다 더욱 적극적으로 코드를 제거합니다. 코드 크기가 더욱 감소하나, 이러한 추가 감소로 인해 일부 메서드가 디버거에 표시되지 않으며 반사를 통해 액세스한 코드가 스트리핑되는 등 부작용이 초래될 수 있습니다. 커스텀 link.xml 파일을 만들면 일부 클래스와 메서드를 유지할 수 있습니다. 자세한 내용은 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 플랫폼을 위한 로깅 설정

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

레거시

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

iOS 플랫폼을 위한 레거시 설정
iOS 플랫폼을 위한 레거시 설정

XR 설정

스탠드얼론 플레이어를 위한 XR 설정
스탠드얼론 플레이어를 위한 XR 설정
설정 기능
Virtual Reality Supported 애플리케이션이 가상현실 애플리케이션이라면 체크박스를 선택합니다. 그런 다음 필수 VR SDK를 목록에 추가합니다.
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 처리 시간이 현저히 단축됩니다.
Vuforia 증강 현실 지원(Vuforia Augmented Reality Supported) Vuforia Virtual Reality SDK 사용 시 필수 요건인 Vuforia Augmented Reality SDK를 사용하려면 이 옵션을 활성화합니다.

XR 지원 설치 관리자

스탠드얼론 플레이어를 위한 XR 설정
스탠드얼론 플레이어를 위한 XR 설정

Vuforia 증강 현실 링크를 클릭하면 Vuforia 소프트웨어 개발 키트 사용을 활성화할 수 있습니다. Vuforia 소프트웨어 라이선스를 보유하고 있고 해당 라이선스의 약관에 동의해야 Vuforia Augmented Reality Supported 프로퍼티를 활성화할 수 있습니다.



  • 2018–08–16 편집 리뷰를 거쳐 페이지 수정됨

  • 5.5에서 Mute Other Audio Sources 추가됨

  • Unity 2018.1에서 iOS 플레이어 설정 문서 업데이트됨

  • Unity 2018.1에서 ‘안전하지 않은’ 코드 허용 체크박스 추가됨

  • 2018.1에서 .NET 4.x 런타임 추가됨

  • Unity 2018.3에서 .Net 3.5 스크립팅 런타임이 지원 중단됨 NewIn20183

  • Unity [2018.3]에서 최소 iOS 버전이 9로 변경됨(../Manual/30_search.html?q=newin20183) NewIn20183

iOS 하드웨어 가이드
iOS 2D 텍스처 오버라이드