Version: 2021.2
언어: 한국어
macOS
macOS Player: IL2CPP 스크립팅 백엔드

MacOS 플레이어 설정

이 페이지는 Mac OSX에 대한 Player 설정을 자세하게 다룹니다. 일반적인 Player 설정은 플레이어 설정 설정을 참조하십시오.

MacOS 플레이어 설정
MacOS 플레이어 설정

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

아이콘(Icon)

데스크톱 게임에 커스텀 아이콘을 할당하려면 Override for Windows, Mac, Linux 설정을 활성화합니다. 제공된 사각형에 맞는 다양한 크기의 아이콘을 업로드할 수 있습니다.

데스크톱 플랫폼을 위한 아이콘 설정
데스크톱 플랫폼을 위한 아이콘 설정

해상도(Resolution) 및 프리젠테이션(Presentation)

Resolution and Presentation 섹션에서 화면이 표시되는 모양에 대해 다음을 커스터마이즈할 수 있습니다. 해상도 섹션과 스탠드얼론 플레이어 옵션 섹션을 사용하십시오.

해상도

이 섹션에서는 스크린 모드와 기본 크기를 커스터마이즈할 수 있습니다.

데스크톱 플레이어 플랫폼의 해상도 섹션
데스크톱 플레이어 플랫폼의 해상도 섹션
프로퍼티 기능
Fullscreen Mode 전체 화면 모드를 선택합니다. 이 옵션은 시작 시 기본 창 모드를 정의합니다.
Fullscreen Window 앱 창을 디스플레이의 전체 화면 네이티브 해상도에 맞게 설정합니다. Unity는 스크립트(또는 빌드한 애플리케이션이 시작할 때 사용자 선택)를 통해 설정된 해상도로 앱 콘텐츠를 렌더링하지만, 창 전체를 채우도록 스케일합니다. 스케일링 시 Unity는 검은색 막대를 렌더링 결과물에 추가하여 Player 설정에서 선택한 종횡비에 맞춥니다. 그러면 콘텐츠의 종횡비가 손상되지 않습니다. 이러한 과정을 레터박싱이라고 불립니다.
Exclusive Fullscreen (Windows만 해당) 앱이 디스플레이의 전체 화면을 단독으로 사용하도록 설정합니다. Fullscreen Window 와 달리 이 모드는 디스플레이의 OS 해상도를 변경하여 앱의 선택한 해상도에 맞춥니다. 이 옵션은 Windows에서만 지원되며, 다른 플랫폼의 경우 설정이 Fullscreen Window 로 되돌아갑니다.
Maximized Window (Mac만 해당) 앱 창을 운영체제의 “최대화” 정의에 맞게 설정합니다. macOS에서는 전체 화면 창을 표시할 때 메뉴 바와 독을 자동으로 숨깁니다. Maximized Window 는 macOS에서만 지원되며, 다른 플랫폼의 경우 설정이 Fullscreen Window 로 폴백됩니다.
Windowed 앱을 전체 화면이 아니고 이동 가능한 표준 창으로 설정합니다. 창의 크기는 앱 해상도에 따라 다릅니다. Windowed 모드에서 창의 크기는 기본적으로 변경 가능합니다. 이 옵션을 사용하지 않으려면 플레이어 설정에서 크기 조정 가능한 창 설정을 비활성화하십시오.
Default Is Native Resolution 이 옵션을 활성화하면 게임이 타겟 장치에서 사용되는 기본 해상도를 사용합니다. Fullscreen ModeWindowed 로 설정된 경우 이 옵션을 사용할 수 없습니다.
Default Screen Width 게임 화면의 기본 너비(단위: 픽셀)를 설정합니다. 이 옵션은 Fullscreen ModeWindowed 로 설정된 경우에만 사용할 수 있습니다.
Default Screen Height 게임 화면의 기본 높이(단위: 픽셀)를 설정합니다. 이 옵션은 Fullscreen ModeWindowed 로 설정된 경우에만 사용할 수 있습니다.
Mac Retina Support Mac에서 높은 DPI(Retina) 화면에 대한 지원을 사용하려면 이 옵션을 활성화합니다. Unity는 이 옵션을 기본적으로 활성화합니다. 이 옵션을 설정하면 Retina 디스플레이에서 프로젝트 품질이 향상되지만, 활성화 시 리소스 소모량이 다소 높아집니다.
Run In background 앱이 포커스를 잃는 경우 게임을 일시 정지하지 않고 백그라운드에서 게임을 실행하려면 이 옵션을 활성화합니다.

