본문 바로가기
[ Unity ]/- 유니티 실습

유니티 Build Setting

by MRG 2024. 10. 2.
728x90
반응형

 

▣ 플랫폼 설정 (PC, Mac & Linux Standalone 선택)
먼저, 프로젝트가 PC용으로 빌드되도록 설정해야 합니다. 이 작업을 수행하려면 다음 단계를 따릅니다.
File > Build Settings 메뉴를 엽니다.
Platform 목록에서 "PC, Mac & Linux Standalone"을 선택합니다.
"Platform" 아래에서 "Target Platform"을 Windows로 설정합니다.
Switch Platform 버튼을 클릭하여 플랫폼을 전환합니다.
이제 PC 플랫폼으로 빌드할 준비가 되었습니다.

 

▣ Build Settings에서 Windows 플랫폼을 선택할 때 나타나는 다양한 옵션들, 특히 Architecture, Copy PDB files와 같은 옵션들은 게임 빌드 시 중요한 역할을 합니다. 

이 설정들은 게임을 빌드할 때의 성능, 디버깅 및 배포 방법에 영향을 줄 수 있습니다. 

각 옵션에 대해 자세히 설명하겠습니다.

▣  Architecture (아키텍처)
Architecture는 게임을 빌드할 때 사용할 CPU 아키텍처를 선택하는 옵션입니다. 

일반적으로 Windows에서는 두 가지 아키텍처 옵션이 있습니다:


x86: 32비트 아키텍처입니다. 32비트 운영체제 및 32비트 CPU에서 실행할 수 있는 빌드를 생성합니다. 이 옵션은 32비트 환경을 지원해야 할 때 유용하지만, 4GB 이상의 메모리를 사용할 수 없습니다.


x86_64: 64비트 아키텍처입니다. 64비트 운영체제 및 CPU에서 실행할 수 있는 빌드를 생성합니다. 더 많은 메모리를 사용할 수 있으며, 더 나은 성능을 제공하는 경우가 많습니다. 대부분의 최신 PC에서는 64비트가 표준이므로, 이 옵션을 사용하는 것이 일반적입니다.
권장 사항: 현재 대부분의 PC는 64비트 아키텍처를 사용하므로, x86_64를 선택하는 것이 좋습니다. 32비트 지원이 필요한 경우에만 x86을 선택하세요.

 


▣ Copy PDB Files (PDB 파일 복사)
PDB 파일은 디버깅 심볼 파일입니다. Program Database (PDB) 파일은 게임의 빌드 과정에서 생성되며, 

디버깅을 위해 사용됩니다. 이 파일은 코드와 관련된 디버깅 정보(변수 이름, 스택 트레이스 등)를 포함하고 있어, 

디버깅 도구(Visual Studio 등)에서 버그를 추적하는 데 유용합니다.

Copy PDB files 옵션을 활성화하면, 빌드할 때 PDB 파일이 함께 복사됩니다. 이를 통해 빌드된 게임에서 디버깅을 할 수 있습니다.
권장 사항: 만약 게임을 개발 중이고, 디버깅이 필요하다면 이 옵션을 활성화하는 것이 좋습니다. 그러나 최종 릴리즈 빌드에서는 파일 크기를 줄이기 위해 비활성화하는 것이 일반적입니다.

 


▣  Development Build (개발 빌드)
Development Build는 디버깅 정보를 포함하고, 최종 릴리즈 빌드에 비해 성능이 덜 최적화된 빌드를 생성합니다. 

이 옵션을 활성화하면 다음과 같은 기능이 포함됩니다:

Development Console: 빌드된 게임에서 개발용 콘솔을 사용할 수 있게 합니다. 이를 통해 게임 중에 Debug.Log() 메시지를 실시간으로 확인할 수 있습니다.
Profiling: 유니티 프로파일러를 통해 실시간으로 성능 데이터를 분석할 수 있습니다.
Script Debugging: 스크립트 디버깅을 활성화하여 게임 실행 중 코드의 상태를 확인할 수 있습니다.
권장 사항: 게임 개발 중에 디버깅과 성능 분석을 해야 하는 경우에는 활성화하지만, 최종 릴리즈 빌드에서는 비활성화하여 성능을 최적화하고 디버깅 정보를 제거하세요.

▣  Auto Connect Profiler
이 옵션은 빌드된 게임을 실행할 때 유니티의 프로파일러에 자동으로 연결되도록 설정하는 옵션입니다. 프로파일러는 CPU, 메모리, GPU 사용량 등을 분석하는 도구입니다.

이 옵션을 활성화하면, 빌드된 게임이 실행될 때 유니티 에디터의 프로파일러와 자동으로 연결되어 실시간 성능 데이터를 확인할 수 있습니다.
권장 사항: 개발 중 성능 문제를 추적하고 싶을 때 유용한 옵션입니다. 최종 빌드에서는 비활성화하는 것이 좋습니다.

