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

iOS 플레이어 설정

이 페이지에서는 iOS 관련 Player Settings 에 대해 자세하게 설명합니다. 일반 플레이어 설정에 대한 설명은 여기에서 확인할 수 있습니다.

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

아이콘

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

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

해상도 및 프레젠테이션

프로퍼티: 기능:
해상도 스케일링(Resolution Scaling)
해상도 스케일링 모드(Resolution Scaling Mode) 스케일링을 네이티브 화면 해상도 이하로 설정합니다.
고정 DPI(FixedDPI) 로 설정하면 기기의 화면 해상도를 네이티브 해상도 미만으로 조정하고 타겟 DPI(Target DPI) 프로퍼티를 표시할 수 있습니다. 이를 통해 성능과 배터리 수명을 최적화하거나 특정 DPI 설정을 맞출 수 있습니다.
비활성화(Disabled) 로 설정하면 스케일링이 적용되지 않고, 게임이 네이티브 화면 해상도로 렌더링됩니다.
타겟 DPI(Target DPI) 게임 화면의 타겟 DPI를 설정합니다. 기기의 네이티브 화면 DPI가 이 값보다 큰 경우 게임 화면은 이 설정을 맞추기 위해 하향 조정됩니다. 이 옵션은 해상도 스케일링 모드(Resolution Scaling Mode)고정 DPI(Fixed DPI) 로 설정한 경우에만 표시됩니다.
Orientation
Default Orientation
이 설정은 iOS 및 Android 기기에서 동일합니다.
게임의 화면 방향입니다. 다음 옵션이 있습니다.
Portrait(하단에 홈 버튼),
Portrait Upside Down(상단에 홈 버튼),
Landscape Left(오른쪽에 홈 버튼),
Landscape Right(왼쪽에 홈 버튼), 그리고
Auto Rotation(기기 방향에 따라 화면 방향 변경)
Use Animated Autorotation 방향을 변경할 때 단순히 전환만 하지 않고 화면 회전에 애니매이션 효과를 적용하려면 이 상자를 선택합니다. Default OrientationAuto Rotation 으로 설정된 경우에만 표시됩니다.
Allowed Orientations for Auto Rotation(Default OrientationAuto Rotation 으로 설정된 경우에만 표시됨)
Portrait 포트레이트 방향을 사용할 수 있습니다.
Portrait Upside Down 상하 반전된 세로 방향을 사용합니다.
Landscape Right 오른쪽 가로 방향(홈 버튼이 왼쪽 에 위치)을 사용합니다.
Landscape Left 풍경 왼쪽 방향(홈 버튼이 오른쪽 에 위치)을 사용할 수 있습니다.
멀티태스킹 지원
Requires Fullscreen 게임을 전체 화면으로 표시해야 하는 경우 이 상자를 선택합니다.
** Status Bar**
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 입니다.

스플래시 이미지

iOS에서 스플래시 이미지를 구현하는 두 가지 방법은 Launch ImageLaunch Screen 입니다.

실행 이미지

Launch Images 는 화면 전체를 차지하는 정적 스플래시 화면 이미지입니다.

Launch Images 는 에셋 카탈로그(Images.xcassets/LaunchImage)에 정의되어 있습니다. 항상 지원되는 각 크기 및 방향 조합마다 Launch Images 를 추가해야 합니다.

iPhone 6+만 가로 방향을 지원합니다. 나머지 iPhone에서는 세로 방향만 사용할 수 있습니다. 실행 이미지의 선택 순서는 다음과 같습니다.

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

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

실행 화면

Launch Screen 은 iOS가 스플래시 화면을 기기에 동적으로 만드는 데 사용하는 XIB 파일입니다.

Launch Screens 에는 제한이 있습니다. 즉, iPad 기기 방향에 따라 일부 콘텐츠를 표시할 수 없습니다. 모든 iPhone은 랜드스케이프 Launch Screens 를 지원합니다. 하지만 iOS의 버그로 인해 특정 iOS 버전에서 Landscape LeftLandscape Right 대신 표시됩니다.

참고 크로스 플랫폼 스플래시 이미지 프로퍼티에 대한 내용은 스플래시 화면 설정을 참조하십시오.