스탠드얼론 플레이어 옵션

화면을 커스터마이즈하기 위해 이 섹션을 사용하여 해당 설정을 지정합니다. 예를 들어 사용자가 화면 크기를 다시 조절하고 동시에 실행할 수 있는 인스턴스 양을 지정하도록 옵션을 설정할 수 있습니다.

데스크톱 플랫폼을 위한 플레이어 옵션 설정
데스크톱 플랫폼을 위한 플레이어 옵션 설정
프로퍼티 기능
Capture Single Screen 멀티 모니터 설정에서 스탠드얼론 게임을 전체 화면 모드로 실행할 때 보조 모니터가 꺼지지 않도록 하려면 이 옵션을 활성화합니다. Mac OS X에서는 지원되지 않습니다.
Use Player Log 디버깅 정보가 포함된 로그 파일을 작성하려면 이 옵션을 활성화합니다.
경고: 애플리케이션을 Mac 앱 스토어에 제출하려는 경우 이 옵션을 활성화하지 마십시오. 자세한 내용은 Mac 앱 스토어에 퍼블리싱을 참조하십시오.
Resizable Window 데스크톱 플레이어 창의 크기를 조절하도록 허용하려면 이 옵션을 활성화합니다.
참고: 이 옵션을 비활성화하면 애플리케이션에서 Windowed 전체 화면 모드를 사용할 수 없습니다.
Visible in Background Windows에서 Windowed 전체 화면 모드를 사용할 때 백그라운드에 애플리케이션을 표시하려면 이 옵션을 활성화합니다.
Allow Fullscreen Switch 기본 OS 전체 화면 키를 누를 때 전체 화면 모드와 창 모드 간에 전환하려면 이 옵션을 활성화합니다.
Force Single Instance 데스크톱 플레이어를 동시에 인스턴스 하나만 실행하는 것으로 제한하려면 이 옵션을 활성화합니다.
Supported Aspect Ratios 시작할 때 해상도 다이얼로그에 표시할 각 종횡비를 활성화합니다(사용자의 모니터에서 지원되는 경우에 한함).

스플래시 이미지(Splash Image)

Virtual Reality Splash Image 설정을 사용하여 가상 현실 디스플레이용 커스텀 스플래시 이미지를 선택합니다. 일반 스플래시 화면 설정에 대한 정보는 스플래시 화면을 참조하십시오.

데스크톱 플랫폼을 위한 스플래시 이미지 플레이어 설정
데스크톱 플랫폼을 위한 스플래시 이미지 플레이어 설정

기타 설정

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

렌더링(Rendering)

다음 설정을 사용하여 Unity가 데스크톱 플랫폼을 위한 게임을 렌더링하는 방법을 커스터마이즈합니다.