▣  Compression Method (압축 방법)
빌드된 게임의 크기를 줄이기 위해 사용되는 압축 방식입니다. 선택할 수 있는 옵션은 다음과 같습니다:

LZ4: 빌드 속도는 빠르지만 압축률은 상대적으로 낮습니다. 압축 해제가 매우 빠르기 때문에 큰 프로젝트에서도 로딩 속도가 빠릅니다.


LZ4HC: LZ4보다 더 높은 압축률을 제공하지만, 빌드 시간이 더 오래 걸립니다. 압축 해제 속도는 비슷하지만, 용량을 줄이는 데 더 효과적입니다.


Default: 기본 설정은 압축을 사용하지 않는 것입니다. 빌드 속도가 매우 빠르지만, 결과 파일 크기가 클 수 있습니다.
권장 사항: 일반적으로 LZ4HC를 선택하여 압축률을 최대화하는 것이 좋습니다. 최종 빌드에서는 용량을 줄이기 위해 LZ4HC를 선택하는 경우가 많습니다.

▣ Script Debugging (스크립트 디버깅)
이 옵션을 활성화하면 빌드된 게임에서 C# 스크립트를 디버깅할 수 있습니다. 예를 들어, Visual Studio와 같은 디버깅 도구를 사용하여 게임 실행 중에 브레이크포인트를 설정하고, 변수의 값을 확인하거나 함수의 호출을 추적할 수 있습니다.

권장 사항: 개발 중에는 이 옵션을 활성화하여 디버깅을 편리하게 할 수 있습니다. 최종 빌드에서는 비활성화하여 성능을 최적화합니다.

 


▣  해상도 및 그래픽 설정
PC 게임은 다양한 해상도와 그래픽 설정을 지원할 수 있습니다. 이를 설정하려면 다음 단계를 따릅니다.
Edit > Project Settings로 이동합니다.
Player 항목을 클릭합니다.
Resolution and Presentation 섹션에서 다음과 같은 설정을 할 수 있습니다:
Default Screen Width / Height: 기본 화면 크기를 설정합니다.
Fullscreen Mode: 창 모드 또는 전체 화면 모드를 설정합니다.
Resizable Window: 사용자가 창 크기를 변경할 수 있는지 여부를 설정합니다.
Run in Background: 창이 포커스를 잃었을 때에도 게임이 실행되도록 설정합니다.

 


▣  빌드 설정 (Build Settings)
플랫폼을 설정한 후에는 빌드 설정을 완료해야 합니다.
File > Build Settings 메뉴로 돌아옵니다.
Scenes in Build 섹션에서 빌드에 포함할 씬들을 선택합니다. 포함할 씬이 목록에 없다면 "Add Open Scenes" 버튼을 클릭하여 현재 열린 씬을 추가할 수 있습니다.
Build 버튼을 클릭하여 빌드 위치와 파일 이름을 지정합니다.
원하는 위치에 파일을 저장하고, 빌드 과정이 완료되면 PC에서 실행할 수 있는 .exe 파일이 생성됩니다.

 


▣ 기타 중요 설정
게임을 배포하기 전에 고려해야 할 몇 가지 추가 설정입니다.
Quality Settings: 게임의 품질을 설정할 수 있습니다. 이는 해상도, 안티 앨리어싱, 그림자 품질 등과 관련이 있습니다.
Edit > Project Settings > Quality에서 품질을 설정할 수 있습니다.
Input Settings: 사용자가 게임을 플레이할 때 사용할 키보드 및 마우스 입력을 설정할 수 있습니다.
Edit > Project Settings > Input Manager에서 입력 설정을 수정할 수 있습니다.

 

▣  빌드 및 실행
설정이 완료되면, 다시 File > Build Settings에서 Build 버튼을 눌러 빌드를 시작합니다. 빌드가 완료되면 .exe 파일을 실행하여 게임이 정상적으로 동작하는지 테스트해 보세요.

▣ 빌드 옵션
빌드할 때 몇 가지 추가 옵션을 선택할 수 있습니다.
Development Build: 개발용 빌드를 생성합니다. 개발 중에 디버깅을 돕는 콘솔 메시지를 추가로 표시해 줍니다.
Autoconnect Profiler: 개발 빌드와 함께 프로파일러를 자동으로 연결합니다.
Script Debugging: 스크립트 디버깅을 활성화합니다. 디버깅 도구를 사용하여 문제를 추적할 수 있습니다.

 

 

 

▣ Product Name: 게임 이름을 설정합니다. 이 이름은 빌드된 실행 파일이나 게임 창의 제목에 사용됩니다.
Company Name: 회사 이름을 설정합니다.
Version: 게임의 버전을 관리할 수 있습니다.

 