프로퍼티: 기능:
Virtual Reality Splash Image 가상 현실(VR) 애플리케이션에서 iOS 스플래시 화면에 사용할 텍스처를 지정합니다.
실행 시 스토리보드 사용(Use Storyboard for Launch) 이 옵션을 활성화하면 커스텀 스토리보드(Custom Storyboard) 버튼이 표시됩니다. 이 버튼을 클릭하여 기기에서 게임이 시작할 때 표시할 스토리보드를 선택하십시오. 여기에 스토리보드를 표시하려면 먼저 Xcode로 스토리보드를 만든 후 프로젝트에 복사해야 합니다.
레거시 실행 이미지(Legacy Launch Images)
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입니다.
Launch Screen type 실행 화면 타입을 선택할 수 있습니다.
- None 실행 이미지만 사용하는 것처럼 동작합니다.
- Default 실행 이미지와 매우 비슷한 실행 화면입니다. 하나의 이미지를 포트레이트와 랜드스케이프에 대해 선택합니다. 선택 순서는 iPhone 6+ 실행 이미지, 공유된 모바일 실행 이미지, iPhone 6+용 기본 Unity 실행 이미지입니다. 이 이미지들은 Aspect-Fill 모드를 통해 표시됩니다.
- Image with background, relative size 중앙에 정렬된 이미지가 표시되고 나머지 영역은 단색으로 채웁니다. 이미지 크기는 화면 크기의 사용자 지정 비율이며, 더 작은 크기로 계산됩니다(랜드스케이프 방향에서 수직, 포트레이트 방향에서 수평). 또한 사용자는 포트레이트 및 랜드스케이프 방향에 대한 배경 색상과 이미지도 지정합니다. 이미지 선택 순서는 사용자 지정 이미지, 공유된 모바일 실행 이미지, iPhone 6+용 기본 Unity 실행 이미지입니다. 이 이미지들은 Aspect-Fill 모드를 통해 표시됩니다.
- Image with background, constant size 상대 크기(relative size) 옵션과 같지만, 이미지 크기가 사용자가 지정한 포인트 수로 정의됩니다.
- Custom Xib 위치에 관계 없이 사용자가 지정한 XIB 파일입니다.

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

디버깅 및 크래시 보고

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

기타 설정