데스크톱 플랫폼을 위한 렌더링 플레이어 설정
데스크톱 플랫폼을 위한 렌더링 플레이어 설정
Property Description
Color Space Unity가 렌더링에 사용할 색 공간을 감마 또는 리니어 중에서 선택합니다. 둘의 차이에 대한 설명은 리니어 렌더링 개요를 참조하십시오.
Gamma: 감마 색 공간은 일반적으로 프레임 버퍼 포맷에 대해 채널당 8비트로 제한되는 구형 하드웨어의 조명을 계산하는 데 사용됩니다. 이제 모니터는 디지털 방식이지만 여전히 감마로 인코딩된 신호를 입력으로 사용합니다.
Linear: 리니어 색 공간 렌더링은 더 정밀한 결과를 제공합니다. 리니어 색 공간에서 작업하려고 하면 에디터는 sRGB 샘플링을 기본으로 사용합니다. 텍스처가 리니어 색 공간에 있는 경우 리니어 색 공간에서 작업해야 하며 각 텍스처에 대해 sRGB 샘플링을 비활성화해야 합니다.
Auto Graphics API for Windows 게임을 실행하는 Windows 컴퓨터의 최적 그래픽스 API를 사용하려면 이 옵션을 활성화합니다. 지원되는 그래픽스 API를 추가하고 제거하려면 이 옵션을 비활성화합니다.
Auto Graphics API for Mac 게임을 실행하는 Mac 컴퓨터의 최적 그래픽스 API를 사용하려면 이 옵션을 활성화합니다. 지원되는 그래픽스 API를 추가하고 제거하려면 이 옵션을 비활성화합니다.
Auto Graphics API for Linux Linux 컴퓨터에서 실행하는 최적 그래픽스 API를 사용하려면 이 옵션을 활성화합니다. 지원되는 그래픽스 API를 추가하고 제거하려면 이 옵션을 비활성화합니다.
Color Gamut for Mac Mac 플랫폼에서 렌더링에 사용할 색 영역을 추가하거나 제거할 수 있습니다. 더하기 (+) 아이콘을 클릭하면 사용 가능한 영역의 리스트를 확인할 수 있습니다. 색 영역은 모니터나 화면과 같은 기기에서 사용 가능한 색상 범위를 정의합니다. sRGB 영역은 기본으로 지정된 필수 영역입니다.
Metal API Validation 셰이더 문제를 디버깅해야 하는 경우 이 옵션을 활성화합니다.
참고: 확인을 수행하는 경우 CPU 사용이 증가하므로 디버깅에만 사용해야 합니다.
Metal Write-Only Backbuffer 기본값이 아닌 기기 방향에서 성능이 개선되도록 허용합니다. 이 옵션은 백버퍼에 frameBufferOnly 플래그를 설정하여 백버퍼의 되읽기를 방지하지만 일부 드라이버 최적화는 활성화합니다.
Memoryless Depth 메모리리스 렌더 텍스처를 사용하는 경우를 선택합니다. 메모리리스 렌더 텍스처는 렌더링 동안 CPU 또는 GPU 메모리가 아닌 온타일(on-tile) 메모리에만 일시적으로 저장됩니다. 이로 인해 앱의 메모리 사용이 감소하지만 해당 렌더 텍스처를 읽거나 렌더 텍스처에 기록할 수 없습니다.
참고: 메모리리스 렌더 텍스처는 iOS, ivOS 10.0+ Metal과 Vulkan에서만 지원됩니다. 다른 플랫폼의 경우 렌더 텍스처는 읽기/쓰기 보호가 설정되며 CPU 또는 GPU 메모리에 저장됩니다.
Unused 메모리리스 프레임버퍼 뎁스를 사용하지 않습니다.
Forced 항상 메모리리스 프레임버퍼 뎁스를 사용합니다.
Automatic Unity가 메모리리스 프레임버퍼 뎁스를 사용할 시기를 결정합니다.
Static Batching 정적 배칭을 사용하려면 이 옵션을 활성화합니다.
Dynamic Batching 빌드에서 동적 배칭을 사용(기본적으로 선택되어 있음)하려면 이 옵션을 활성화합니다.
참고: 스크립터블 렌더 파이프라인이 활성화된 경우 동적 배칭은 영향이 없습니다. 즉 이 설정은 스크립터블 렌더 파이프라인 에셋 그래픽스에 설정된 사항이 없어야만 표시됩니다.
Compute Skinning DX11/ES3 GPU 컴퓨팅 스키닝을 활성화하여 CPU 리소스를 확보하려면 이 옵션을 활성화합니다.
Graphics Jobs 그래픽스 작업(루프 렌더)을 다른 CPU 코어에서 실행 중인 워커 스레드에 오프로드하도록 Unity를 설정하려면 이 옵션을 활성화합니다. 메인 스레드에서 종종 병목 현상을 초래하는 Camera.Render에 소요되는 시간을 줄이기 위해 사용합니다.
Lightmap Encoding 라이트맵 인코딩을 Normal Quality 또는 High Quality 로 설정합니다. 이 설정은 라이트맵의 인코딩 방식과 압축 포맷에 영향을 줍니다.
Lightmap Streaming 현재의 게임 카메라를 렌더링하기 위해 필요한 라이트맵 밉맵만 로드하려면 활성화합니다.
참고: 이 설정을 사용하려면 텍스처 스트리밍 품질 설정을 활성화해야 합니다.
  Streaming Priority 리소스 충돌을 해결하기 위해 라이트맵 밉맵 스트리밍 우선순위를 설정합니다. 이러한 값은 생성된 라이트맵 텍스처에 적용됩니다.