▣  Resolution and Presentation (해상도 및 표시)
이 섹션은 게임이 실행되는 해상도 및 화면 모드를 설정할 수 있습니다.

Default Screen Width / Height: 게임의 기본 화면 크기를 설정합니다.
Fullscreen Mode: 게임이 전체 화면으로 실행될지, 창 모드로 실행될지 설정합니다. 옵션은 다음과 같습니다:
Exclusive Fullscreen: 독점 전체 화면 모드입니다.
Fullscreen Window: 전체 화면 창 모드입니다.
Maximized Window: 최대화된 창 모드입니다.
Windowed: 창 모드입니다.
Resizable Window: 창 크기를 사용자가 조정할 수 있도록 설정할 수 있습니다.
Run In Background: 게임 창이 포커스를 잃었을 때도 계속 실행되도록 설정합니다.
Capture Single Screen: 멀티 모니터 환경에서 화면을 한 개만 사용하도록 설정합니다.

 


▣ Icon (아이콘)
플랫폼별로 게임의 아이콘을 설정할 수 있는 메뉴입니다. 각 해상도에 맞는 아이콘을 설정할 수 있으며, 여러 사이즈의 아이콘을 제공하여 PC나 모바일에서 잘 보이도록 합니다.

아이콘 이미지를 여러 해상도에 맞춰 넣을 수 있습니다. 유니티는 다양한 플랫폼에 맞는 해상도를 제공합니다.

 


▣  Splash Image (스플래시 이미지)
유니티 로고 및 게임의 스플래시 화면을 설정할 수 있습니다. 스플래시 화면은 게임이 실행될 때 처음에 보여지는 화면입니다.

Show Unity Logo: 유니티 로고를 스플래시 화면에 표시할지 여부를 설정할 수 있습니다.
Splash Screen Style: 스플래시 화면의 스타일을 설정할 수 있습니다. (예: 다크 테마, 라이트 테마 등)
Custom Splash Image: 스플래시 화면에 커스텀 이미지를 추가할 수 있습니다.

 


▣ Other Settings (기타 설정)
이 섹션에서는 더 세부적인 플랫폼 설정을 관리할 수 있습니다. 주요 설정 항목은 다음과 같습니다.

Rendering: 그래픽 렌더링과 관련된 설정입니다.

Color Space: 색상 공간을 설정합니다. (Linear, Gamma)
Auto Graphics API: 유니티가 자동으로 그래픽 API를 선택하도록 할지 여부를 설정합니다. 

수동으로 Direct3D, OpenGL 등 특정 API를 선택할 수도 있습니다.
Active Input Handling: 입력 시스템을 선택합니다. (Legacy Input Manager 또는 새로운 Input System)
Configuration: 게임의 동작 방식을 설정할 수 있습니다.

Scripting Backend: 스크립트 백엔드 방식을 선택합니다. (Mono, IL2CPP)
API Compatibility Level: C# 스크립트가 사용하는 .NET API의 호환성 수준을 설정할 수 있습니다.
Allow 'unsafe' Code: unsafe 키워드를 사용하는 C# 코드를 허용할지 여부를 설정합니다.
Optimization: 최적화와 관련된 설정입니다.

Prebake Collision Meshes: 충돌 메쉬를 미리 베이킹할지 여부를 설정합니다.
Keep Loaded Shaders Alive: 로드된 셰이더를 메모리에 유지할지 여부를 설정합니다.
Logging: 빌드된 게임에서 디버깅 로그를 어떻게 처리할지 설정합니다.

Logcat Filter: 로그 필터를 설정하여 특정 로그 메시지만 필터링할 수 있습니다.

 


▣ Publishing Settings (배포 설정)
여기에서는 플랫폼별로 배포와 관련된 설정을 조정할 수 있습니다.

PC, Mac & Linux Standalone에서:
Company Name과 Product Name이 게임 파일의 설치 경로에 영향을 미칩니다.
Use Player Log: 로그 파일을 기록할지 여부를 설정합니다.
Force Single Instance: 게임이 한 번에 하나의 인스턴스만 실행되도록 설정합니다.

 

 

https://docs.unity3d.com/ScriptReference/AssetDatabase.html

 

Unity - Scripting API: AssetDatabase

Success! Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable. Close

docs.unity3d.com

 

https://docs.unity3d.com/ScriptReference/EditorApplication-isCompiling.html

 

Unity - Scripting API: EditorApplication.isCompiling

Success! Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable. Close

docs.unity3d.com

 

https://docs.unity3d.com/ScriptReference/EditorApplication-isUpdating.html

 

Unity - Scripting API: EditorApplication.isUpdating

During AssetDatabase refreshing time, the editor checks to see if any files have changed, whether they need to be reimported, and reimports them. The isUpdating property will return true or false depending on whether the AssetDatabase is being loaded or no

docs.unity3d.com

 

 

728x90
반응형

댓글