프로퍼티: 기능:
Rendering
Color Space Unity가 Gamma 색 공간 또는 Linear 색 공간을 렌더링에 사용하도록 만듭니다. 자세한 내용은 리니어 렌더링 문서를 참조하십시오. Linear 색 공간은 Metal 그래픽스 API에서만 지원됩니다.
Auto Graphics API 사용할 그래픽스 API를 선택할 수 있습니다. 확인란을 선택하면 Unity가 메탈을 포함시키고, 메탈이 지원되지 않는 기기를 위해 GLES2를 백업으로 포함시킵니다. 확인란을 선택하지 않으면 그래픽스 API를 수동으로 선택하고 순서를 바꿀 수 있습니다. API를 수동으로 하나만 선택하면 앱의 info.plist가 조정되어 해당 앱 스토어 제약으로 이어집니다.
Graphics APIs 렌더링에 사용할 그래픽스 API를 설정합니다. API를 추가하려면 + 아이콘을 클릭하고 API를 제거하려면 - 아이콘을 클릭하십시오. 기기가 두 개 이상의 그래픽스 API를 지원하는 경우 Unity는 순서가 매겨진 리스트에서 첫 번째 항목을 사용합니다. 리스트에서 API를 드래그하여 순서를 변경할 수 있습니다. 이 옵션은 Auto Graphics API 가 선택 해제된 경우에만 표시됩니다.
색 영역(Color Gamut) 렌더링에 사용할 색 영역을 설정합니다. 와이드 색 영역 디스플레이를 탑재한 최신 iOS 기기를 타게팅하는 경우 DisplayP3 를 사용하여 디스플레이 성능을 완전히 활용하십시오. 구형 기기의 경우 Metal Editor Support 를 폴백(fallback)으로 사용하십시오.
Metal Editor Support Unity 에디터가 Metal API를 사용하도록 만들고, Metal API를 타게팅을 위한 더 빠른 셰이더 반복을 이용할 수 있게 됩니다. Metal API Validation 을 사용하면 그래픽스 관련 오류를 초기에 감지할 수 있지만, 성능 저하가 발생할 수 있습니다. 자세한 내용은 Metal API 확인을 참조하십시오.
Force hard shadows on Metal Unity가 Metal의 그림자에 포인트 샘플링을 사용하도록 만듭니다. 이렇게 하면 그림자 품질이 감소하여 성능이 개선될 수 있습니다.
Metal Restricted Backbuffer Use 기본값이 아닌 기기 방향에서 성능이 개선되도록 허용합니다. 이 옵션은 백 버퍼에 frameBufferOnly 플래그를 설정하여 백 버퍼의 리드백(되읽기)을 방지하지만 일부 드라이버 최적화는 활성화합니다.
Multithreaded Rendering 멀티스레드 렌더링을 활성화합니다. Metal에서만 지원됩니다.
Static Batching 빌드에 정적 배칭을 사용할 때 설정합니다(디폴트로 활성화됨).
Dynamic Batching 빌드에서 동적 배칭을 사용하도록 설정합니다.
GPU Skinning DX11/ES3 GPU 스키닝 활성화 여부를 설정합니다.
Identification
Bundle Identifier Apple Developer Network 계정의 인증서를 프로비저닝하는 데 사용되는 문자열입니다. (이는 Android와 iOS 간에 공유됩니다.)
Bundle Version 번들의 반복 횟수(릴리스되거나 릴리스되지 않음)를 식별하는 번들의 빌드 버전 번호를 지정합니다. 버전은 점으로 구분된 숫자가 포함된 문자열의 일반적인 포맷으로 지정됩니다(예: 4.3.2).
Build 여기에 빌드 번호를 입력하면 제작한 빌드 수를 추적할 수 있습니다.
팀 ID 서명 Apple 개발자 팀 ID를 사용하여 이 프로퍼티를 설정합니다. Apple 개발자 웹사이트의 계정 및 멤버십(Account > Membership)에서 해당 프로퍼티를 찾을 수 있습니다. 프로퍼티는 생성된 Xcode 프로젝트의 팀 ID를 설정하고, 개발자는 이를 통해 빌드 및 실행 기능을 사용할 수 있습니다. 앱이 자동으로 서명되도록 하려면 여기에서 Apple 개발자 팀 ID를 설정해야 합니다. 자세한 내용은 팀 프로비저닝 프로파일 생성을 참조하십시오.
자동 서명(Automatically Sign) 이 옵션을 활성화하면 Xcode가 빌드를 자동으로 서명합니다.
iOS 프로비저닝 프로파일(iOS Provisioning Profile) Apple 프로비저닝 프로파일을 지정하면 모든 iOS 기기에서 게임을 실행하고 앱 서비스를 사용할 수 있습니다. Browse 버튼을 클릭해 다운로드한 프로비저닝 프로파일 파일을 선택하십시오. Profile ID 는 Xcode 프로젝트에서 설정된 프로비저닝 프로파일의 내부 ID입니다. 예: 1234abcd-12ab-12ab-12ab-1234abcd1234. 이 ID는 프로비저닝 프로파일 파일을 선택할 때 자동으로 표시되며, 수동으로 입력할 수도 있습니다.
참고: 이 프로퍼티는 Automatically Sign 을 체크 해제했을 때에만 나타납니다.
Configuration
Scripting Runtime Version 프로젝트에 사용할 .NET 런타임을 선택합니다. 자세한 내용은 Microsoft의 .NET 문서를 참조하십시오.
     .NET 3.5 Equivalent .NET 3.5 API를 구현하는 .NET 런타임입니다. 이 옵션이 기본 스크립팅 런타임입니다.
     .NET 4.x Equivalent .NET 4 API를 구현하는 .NET 런타임입니다. 이 API는 .NET 3.5보다 최신 버전이기 때문에 더 많은 API에 액세스할 수 있고, 더 많은 외부 라이브러리와 호환되며, C# 6를 지원합니다.