양수의 순위가 우선시됩니다. 유효한 값의 범위는 –128부터 127까지입니다.
Frame Timing Stats CPU와 GPU 프레임 시간 통계를 수집하려면 이 프로퍼티를 활성화합니다. 다이내믹 해상도 카메라 설정과 함께 사용하여 애플리케이션이 CPU 바운드인지 아니면 GPU 바운드인지를 결정합니다.
Use Display In HDR Mode (Windows Only) 이 체크박스를 활성화하면 게임이 실행 시 HDR 모드 출력으로 자동으로 전환됩니다. 이 설정은 이 기능을 지원하는 디스플레이에서만 동작합니다. 디스플레이가 HDR 모드를 지원하지 않으면 게임은 표준 모드로 실행됩니다.
  Swap Chain Bit Depth 스왑체인 버퍼에 대한 각 컬러 채널의 비트 수를 선택합니다. HDR 모드가 활성화된 경우에만 사용할 수 있습니다.
Bit Depth 10 Unity는 R10G10B10A2 버퍼 포맷과 Rec2020 기본을 ST2084 PQ 인코딩과 함께 사용합니다.
Bit Depth 16 Unity는 R16G16B16A16 버퍼 포맷과 Rec709 기본을 리니어 컬러(인코딩 없음)와 함께 사용합니다.
Virtual Texturing 가상 텍스처링을 활성화할지 여부를 나타냅니다.
참고: 이 설정을 적용하려면 Unity 에디터를 다시 시작해야 합니다.
Shader precision model 셰이더에서 사용되는 샘플러의 기본 정밀도를 제어합니다. 자세한 내용은 셰이더 데이터 타입 및 정밀도를 참조하십시오.
360 Stereo Capture Unity가 양안 360 이미지와 동영상을 캡처할 수 있는지 여부를 나타냅니다. 활성화되면 Unity는 추가 셰이더 배리언트를 컴파일하여 360 캡처를 지원합니다(현재 Windows/OSX만 지원). 활성화되면 스테레오 RenderCubemap 호출 동안 enable_360_capture 키워드가 추가됩니다. 이 키워드는 Stereo RenderCubemap 함수 밖에서 트리거되지 않습니다. 자세한 내용은 스테레오 360 이미지 및 동영상 캡처를 참조하십시오.

Vulkan 설정

macOS용 Vulkan 플레이어 설정
macOS용 Vulkan 플레이어 설정
프로퍼티 설명
SRGB Write Mode 런타임 동안 Graphics.SetSRGBWrite() 렌더러가 sRGB 쓰기 모드를 토글할 수 있도록 허용하려면 이 옵션을 활성화합니다. 즉 Linear-to-sRGB 쓰기 색상 전환을 일시적으로 끄고자 할 경우 이 프로퍼티를 사용하면 됩니다. 이 프로퍼티를 활성화하면 모바일 타일 기반 GPU의 성능에 부정적인 영향을 주므로 모바일에서는 활성화하면 안 됩니다.
Number of swapchain buffers 이중 버퍼링에 대해 이 옵션을 2로 설정하거나 Vulkan 렌더러를 함께 사용하려면 삼중 버퍼링에 대해 3으로 설정합니다. 이 설정은 일부 플랫폼의 지연에 도움이 될 수는 있지만 대부분의 경우 기본값인 3에서 변경해선 안 됩니다. 이중 버퍼링은 성능에 부정적인 영향을 줄 수 있습니다. Android에서는 이 설정을 사용하면 안 됩니다.
Acquire swapchain image late as possible 활성화된 경우 Vulkan은 프레임을 오프스크린 이미지로 렌더링한 후가 될 때까지 백버퍼 획득을 지연합니다. Vulkan은 이를 위해 스테이징 이미지를 사용합니다. 이 설정을 활성화하면 백버퍼를 표시할 때 추가 blit이 발생합니다. 이 설정은 이중 버퍼링과 조합하여 사용하면 성능을 향상시킬 수 있습니다. 하지만 추가 blit이 대역폭을 차지하기 때문에 성능 문제를 일으킬 수도 있습니다.
Recycle command buffers Unity에서 CommandBuffers를 실행한 후 재활용할지 해제할지 여부를 나타냅니다.

