빌드 설정
Unity는 다양한 플랫폼과 다양한 설정으로 애플리케이션을 빌드할 수 있습니다. 이 문서에서는 씬, 타겟 플랫폼, 빌드를 위한 설정 방법을 다룹니다.
플랫폼과 설정을 선택하고 빌드 프로세스를 시작하려면 Build Settings 창을 사용합니다. Build Settings 창에 액세스하려면 Unity 메인 메뉴에서 File > Build Settings로 이동하십시오.
빌드 이해
Unity는 다음과 같은 두 가지 빌드 타입을 생성합니다.
- 릴리스 빌드는 애플리케이션을 실행하는데 필요한 사항만 포함하는 빌드입니다. 이는 기본 빌드 타입입니다.
- 개발 빌드는 디버그 심볼과 프로파일러 스크립팅을 포함하는 빌드입니다. 개발 빌드 옵션을 선택하면 세부 프로파일링 지원과 스크립트 디버깅과 같은 추가 옵션을 활성화합니다. 일반 플랫폼 설정 섹션에 이 옵션에 대한 설명이 있습니다.
개발 과정 중 더 빠르게 반복하기 위해 Unity는 아티팩트가 이전 빌드 이후 변경된 경우에만 다시 빌드하는 증분 빌드 파이프라인을 사용합니다. 자세한 내용은 증분 빌드 파이프라인을 참조하십시오.
빌드의 씬 관리
애플리케이션을 빌드할 때 Unity는 Scenes In Build 창에서 선택된 모든 씬을 빌드합니다. Unity는 리스트에 표시되는 순서대로 씬을 빌드합니다.
다음과 같이 리스트에 씬을 추가, 제외, 제거 , 및 순서 변경을 수행할 수 있습니다.
- 현재 열려 있는 씬을 모두 리스트에 추가하려면 다음 단계를 따르십시오. Add Open Scenes를 선택합니다. Project 창에서 리스트로 씬을 드래그할 수도 있습니다.
- 빌드에서 리스트에 있는 씬을 제외하려면 다음 단계를 따르십시오. 해당 씬 옆의 체크박스를 해제합니다. 이렇게 하면 빌드에서 씬은 제거되지만 리스트에는 남아있습니다.
- 리스트에서 씬을 제거하려면 다음 단계를 따르십시오. 해당 씬을 선택하고 Delete를 누릅니다.
- 해당 씬 순서를 변경하려면 다음 단계를 따르십시오. 리스트에서 씬을 드래그 앤 드롭하여 순서를 변경합니다.
플랫폼 리스트
각 빌드는 반드시 타겟 플랫폼을 포함해야 합니다. 플랫폼 창에는 빌드할 수 있는 모든 플랫폼이 나열됩니다.
컴퓨터에 설치된 각 Unity 버전에는 자체 플랫폼 리스트가 포함되어 있습니다.
필요한 플랫폼이 리스트에 없는 경우 다음 중 한 가지를 수행합니다.
-
Build Settings 창에서 다음 단계를 따르십시오.
- 추가하려는 플랫폼을 선택합니다.
- Install이나 Download를 선택합니다.
Unity Hub > Installs에서:
- 사용 중인 Unity 버전에서 세 개의 점을 선택합니다.
- Add Modules를 선택합니다.
- 지침을 따라 플랫폼 모듈을 설치합니다.
빌드의 타겟 플랫폼을 변경하려면:
- 전환하려는 플랫폼을 선택합니다.
팁: 리스트는 타겟 플랫폼으로 현재 선택된 플랫폼 옆에 Unity 아이콘을 표시합니다. -
Switch Platforms을 선택합니다.
타겟 플랫폼과 일치하는 포맷에 에셋을 다시 임포트해야 할 경우 전환 프로세스는 시간이 오래 걸릴 수 있습니다.
빌드 설정
플랫폼을 선택하면 Unity는 빌드에 대해 조정할 수 있는 옵션 리스트를 표시합니다. 일부 설정은 모든 플랫폼에 적용되며 일부는 플랫폼에 따라 다릅니다.
일반 플랫폼 설정
다음 설정은 모든 플랫폼에 적용됩니다.
Development Build | 빌드에 디버그 심볼과 프로파일러 스크립팅을 포함합니다. 애플리케이션을 테스트하려면 이 설정을 사용해야 합니다. 이 옵션을 선택하면 Unity는 DEVELOPMENT_BUILD 스크립팅 정의를 설정합니다. 그러면 빌드에 DEVELOPMENT_BUILD를 조건으로 설정하는 프리 프로세서 지시문이 포함됩니다(플랫폼 의존 컴파일 참조). | |
Autoconnect Profiler | Unity 프로파일러를 빌드에 자동으로 연결합니다. 이 옵션은 Development Build를 선택한 경우에만 사용 가능합니다. | |
Deep Profiling Support | 프로파일러에서 세부 프로파일링을 활성화합니다. 이렇게 하면 프로파일러 도구를 애플리케이션에서 모든 함수 호출로 만들어 더 자세한 프로파일링 데이터를 반환합니다. 이 옵션은 스크립트 실행 속도를 느리게 할 수도 있습니다. 이 옵션은 Development Build를 선택한 경우에만 사용할 수 있습니다. | |
Script Debugging | 스크립트 코드를 디버깅할 수 있습니다. 이 옵션은 개발 빌드를 선택한 경우에만 사용할 수 있습니다. | |
Wait for Managed Debugger | 스크립트 코드를 실행하기 전에 플레이어가 디버거가 연결될 때까지 기다리게 합니다. 이 옵션은 Script Debugging을 선택한 경우에만 사용할 수 있습니다. | |
IL2CPP Code Generation | Unity가 IL2CPP 코드 생성을 관리하는 방법을 정의합니다. 이 옵션은 Mono가 아닌 스크립팅 백엔드용으로 IL2CPP를 사용하는 경우에만 사용할 수 있습니다. 스크립팅 백엔드를 변경하려면 Player Settings > Configuration > Scripting Backend로 이동하여 Mono에서 IL2CPP로 변경합니다. | |
Faster runtime | 런타임 성능을 위해 최적화된 코드를 생성합니다. 이것은 기본값이며 Unity 이전 버전의 동작입니다. | |
Faster (smaller) builds | 빌드 크기와 반복을 위해 최적화된 코드를 생성합니다. 코드를 더 적게 생성하며 더 작은 빌드를 만들지만 런타임 성능 특히 일반 코드에 영향을 미칠 수도 있습니다. 변경 사항을 반복할 때와 같이 더 빠른 빌드 시간이 중요한 경우 이 옵션을 사용할 수도 있습니다. | |
Compression Method | 플레이어를 빌드할 때 프로젝트에 데이터를 압축합니다. 여기에는 에셋, 씬, 플레이어 설정, GI 데이터가 포함됩니다. 이 옵션은 Lumin과 WebGL 플랫폼에서는 사용할 수 없습니다. | |
Default | PC, Mac, Linux 스탠드얼론, iOS에는 기본 압축 방식이 없습니다. Android 기본 압축 방식은 ZIP이며 LZ4HC보다 압축률이 조금 낫습니다. 하지만 ZIP 데이터는 압축 풀기가 조금 느립니다. | |
LZ4 | 개발용 빌드에 적합한 고속 압축 포맷입니다. 자세한 내용은 BuildOptions.CompressWithLz4를 참조하십시오. | |
LZ4HC | 높은 압축률을 자랑하는 LZ4 변형 포맷입니다. LZ4HC는 빌드 속도가 비교적 느리지만 릴리스 빌드에서 더 뛰어난 결과를 제공합니다. 자세한 내용은 BuildOptions.CompressWithLz4HC를 참조하십시오. |
에셋 임포트 오버라이드
임포트와 플랫폼 전환 시간을 단축하려면 로컬에서 모든 텍스처 임포트 설정을 오버라이드할 수 있습니다. 일반적으로 임포트 오버라이드와 최종 빌드를 제공하지는 않지만 개발 중에는 특히 에셋(여기의 경우 텍스처)이 가능한 한 좋게 보이는 것을 고려하지 않는 경우 반복 시간을 단축하는 데 유용할 수 있습니다.
초기 프로젝트 임포트에 대한 에셋 임포트 오버라이드를 설정하려면 Unity 에디터 커맨드 라인 인자 -overrideMaxTextureSize와 -overrideTextureCompression을 사용합니다.
두 오버라이드 옵션에 대한 기본값은 No Override입니다.
Max Texture Size | 임포트한 텍스처 최대 크기를 오버라이드합니다. Unity는 이 값 또는 텍스처 임포트 설정에 지정된 최대 크기 값 중 더 낮은 값의 텍스처를 임포트합니다. 텍스처를 임포트하는 데 걸리는 시간은 포함된 픽셀 수에 대략 비례하므로 허용되는 최대 텍스처 크기가 더 낮을 수록 임포트 시간을 단축할 수 있습니다. 하지만 결과 텍스처는 해상도가 더 낮기 때문에 이 설정은 개발 중에만 사용합니다. | |
Texture Compression | 텍스처 임포트 설정의 텍스처 압축 옵션 설정을 오버라이드합니다. 압축 텍스처 포맷 중 하나로 임포트한 텍스처에만 영향을 미칩니다. | |
Force Fast Compressor | 지원하는 포맷(BC7, BC6H, ASTC, ETC, ETC2)을 위해 더 빠르지만 품질은 낮은 텍스처 압축 모드를 사용합니다. 일반적으로 이렇게 하면 더 많은 압축 아티팩트가 생성되지만 더 많은 포맷을 위해 압축 자체는 2–20배 더 빠릅니다. 이 설정은 또한 Crunch 텍스처 압축 포맷을 가진 모든 텍스처에서 비활성화됩니다. 이 설정의 효과는 모든 텍스처의 Compressor Quality가 해당 플랫폼의 텍스처 가져오기 설정에서 Fast로 설정된 것과 같습니다. | |
Force Uncompressed | 텍스처를 압축하지 마십시오. 대신 압축되지 않은 포맷을 사용합니다. 이렇게 하면 임포트를 더 빨리 할 수 있지만(텍스처 압축 프로세스를 건너뛰기 때문) 결과 텍스처가 메모리와 게임 데이터 크기를 더 많이 차지하며 렌더링 성능에 영향을 미칠 수 있습니다. 이 설정의 효과는 모든 텍스처의 Compression이 해당 플랫폼의 텍스처 임포트 설정에서 None으로 설정된 것과 같습니다. |
플랫폼별 설정
각 플랫폼에는 다음과 같은 특정 빌드 설정도 있습니다.
- PC, Mac, and Linux Standalone: PC, Mac, Linux 스탠드얼론 빌드 설정을 참조하십시오.
- Universal Windows Platform: 유니버설 Windows 플랫폼 빌드 설정을 참조하십시오.
- tvOS: tvOS용 애플리케이션 빌드를 참조하십시오.
- iOS: iOS 빌드 설정을 참조하십시오.
- Lumin: 협력사 - Magic Leap을 참조하십시오. Unity 2020 LTS는 Magic Leap 1을 지원하는 에디터 최종 버전입니다. Magic Leap 1용 빌드는 Unity 2020 LTS 또는 2019 LTS를 사용합니다.
- Android: Android 빌드 설정을 참조하십시오.
- WebGL: WebGL 프로젝트 빌드 및 실행을 참조하십시오.
- 폐쇄된 플랫폼 개발을 위한 빌드 설정은 Unity 설치 프로그램에 포함된 문서를 참조하거나 Unity 포럼을 참조하십시오.
애플리케이션 빌드
애플리케이션을 빌드하려면 다음 중 하나를 선택하십시오.
- Build: 플레이어를 컴파일한 뒤 아무 작업도 하지 않습니다. 기본 빌드는 첫 번째 빌드를 제외하고는 증분 빌드이며 항상 완전한 비증분(클린) 빌드입니다. 증분 빌드 대신 클린 빌드를 강제로 실행하려면 드롭다운 메뉴에서 Clean Build를 선택합니다.
- Build and run: 플레이어를 컴파일하여 타겟 플랫폼에서 엽니다(자세한 내용은 개별 플랫폼 페이지 참조). 이 옵션은 항상 증분 빌드에서 사용합니다.