Scripting Backend IL2CPP 및 Mono 스크립팅 백엔드 간에 선택할 수 있습니다. 기본값은 IL2CPP이며, 대부분의 일반적인 상황에서는 과거에 사용되던 Mono 백엔드로 전환할 필요가 없습니다. IL2CPP와 관련된 버그가 발생한 경우가 아니라면 Mono를 선택하지 않는 것이 좋습니다. Mono 빌드는 앱 스토어에서 더 이상 허용되지 않고, Mono는 iOS 11 이상에서 지원되지 않습니다.
Api Compatibility Level 액티브 .NET API 프로파일을 지정합니다. 아래를 참조하십시오.
- .Net 2.0 .NET 2.0 라이브러리입니다. .NET 호환성 최대, 파일 크기 최대
- .Net 2.0 Subset 전체 .NET 호환성의 부분 집합, 파일 크기 작음
C++ 컴파일러 설정(C++ Compiler Configuration) 디버그 또는 릴리스 모드에서 IL2CPP 생성 코드를 컴파일할지 선택합니다.
- 디버그(Debug) 모든 최적화 기능이 비활성화되므로 디버그(Debug) 모드를 디버깅에 사용합니다. 이렇게 하면 코드를 더 빠르게 빌드할 수 있지만 실행 속도가 느려집니다.
- Release(릴리스) 최적화 기능이 활성화되므로 릴리스(Release) 모드를 테스트 및 사용자 배포에 사용합니다. 이렇게 하면 컴파일된 코드가 빠르게 실행되고 바이너리 크기가 감소하지만 컴파일 시간이 늘어납니다.
Use on Demand Resource 활성화하면 온디맨드 리소스를 사용할 수 있습니다.
Accelerometer Frequency 가속 센서의 샘플링 빈도를 지정할 수 있습니다. 제공되는 옵션은 Disabled(샘플링 안 함), 15Hz, 30Hz, 60Hz, 100Hz입니다.
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 스키마 리스트입니다.
Disable HW Statistics 기본적으로, Unity iOS 앱에서는 개발자가 결정을 내리는 데 도움이 되는 종합 정보를 제공할 수 있도록 익명 HW 통계를 Unity로 보냅니다. 통계는 http://stats.unity3d.com/에서 확인할 수 있습니다. 이 옵션을 선택하면 앱에 대한 통계를 보내는 기능이 비활성화됩니다.
Target Device 게임의 타겟 기기를 설정합니다. 옵션은 iPhone Only, iPad OnlyiPhone + iPad입니다.
Target SDK 게임의 타겟 SDK를 설정합니다. 옵션은 iPhone Only, Device SDKSimulator SDK입니다.
Target minimum iOS Version 게임이 작동하는 iOS 최소 버전을 정의합니다.
ProMotion 지원 활성화(Enable ProMotion Support) ProMotion 디스플레이에서 고주파수 새로고침 속도(120Hz)를 활성화합니다. 이 설정을 활성화하면 배터리 수명에 영향을 줄 수 있습니다.
ARKit 지원 필요(Requires ARKit support) 앱 스토어에 퍼블리시할 때 앱을 iPhone 6s/iOS 11 이상 기기로 제한합니다.
모서리에서 시스템 제스처 지연(Defer system gestures on edges) 사용자가 선택한 모서리에서 시스템 제스처를 실행하려면 두 번 스와이프해야 합니다.
iPhone X에서 홈 버튼 숨김(Hide home button on iPhone X) 앱이 실행 중일 때 iPhone X 기기에서 홈 버튼을 숨깁니다.
일시 정지 시 추가 프레임 렌더링(Render Extra Frame on Pause) 앱을 일시 정지하는 프레임 후에 추가 프레임을 생성합니다. 이를 통해 앱은 백그라운드에서 실행될 때 일시 정지 상태를 표시하는 그래픽스를 표시할 수 있습니다.
Behaviour in Background 사용자가 홈 버튼을 누르면 애플리케이션이 수행할 작업을 지정합니다.
- Suspend 표준 동작입니다. 앱이 일시중지되지만 종료되지는 않습니다.
- Exit 홈 버튼을 누르면 앱이 일시중지되지 않고 종료됩니다.
- Custom 배경 프로세싱을 사용하여 원하는 동작을 구현할 수 있습니다. 여기서 예제를 확인할 수 있습니다.
Architecture 타겟으로 지정할 아키텍처를 선택할 수 있습니다. 디폴트인 Universal이 권장됩니다. 고급 기기에 탑재되는 일부 앱에서는 Arm64-only 옵션을 선택하는 것이 좋을 수 있습니다. Armv7은 일관성을 유지하기 위해 사용됩니다.
- Universal 권장 옵션입니다. 두 아키텍처를 모두 지원합니다.
- Armv7 이전 Armv7 아키텍처만 지원합니다.
- Arm64 새 Arm64 아키텍처만 지원합니다.
- x86_64 Simulator SDK_ 에 사용할 수 있는 유일한 아키텍처입니다. x86_64 아키텍처를 지원합니다.
Scripting Define Symbols 커스텀 컴파일 플래그입니다. 자세한 내용은 플랫폼별 컴파일 페이지를 참조하십시오.
Allow ‘unsafe’ Code 사전 정의된 어셈블리(예: Assembly-CSharp.dll)에서 ‘안전하지 않은’ C# 코드 컴파일에 대한 지원을 활성화합니다. 어셈블리 정의 파일(.asmdef)의 경우 .asmdef 파일 중 하나를 클릭한 후 표시되는 인스펙터 창에서 이 옵션을 활성화하십시오.
액티브 입력 핸들링(Active Input Handling) 입력 관리자, 입력 시스템(미리보기)(Input System (Preview)), 또는 둘 다(Both) 를 사용하여 입력을 처리할지 선택합니다. 이 설정을 선택하는 경우 Unity를 재시작해야 변경 사항이 적용됩니다.
Optimization
Prebake Collision Meshes 빌드 시간에 충돌 데이터를 메시에 추가할지 설정합니다.
Keep Loaded Shaders Alive 셰이더를 메모리에 유지하여 플레이어가 게임을 시작할 때 빠르게 액세스할 수 있도록 만듭니다.
Preloaded Assets 플레이어가 시작되면 에셋 배열이 로드됩니다.
AOT compilation options 추가적인 AOT 컴파일러 옵션입니다.
Strip Engine Code 코드 스트리핑을 활성화합니다. 설정은 IL2CPP 스크립팅 백엔드에서만 사용 가능합니다.
Script Call Optimization 필요한 경우 런타임에 속도를 높이기 위해 예외 처리를 비활성화할 수 있습니다. 자세한 내용은 iOS 최적화를 참조하십시오.
- Slow and Safe 전체 예외 처리가 발생합니다(Mono 스크립팅 백엔드를 사용하면 기기 성능에 영향을 줄 수 있음).
- Fast but no Exceptions 기기의 예외에 대한 데이터를 제공하지 않습니다(Mono 스크립팅 백엔드를 사용하면 게임이 더 빠르게 실행됨).
Vertex Compression 압축할 버텍스 채널을 선택합니다. 압축하면 메모리와 대역폭을 절약할 수 있지만 정밀도가 떨어집니다.
Optimize Mesh Data 적용된 머티리얼에 필요 없는 데이터를 메시에서 제거합니다(탄젠트, 노멀, 컬러, UV).