Mac 앱 스토어 옵션

Mac 앱 스토어 옵션
Mac 앱 스토어 옵션
프로퍼티 기능
Override Default Bundle Identifier 번들 식별자를 수동으로 설정할 수 있는지 여부를 나타냅니다.
Bundle Identifier 애플리케이션의 번들 식별자를 입력합니다. 연결된 info.plist 파일에서는 CFBundleIdentifier로 표시됩니다. 자세한 내용은 CFBundleIdentifier에 대한 Apple 개발자 문서를 참조하십시오.
이 프로퍼티를 설정하려면 Override Default Bundle Identifier를 활성화합니다.
Build 앱 버전의 빌드 번호를 입력합니다. 연결된 info.plist 파일에서는 CFBundleVersion으로 표시됩니다. 자세한 내용은 CFBundleVersion에 대한 Apple 개발자 문서를 참조하십시오.
카테고리 앱 타입에 상응하는 스트링을 입력합니다. 앱 스토어는 이 스트링을 사용하여 앱의 분류를 결정합니다. 기본적으로 이 옵션은 게임 카테고리(public.app-category.games)로 설정됩니다. 사용 가능한 카테고리 타입의 리스트는 LSApplicationCategoryType에 대한 Apple 개발자 문서를 참조하십시오.
Mac App Store Validation 활성화하면 앱에 Mac 앱 스토어의 유효한 영수증이 포함되어 있을 때에만 앱이 실행됩니다. 사용자가 게임을 구매하지 않은 기기에서 게임을 실행하는 것을 방지합니다. 자체 영수증 확인을 구현하였다면 이 설정을 비활성화하십시오.

Mac 앱 스토어에 퍼블리싱

Use Player Log 프로퍼티를 사용하여 디버깅 정보가 수록된 로그 파일을 작성할 수 있습니다. 이렇게 하면 게임의 문제를 조사하는 데 유용합니다. 해당 옵션이 활성화되어 있으면 제출한 게임을 Apple에서 거부할 수 있으므로 Apple의 Mac 앱 스토어에 게임을 게시할 때에는 비활성화해야 합니다. 로그 파일에 대한 자세한 내용은 Unity 매뉴얼의 로그 파일 페이지를 참조하십시오.

Use Mac App Store Validation 프로퍼티는 Mac 앱 스토어의 영수증 인증을 활성화합니다. 활성화되면 Mac 앱 스토어의 인증된 영수증이 있는 경우에만 게임이 실행됩니다. 앱 스토어에 게시하기 위해 Apple에 게임을 제출할 때 이 기능을 사용하면 됩니다. 게임을 구매한 컴퓨터 외에 다른 컴퓨터에서 게임을 실행하는 것을 방지합니다.

이 기능을 사용한다고 해서 강력한 복사 방지 기능이 추가되는 것은 아닙니다. 특히 하나의 Unity 게임에서 발생할 수 있는 크랙은 다른 Unity 콘텐츠에서도 발생할 수 있습니다. 따라서 Unity의 플러그인 기능을 통해 고유의 영수증 인증 코드를 설정하여 이 기능과 함께 사용하는 것이 좋습니다. 하지만 Apple이 화면 설정 다이얼로그를 표시하기 전에 초기에 플러그인 인증을 요구하므로 이 프로퍼티를 활성화한 상태로 두지 않으면 Apple이 게임 제출을 거절할 수 있습니다.

설정

