전용 서버 플레이어에 대한 플레이어 설정은 데스크톱 타겟 플레이어 설정의 하위 집합입니다. 일반적인 플레이어 설정에 대한 자세한 내용은 플레이어 설정을 참조하십시오.
전용 서버의 헤드리스 및 서버 애플리케이션의 특성 때문에 Other Settings 섹션에 있는 옵션만 적용할 수 있습니다. 기타 설정 섹션에서 관련 기술 자료를 확인할 수 있습니다.
다음 옵션은 적용할 수 없습니다.
이 섹션에서는 다음 그룹으로 분류된 다양한 옵션을 커스터마이즈할 수 있습니다.
| 프로퍼티 | 설명 | |
|---|---|---|
| Scripting Backend | 사용할 스크립팅 백엔드를 선택합니다. 스크립팅 백엔드에 따라 Unity가 프로젝트의 C# 코드를 컴파일하고 실행하는 방식이 결정됩니다. | |
| Mono | C# 코드를 .NET 공용 중간 언어(CIL)로 컴파일하고, 공용 언어 런타임을 사용하여 해당 CIL을 실행합니다. 자세한 내용은 Mono를 참조하십시오. | |
| IL2CPP | C# 코드를 CIL로 컴파일하고, CIL을 C++로 전환한 다음, C++을 런타임에 직접 실행되는 네이티브 기계어 코드로 컴파일합니다. 자세한 내용은 IL2CPP를 참조하십시오. | |
| API 호환성 수준 | 프로젝트에 사용할 수 있는 .NET API를 선택합니다. 이 설정은 타사 라이브러리와의 호환성에 영향을 미칠 수 있습니다. 하지만 에디터 전용 코드(에디터 디렉토리 또는 에디터 전용 어셈블리 정의 내 코드)에는 영향을 미치지 않습니다. 팁: 타사 어셈블리에 문제가 있는 경우 아래의 API 호환성 수준 섹션에 있는 권장 해결 방법을 시도해 보십시오. |
|
| .Net Framework | .NET Framework 4와 호환됩니다(.NET Standard 2.0 프로파일의 모든 사항과 추가 API 포함). .NET Standard 2.0에 포함되지 않은 API에 액세스하는 라이브러리를 사용하는 경우 이 옵션을 선택합니다. 크기가 큰 빌드를 생성하며, 일부 플랫폼의 경우 추가 API를 사용하지 못할 수 있습니다. 자세한 내용은 추가 클래스 라이브러리 어셈블리 레퍼런스를 참조하십시오. | |
| .Net Standard 2.1 | 작은 빌드를 생성하고 크로스 플랫폼을 완벽하게 지원합니다. | |
| 에디터 어셈블리 호환성 레벨 | 에디터 어셈블리에 사용할 .NET API를 선택합니다. | |
| .NET Framework | .NET Framework 4와 호환됩니다(.NET Standard 2.1 프로파일의 모든 사항과 추가 API 포함). .NET Standard 2.1에 포함되지 않은 API에 액세스하는 라이브러리를 사용하는 경우 이 옵션을 선택합니다. 크기가 큰 빌드를 생성하며, 일부 플랫폼의 경우 추가 API를 사용하지 못할 수 있습니다. 자세한 내용은 추가 클래스 라이브러리 어셈블리 레퍼런스를 참조하십시오. | |
| .NET Standard | .NET Standard 2.1과 호환됩니다. 작은 빌드를 생성하고 크로스 플랫폼을 완벽하게 지원합니다. | |
| IL2CPP Code Generation | Unity가 IL2CPP 코드 생성을 관리하는 방법을 정의합니다. 이 옵션은 IL2CPP 스크립팅 백엔드를 사용하는 경우에만 사용 가능합니다. | |
| Faster runtime | 런타임 성능에 최적화된 코드를 생성합니다. 이 설정은 기본적으로 활성화되어 있습니다. | |
| Faster (smaller) builds | 빌드 크기와 반복에 최적화된 코드를 생성합니다. 이 설정은 코드를 더 적게 생성하고 더 작은 크기의 빌드를 생성하지만, 일반 코드의 경우 런타임 성능이 저하될 수 있습니다. 변경 사항을 반복하는 경우와 같이 빌드 시간을 단축하는 것이 중요할 때 이 옵션을 사용합니다. | |
| C++ Compiler Configuration | IL2CPP 생성 코드를 컴파일할 때 사용한 C++ 컴파일러 설정을 선택합니다. | |
| Debug | Debug 설정은 모든 최적화 기능을 비활성화합니다. 이렇게 하면 코드를 더 빠르게 빌드할 수 있지만 실행 속도가 느려집니다. | |
| Release | Release 설정을 사용하면 최적화가 가능하므로 컴파일된 코드가 더 빠르게 실행되고 바이너리 크기는 더 작아지지만 컴파일하는 데 더 오래 걸립니다. | |
| Master | Master 설정은 가능한 모든 최적화를 가능하게 하여 성능을 최대한 끌어올립니다. 예를 들어 MSVC++ 컴파일러를 사용하는 플랫폼에서 이 옵션을 사용하면 링크 타임 코드를 생성할 수 있습니다. 이 설정을 사용하여 코드를 컴파일하면 릴리스 설정을 사용할 때보다 훨씬 오래 걸릴 수 있습니다. 빌드 시간이 길어져도 된다면 Unity는 Master 설정을 사용하여 게임의 최종 버전을 빌드할 것을 권장합니다. | |
| IL2CPP Stacktrace Information | 스택 추적에 포함할 정보를 선택합니다. 정보 유형에 대한 자세한 내용은 IL2CPP로 관리되는 스택 추적을 참조하십시오. | |
| Method Name | 스택 추적에 각각의 관리되는 메서드를 포함합니다. | |
| Method Name, File Name, and Line Number | 스택 추적에 각각의 관리되는 메서드와 파일 및 줄 번호 정보를 포함합니다. 참고: 이 옵션을 사용하면 빌드된 프로그램의 빌드 시간과 최종 크기를 모두 늘릴 수 있습니다. | |
| Use incremental GC | 점진적 가비지 컬렉터를 사용려면 이 옵션을 활성화합니다. 점진적 가비지 컬렉터는 가비지 컬렉션을 여러 프레임에 분산하여 프레임 기간 동안 가비지 컬렉션과 관련된 스파이크를 줄입니다. 자세한 내용은 자동 메모리 관리를 참조하십시오. | |
| Allow downloads over HTTP | HTTP를 통해 콘텐츠를 다운로드할지 나타냅니다. HTTPS가 더 안전한 권장 프로토콜이므로 Not allowed가 기본 옵션입니다. | |
| Not Allowed | HTTP를 통한 다운로드를 허용하지 않습니다. | |
| Allowed in Development Builds | 개발 빌드에서 HTTP를 통한 다운로드만 허용합니다. | |
| Always Allowed | 개발 및 릴리스 빌드에서 HTTP를 통한 다운로드를 허용합니다. | |
| Target minimum macOS version | 지원되는 최소 macOS 버전(10.13.0)을 명시합니다. | |
모든 타겟에 대한 모노 API 호환성 레벨을 선택할 수 있습니다. 타사 .NET 라이브러리가 .NET 호환성 레벨을 벗어난 기능을 사용하는 경우도 있습니다. 이러한 경우 발생하는 상황과 문제 해결 방법을 이해하려면 다음 권장 해결 방법을 따르십시오.
Frameworks/Mono/lib/mono/YOURSUBSET/에서 찾을 수 있습니다.
| 프로퍼티 | 설명 | |
|---|---|---|
| Shader Precision Model | 사용하는 기본 정밀도 셰이더를 선택합니다. 자세한 내용은 셰이더에서 16비트 정밀도 사용을 참조하십시오. | |
| Platform default | 모바일 플랫폼에서는 더 낮은 정밀도를 사용하고, 다른 플랫폼에서는 최대 정밀도를 사용합니다. | |
| Unified | 플랫폼에서 지원하는 경우 더 낮은 정밀도를 사용합니다. | |
| Strict shader variant matching | 셰이더 배리언트가 누락된 경우 오류 셰이더를 사용하여 콘솔에 오류를 표시합니다. | |
| Keep Loaded Shaders Alive | 로딩된 모든 셰이더를 활성 상태로 유지하고 언로딩을 방지합니다. | |
이 설정을 사용하여 런타임에 셰이더가 사용하는 메모리 양을 제어할 수 있습니다.
| 프로퍼티 | 설명 |
|---|---|
| Default chunk size (MB) | 모든 플랫폼에 Unity가 빌드된 애플리케이션에 저장하는 압축된 셰이더 배리언트 데이터 청크의 최대 크기를 설정합니다. 기본값은 16입니다. 자세한 내용은 셰이더 로딩을 참조하십시오. |
| Default chunk count | Unity가 모든 플랫폼에서 메모리에 보관하는 압축 해제된 청크의 기본 제한을 설정합니다. 기본값은 0이므로 제한이 없습니다. |
| Override | 이 빌드 타겟에 Default chunk size 및 Default chunk count 를 오버라이드할 수 있습니다. |
| Chunk size (MB) | 이 빌드 타겟에서 Default chunk size (MB) 값을 오버라이드합니다. |
| Chunk count | 이 빌드 타겟에서 Default chunk count 값을 오버라이드합니다. |
| 프로퍼티 | 설명 |
|---|---|
| Scripting Define Symbols | 커스텀 컴파일 플래그를 설정합니다. 자세한 내용은 플랫폼별 컴파일을 참조하십시오. |
| Additional Compiler Arguments | 이 리스트에 엔트리를 추가하여 Roslyn 컴파일러에 추가 인자를 전달합니다. 각 추가 인수에 하나의 새 엔트리를 사용합니다. 새 항목을 만들려면 Add(+)를 클릭합니다. 항목을 제거하려면 Remove(-)를 클릭합니다. 원하는 인자를 모두 추가한 후, 추가 인자를 향후 컴파일에 포함하려면 Apply를 클릭합니다. 이 리스트를 가장 최근에 적용된 상태로 초기화하려면 Revert를 클릭합니다. |
| Suppress Common Warnings | C# 경고 CS0169 및 CS0649를 표시할지 여부를 나타냅니다. |
| Allow ‘unsafe’ Code | 사전 정의된 어셈블리(예: Assembly-CSharp.dll)에서 ‘안전하지 않은’ C# 코드 컴파일에 대한 지원을 활성화합니다. 어셈블리 정의 파일( .asmdef)의 경우 .asmdef 파일 중 하나를 클릭하고 인스펙터 창에 표시되는 옵션을 활성화합니다. |
| Use Deterministic Compilation | -deterministic C# 플래그로 컴파일을 방지할지 여부를 나타냅니다. 이 설정을 활성화하면 컴파일된 어셈블리는 컴파일될 때마다 바이트단위로 동일합니다. 자세한 내용은 Microsoft의 결정론적 컴파일러 옵션을 참조하십시오. |
| 프로퍼티 | 설명 | |
|---|---|---|
| 전용 서버 최적화 활성화 | 전용 서버 빌드에 대해 추가적인 최적화를 수행하려면 이 옵션을 활성화합니다. | |
| Prebake Collision Meshes | 빌드 시 충돌 데이터를 메시에 추가합니다. | |
| Preloaded Assets | 시작 시 플레이어가 로드할 에셋의 배열을 설정합니다. 새 에셋을 추가하려면 Size 프로퍼티의 값을 늘린 다음, 새로 표시되는 Element 상자에 로드할 에셋에 대한 레퍼런스를 설정합니다. |
|
| Managed Stripping Level | Unity가 사용하지 않는 관리되는 (C#) 코드를 얼마나 적극적으로 스트리핑할지 선택합니다. 옵션에는 Minimal, Low, Medium, High가 있습니다. Unity가 앱을 빌드할 때 Unity Linker 프로세스는 프로젝트에서 사용하는 관리되는 DLL에서 사용되지 않는 코드를 스트리핑할 수 있습니다. 코드를 스트리핑하면 결과 실행 파일이 훨씬 작아지지만, 사용 중인 코드를 실수로 제거할 수도 있습니다. 이러한 옵션과 IL2CPP를 사용한 바이트코드 스트리핑에 대한 자세한 내용은 ManagedStrippingLevel을 참조하십시오. |
|
| Vertex Compression | 채널당 버텍스 압축을 설정합니다. 이는 프로젝트의 모든 메시에 영향을 미칩니다. 일반적으로 버텍스 압축은 메모리 내의 메시 데이터 크기를 줄이고 파일 크기를 줄이며 GPU 성능을 향상시키는 데 사용됩니다. 버텍스 압축을 설정하는 방법과 이 설정의 제한 사항에 대한 자세한 내용은 메시 데이터 압축을 참조하십시오. |
|
| Optimize Mesh Data | 빌드에 사용된 메시에서 미사용 버텍스 속성 스트리핑하려면 이 옵션을 활성화합니다. 이 옵션은 메시의 데이터 양을 줄여 빌드 크기, 로딩 시간, 런타임 메모리 사용량을 줄일 수 있습니다. 경고: 이 설정을 활성화한 경우 런타임 시 머티리얼 또는 셰이더 설정을 변경하지 마십시오. 자세한 내용은 PlayerSettings.stripUnusedMeshComponents를 참조하십시오. |
|
| Texture MipMap Stripping | 모든 플랫폼에 대한 밉맵 스트리핑을 활성화합니다. 빌드 시 텍스처에서 미사용 밉맵을 스트리핑합니다. Unity는 밉맵의 값과 사용 중인 플랫폼의 품질 설정을 비교하여 미사용 밉맵을 확인합니다. 사용 중인 플랫폼의 모든 품질 설정에서 밉맵 값이 제외된 경우 Unity는 빌드 시 해당 밉맵을 빌드에서 스트리핑합니다. QualitySettings.masterTextureLimit이 스크리핑된 밉맵 값으로 설정되면 Unity는 해당 값을 스크리핑되지 않은 가장 가까운 밉맵 값으로 설정합니다. | |
각 로그 유형에 해당하는 옵션을 활성화하여 원하는 로깅 유형을 선택합니다.
| 프로퍼티 | 설명 |
|---|---|
| None | 어떤 로그도 기록하지 않습니다. |
| ScriptOnly | 스크립트를 실행할 때만 로그합니다. |
| Full | 항상 로그합니다. |
자세한 내용은 스택 추적 로깅에서 확인하십시오.
SkinnedMeshRenderers의 블렌드 셰이프 가중치 범위를 고정하려면 Clamp BlendShapes (Deprecated) 옵션을 활성화합니다.
나중에 처리할 시작 로그를 캡쳐하려면 Capture Startup Logs 옵션을 활성화합니다.