참고: 올바른 SDK를 선택해야 합니다. 예를 들어 Device 를 선택한 후 Xcode에서 시뮬레이터를 타겟으로 지정하면 빌드에 실패하고 많은 오류 메시지가 나타납니다.

API compatibility level

모든 타겟에 대한 Mono API 호환성 레벨을 선택할 수 있습니다. 때때로 타사 .NET DLL은 원하는 .NET 호환성 레벨을 벗어납니다. 이런 경우에 발생하는 일과 그에 대한 해결 방법을 알고 싶으면 Windows에서 “Reflector”를 받으십시오.

  1. 문제가 있는 API 호환성 레벨의 .NET 어셈블리를 Reflector로 드래그합니다. 해당 어셈블리는 Frameworks/Mono/lib/mono/YOURSUBSET/에서 찾을 수 있습니다.
  2. 확인하려는 타사 어셈블리도 드래그합니다.
  3. 타사 어셈블리를 마우스 오른쪽 버튼으로 클릭하고 “분석”을 선택합니다.
  4. 분석 보고서에서 “Depends on” 섹션을 살펴봅니다. 타사 어셈블리에서 사용하지만 원하는 .NET 호환성 레벨에서 벗어나는 경우 모두 빨간색으로 강조 표시됩니다.

번들 식별자