데스크톱 플랫폼을 위한 구성 설정
데스크톱 플랫폼을 위한 구성 설정
설정 기능
Scripting Backend 사용할 스크립팅 백엔드를 선택합니다. 스크립팅 백엔드는 Unity가 프로젝트의 C# 코드를 컴파일하고 실행하는 방식을 결정합니다.
Mono C# 코드를 .NET 공용 중간 언어(CIL)로 컴파일하고, 공용 언어 런타임을 사용하여 해당 CIL을 실행합니다. 자세한 내용은 Mono 프로젝트 웹사이트를 참조하십시오.
IL2CPP C# 코드를 CIL로 컴파일하고, CIL을 C++로 전환한 다음 C++를 런타임에 직접 실행되는 네이티브 기계어 코드로 컴파일합니다. 자세한 내용은 IL2CPP를 참조하십시오.
API Compatibility Level 프로젝트에서 사용할 수 있는 .NET API를 선택합니다. 이 설정은 타사 라이브러리와의 호환성에 영향을 줄 수 있습니다.
팁: 타사 어셈블리 관련 문제가 발생하는 경우, 아래 API 호환성 레벨 섹션의 권장 사항을 시도해 보십시오.
.Net Standard .NET Standard 2.0과 호환됩니다. 크기가 더 작은 빌드를 생성하며 크로스 플랫폼이 100% 지원됩니다.
.Net Framework .NET Standard 2.0 프로파일과 추가 API의 모든 사항을 포함하는 .NET Framework 4와 호환됩니다. .NET Standard 2.0에 포함되지 않은 API에 액세스하는 라이브러리를 이용하는 경우 이 옵션을 선택하십시오. 크기가 큰 빌드를 생성하며, 일부 플랫폼의 경우 추가 API를 사용하지 못할 수 있습니다. 자세한 내용은 추가 클래스 라이브러리 어셈블리 레퍼런스를 참조하십시오.
C++ 컴파일러 설정(C++ Compiler Configuration) IL2CPP에 의해 생성된 코드를 컴파일할 때 사용할 C++ 컴파일러 설정을 선택합니다.
참고: 이 프로퍼티는 Scripting BackendIL2CPP 로 설정하지 않는 경우 비활성화됩니다.
Use incremental GC 점진적 가비지 컬렉터를 사용려면 이 옵션을 활성화합니다. 점진적 가비지 컬렉터는 가비지 컬렉션을 여러 프레임에 분산하여 프레임 기간 동안 GC 관련 스파이크를 줄입니다.
액티브 입력 핸들링(Active Input Handling) 사용자의 입력을 처리하는 방식을 선택합니다.
Input Manager(구) 기본 입력 창을 사용합니다.
Input System(프리뷰) 새로운 입력 시스템을 사용합니다. 입력 시스템은 이 릴리스에서는 프리뷰 패키지로 제공됩니다. 입력 시스템의 프리뷰를 사용하려면 InputSystem 패키지를 설치하십시오.
Both 두 시스템 모두를 나란히 사용합니다.

API 호환성 레벨

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

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

스크립트 컴파일

데스크톱 플랫폼을 위한 스크립트 컴파일 설정
데스크톱 플랫폼을 위한 스크립트 컴파일 설정
설정 기능
Scripting Define Symbols 커스텀 컴파일 플래그를 설정합니다. 자세한 내용은 플랫폼 의존 컴파일 문서를 참조하십시오.
Additional Compiler Arguments 이 리스트에 엔트리를 추가하여 Roslyn 컴파일러에 인자를 전달합니다. 각 추가 인자에 대해 하나의 새 엔트리를 사용합니다.
새 엔트리를 만들려면 ‘+’ 버튼을 누릅니다. 엔트리를 제거하려면 ‘-’ 버튼을 누릅니다.
원하는 인자를 모두 추가했으면 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 없이 사용자 작성 스크립트를 컴파일하려면 이 설정을 비활성화합니다.

최적화(Optimization)

데스크톱 플랫폼을 위한 최적화 설정
데스크톱 플랫폼을 위한 최적화 설정
Property Description
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#) 코드를 제거하는 방법을 선택합니다. 이 옵션에는 Disabled Low, Medium, High가 있습니다.