Bundle Identifier 문자열은 빌드하는 게임의 권한 설정 프로파일과 일치해야 합니다. 식별자의 기본 구조는 com.CompanyName.GameName 입니다. 이 구조는 국제적으로 거주 지역에 따라 다를 수 있으므로, 항상 Apple에서 개발자 계정용으로 제공한 문자열을 디폴트로 사용해야 합니다. GameName은 Apple iPhone 개발자 센터 웹사이트에서 관리할 수 있는 권한 설정 인증서에서 설정됩니다. 작업이 수행되는 방법에 대한 자세한 내용은 Apple iPhone 개발자 센터 웹사이트를 참조하십시오.

스트리핑 레벨

대부분의 게임에는 필요한 dll이 모두 사용되지 않습니다. 엔진 코드 제거(Strip Engine Code) 옵션을 활성화하면 사용되지 않은 부분을 제거하여 iOS 기기에서 빌드된 플레이어의 크기를 줄일 수 있습니다. 현재 선택된 옵션을 통해 일반적으로 제거되는 클래스를 게임에서 사용 중인 경우, 빌드를 만들 때 디버그 메시지가 표시됩니다.

스크립트 호출 최적화

iOS에서 바람직한 개발 방법은 내부적으로든 try/catch 블록을 통해서든 예외 처리에 의존하지 않는 것입니다. 기본 느리고 안전함(Slow and Safe) 옵션을 사용하면 기기에서 발생하는 모든 예외가 발견되고 스택 추적이 제공됩니다. 빠르고 예외 없음(Fast but no Exceptions) 옵션을 사용하면 발생하는 모든 예외가 게임과 충돌하고 스택 추적이 제공되지 않습니다. 또한 AppDomain.UnhandledException 이벤트가 발생하여 프로젝트별 코드가 예외 정보에 액세스할 수 있도록 허용합니다.

Mono 스크립팅 백엔드를 사용할 경우 프로세서가 예외를 처리하는 데 성능을 소모하지 않으므로 실행 속도가 빨라집니다. IL2CPP 스크립팅 백엔드를 사용할 때는 빠르고 예외 없음(Fast but no Exceptions) 옵션을 선택해도 아무런 성능상 이점은 없습니다. 게임을 릴리스할 때는 빠르고 예외 없음(Fast but no Exceptions) 옵션을 사용하여 퍼블리시 하는 것이 가장 좋습니다.

XR 설정

프로퍼티: 기능:
XR 설정
Virtual Reality Supported Unity 에디터와 게임 빌드에 대한 네이티브 VR 지원을 활성화합니다.
Vuforia Augmented Reality Supported Vuforia 소프트웨어 개발 키트 사용을 활성화합니다. Vuforia 소프트웨어 라이선스를 보유하고 있고 해당 라이선스의 약관에 동의해야 프로퍼티를 활성화할 수 있습니다.

증분 빌드

IL2CPP 스크립팅 백엔드를 통해 생성되는 C++ 코드는 점진적으로 업데이트할 수 있으므로, 증분 C++ 빌드 시스템은 변경 사항 소스 파일만 컴파일할 수 있습니다. 이 방법으로 IL2CPP 스크립팅 백엔드를 사용하여 반복 시간을 크게 단축할 수 있습니다.

증분 빌드를 사용하려면 “ Build Settings” 다이얼로그에서 “ Build”를 선택한 후 “ Append” 옵션을 선택합니다. “ Replace” 옵션을 선택하면 클린 빌드가 수행됩니다.


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

  • 5.5에서 Mute Other Audio Sources 추가됨

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

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

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

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