Unity가 앱을 사용할 때 Unity Linker 프로세스는 프로젝트가 사용하는 관리되는 DLL에서 사용되지 않은 코드를 제거할 수 있습니다. 스트리핑 코드는 결과 실행 파일을 상당히 축소시킬 수 있지만 우연히 사용 중인 코드를 제거할 수도 있습니다. 이러한 옵션에 대한 자세한 내용은 관리되는 코드 스트리핑의 문서를 참조하십시오.

IL2CPP를 사용한 바이트코드 스트리핑에 관한 정보는 IL2CPP를 사용한 관리되는 바이트코드 스트리핑의 문서를 참조하십시오.
Vertex Compression 버텍스 압축 메서드에서 메시를 압축하기 위해 설정하려는 채널을 선택하며 기본적으로 Mixed로 설정되어 있습니다. 이는 프로젝트의 모든 메시에 영향을 줍니다. 일반적으로 버텍스 압축은 메모리 내의 메시 데이터를 줄이고 파일 크기를 줄이며 GPU 성능을 향상시키는 데 사용됩니다. 이 설정의 버텍스 압축과 제한 사항을 설정하는 방법에 대한 자세한 내용은 [메시 압축]을 참조하십시오.
Optimize Mesh Data 이 옵션을 선택하면 빌드에 사용된 메시에서 사용하지 않은 버텍스 속성의 스트리핑을 활성화합니다.
이는 메시에 있는 데이터 양을 줄여주어 빌드 크기, 로딩 시간, 런타임 메모리 사용량을 줄이는 데 도움이 될 수 있습니다. 하지만 이 설정을 활성화한 경우 런타임 시 머티리얼이나 셰이더 설정을 변경해선 안 된다는 점을 명심해야 합니다. 자세한 내용은 PlayerSettings.stripUnusedMeshComponents을 참조하십시오.
Texture MipMap Stripping 빌드 시 텍스처에서 사용하지 않는 밉맵을 스트리핑하는 모든 플랫폼에 대해 밉맵 스트리핑을 활성화하려면 이 옵션을 활성화합니다. Unity는 밉맵의 값을 현재 플랫폼의 Quality Settings와 대조 비교하여 사용하지 않는 밉맵을 결정합니다. 현재 플랫폼의 모든 Quality Setting에서 밉맵 값이 제외되면 Unity는 빌드에서 해당 밉맵을 스트리핑하여 빌드합니다. QualitySettings.masterTextureLimit이 스트리핑된 밉맵 값으로 설정되면 Unity는 해당 값을 스트리핑되지 않은 가장 가까운 밉맵 값으로 설정합니다.

로깅(Logging)

스탠드얼론 플레이어 플랫폼을 위한 로깅 설정
스탠드얼론 플레이어 플랫폼을 위한 로깅 설정
  • 사용 가능한 옵션에서 선호하는 로깅 방법을 선택합니다.
  • 필요한 로깅 타입에 따라 각 로그 타입(Error, Assert, Warning, Log, Exception)에 해당하는 상자를 체크합니다. 예를 들면 다음과 같습니다.
    • ScriptOnly: 스크립트를 실행할 때만 로그합니다.
    • Full: 항상 로그합니다.
    • None: 어떤 로그도 기록하지 않습니다.

레거시

데스크톱 플랫폼을 위한 레거시 설정
데스크톱 플랫폼을 위한 레거시 설정
프로퍼티 기능
Clamp BlendShapes (지원 중단 예정) SkinnedMeshRenderers의 블렌드 셰이프 가중치 범위를 고정하려면 이 옵션을 활성화합니다.
Upload Cleared Texture Data 이 옵션은 레거시 기능이며 대역폭을 모두 사용하므로 현재 필요하지 않습니다. 기본적으로 이 옵션은 디버깅 목적으로 활성화되어 있습니다. 이 설정을 활성화하면 초기 데이터를 지우고 스크립트에서 비디오 메모리에 텍스처를 자동으로 업로드합니다.
macOS
macOS Player: IL2CPP 스크립팅 백엔드