본문 바로가기
Unity/세팅

유니티 플랫폼 별 플레이어 세팅(Player Settings)

by Jinger 2023. 10. 31.

서론

    유니티의 Player Settings는 특정 플랫폼에서 애플리케이션을 실행하기 위한 설정을 제공한다. 이 설정을 조정하는 이유는 몇 가지가 있다. 첫째, 각 플랫폼의 요구 사항에 맞게 설정하여 크로스 플랫폼 호환성을 강화한다. 둘째, 하드웨어 요구 사항을 설정하여 애플리케이션이 최적의 성능으로 실행될 수 있도록 보장한다. 셋째, 해상도 및 화면 방향을 설정하여 다양한 디바이스에서 일관된 사용자 경험을 유지할 수 있다. 또한, 앱 아이콘 및 런처 이미지 설정을 통해 브랜딩을 강화할 수 있다. 마지막으로, 보안, 퍼포먼스, 라이선스, 및 권한 설정을 관리하여 사용자 데이터를 보호하고 애플리케이션이 정상적으로 실행될 수 있도록 돕는다.


플레이어 세팅(Player Settings)

    유니티에서 File > Build Settings > Player Settings를 통해 아래와 같은 화면을 확인할 수 있다.

     Player 설정을 사용하여 Unity로 빌드된 게임 최종본의 여러 옵션을 설정할 수 있다. 일반 설정 몇 가지는 모든 빌드 타겟에서 동일하다.

    플랫폼에 따라 내용은 다르나 큰 틀은 모두 같다.

  • Icon: 바탕화면에 표시되는 게임 아이콘이다. 프로젝트의 2D 이미지 에셋(예: 스프라이트 또는 임포트한 이미지)에서 아이콘을 선택할 수 있다.
  • Resolution and Presentation: 화면 해상도와 전체 화면 모드를 게임의 디폴트로 설정할지 여부 등 기타 프레젠테이션 디테일에 대한 설정이다.
  • Splash Image: 게임 시작 중에 표시되는 이미지이다. 이 섹션은 스플래시 화면을 만들기 위한 일반적인 설정도 포함하며, 이는 스플래시 화면 섹션에 설명되어 있다.
  • Other Settings: 특정 플랫폼과 관련된 나머지 설정이다.
  • Publishing Settings: 빌드한 애플리케이션을 앱 스토어나 호스트 웹페이지에서 배포하기 위해 준비하는 방법에 대한 세부 설정이다.
  • XR Settings: 가상 현실, 증강 현실과 혼합 현실 애플리케이션에 관한 설정이다.

  • Company Name: 소속 회사의 이름을 입력한다. 환경 설정 파일을 찾는 데 사용한다.
  • Product Name: 게임 실행 중에 메뉴 바에 표시되는 이름을 입력한다. Unity는 이 이름을 사용하여 환경 설정 파일을 찾을 수 있다.
  • Version: 애플리케이션의 버전 번호를 입력한다.
  • Default Icon: 모든 플랫폼에서 애플리케이션의 기본 아이콘으로 사용할 텍스처 2D 파일을 선택한다. 일부 플랫폼의 경우 오버라이드할 수 있다.
  • Default Cursor: 지원되는 모든 플랫폼에서 애플리케이션의 기본 커서로 사용할 텍스처 2D 파일을 선택한다.
  • Cursor Hotspot: 기본 커서의 왼쪽 상단으로부터 커서 핫스팟 위치까지의 오프셋 값(단위: 픽셀)을 설정한다. 커서 핫스팟은 Unity가 커서 위치를 기준으로 이벤트를 트리거하는 데 사용하는 커서 이미지 내 지점이다.

컴퓨터(스탠드얼론, {Mac OSX, Window, Linux})

아이콘(Icon)

    Override for Standalone 설정을 활성화하여 스탠드얼론 게임에 커스텀 아이콘을 할당할 수 있다. 제공된 사각형에 맞는 다양한 사이즈의 아이콘을 업로드할 수 있다.(1024*1024, 512*512, 256*256, 128*128, 64*64, 48*48, 32*32, 16*16)

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

해상도 섹션(Resolution)

    해상도 섹션에서 스크린 모드와 기본 크기를 커스터마이즈할 수 있다.

  • 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 모드에서 창의 크기는 기본적으로 변경 가능하다. 이 옵션을 사용하지 않으려면 플레이어 설정에서 크기 조정 가능한 창(Resizable Window) 설정을 비활성화해야 한다.
  • Default Is Native Resolution: 이 옵션을 활성화하면 게임이 타겟 장치에서 사용되는 기본 해상도를 사용한다. Fullscreen Mode 가 Windowed로 설정된 경우 이 옵션을 사용할 수 없다.
  • Default Screen Width: 게임 화면의 기본 너비(단위: 픽셀)를 설정한다. 이 옵션은 Fullscreen Mode 가 Windowed로 설정된 경우에만 사용할 수 있다.
  • Default Screen Height: 게임 화면의 기본 높이(단위: 픽셀)를 설정한다. 이 옵션은 Fullscreen Mode 가 Windowed로 설정된 경우에만 사용할 수 있다.
  • Mac Retina Support: Mac에서 높은 DPI(Retina) 화면에 대한 지원을 사용하려면 이 옵션을 활성화한다. Unity는 이 옵션을 기본적으로 활성화한다. 이 옵션을 설정하면 Retina 디스플레이에서 프로젝트 품질이 향상되지만, 활성화 시 리소스 소모량이 다소 높아진다.
  • Run In background: 앱이 포커스를 잃는 경우 게임을 일시중지하지 않고 계속 실행하려면 이 옵션을 활성화한다.

스탠드얼론 플레이어 옵션(Standalone Player Options)

    스탠드얼론 플레이어 옵션 섹션에서는 화면을 커스터마이즈 하는 방법을 지정할 수 있다.

  • 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)

    Splash Image 창의 설정에서 Unity 로고 비활성화, 자체 로고 추가, 스플래시 화면 전체 비활성화를 포함하여 애플리케이션에 스플래시 화면이 표시되는 방식을 커스터마이즈 할 수 있다. 그러나 스플래시 화면의 전체 커스텀화는 Plus, Pro, 엔터프라이즈 Unity 플랜을 이용 중인 사용자만 사용할 수 있다. 개인 플랜을 사용하는 경우 스플래시 이미지 설정에 다음 접은 글과 같은 제한이 있다.

더보기

Unity Pro와 Plus 구독에는 Unity 스플래시 화면 커스터마이즈에 관한 제한이 없다. Unity Personal 구독에는 다음과 같은 제한이 있다.

  • Show Splash Screen: Unity 스플래시 화면을 비활성화할 수 없다.
  • Show Unity Logo: Unity 로고를 비활성화할 수 없다.
  • Overlay Opacity: 설정 가능한 최소 불투명도 값은 0.5이다.

    일반적인 스플래시 이미지 설정 위의 Player Settings 설정을 사용하면 스탠드얼론 플랫폼을 위한 스플래시 이미지를 지정할 수 있다.

  • Virtual Reality Splash Image: 가상현실을 사용하는 애플리케이션에 사용할 이미지를 설정한다. 이미지는 2D 텍스처여야 한다.
  • Splash Screen: 스플래시 화면을 표시하기 위한 설정이다.
  • Show Splash Screen: 기본적으로 활성화되어 있다. 애플리케이션 시작 시 스플래시 화면을 표시하지 않으려면 이 설정을 비활성화한다.(Unity 개인 플랜인 경우 이 설정을 비활성화할 수 없다.)
  • Preview: Preview 버튼을 선택하여 스플래시 화면을 게임 뷰에서 미리 볼 수 있다. 미리 보기는 게임 뷰와 같은 해상도와 종횡비로 표시된다.
  • Splash Style: Unity 로고의 컬러 스타일에 대한 설정이다.
    • Light on Dark(기본 설정): 어두운 배경에 가장 적합한 밝은 버전의 Unity 로고이다.
    • Dark on Light: 밝은 배경에 가장 적합한 어두운 버전의 Unity 로고이다.
  • Animation: 스플래시 화면이 화면에 나타나고 사라지는 방식에 대한 설정이다.
    • Static: 애니메이션을 적용하지 않는다.
    • Dolly: 로고와 배경을 확대/축소하여 비주얼 돌리 효과를 만든다. 이 설정이 기본 설정이다.
    • Custom: 이 설정을 선택하면 배경과 로고의 확대/축소 크기를 설정하여 돌리 효과를 수정할 수 있다.
    • Logo Zoom: 로고 애니메이션의 전체 지속 시간이 끝날 때 로고에 대한 타겟 확대/축소(0–1)이다.
    • Background Zoom: 스플래시 화면 애니메이션의 전체 지속 시간이 끝날 때 배경에 대한 타겟 확대/축소(0–1)이다.
  • Logos: 스플래시 화면의 로고를 커스터마이즈 하기 위한 설정이다.
  • Show Unity Logo: 기본적으로 활성화되어 있다. 스플래시 화면에 Unity 로고를 표시하지 않으려면 이 옵션을 비활성화한다. (Unity 개인 플랜인 경우 이 설정을 비활성화할 수 없다.)
  • Draw Mode: 스플래시 화면에 로고가 나타나는 순서를 선택하는 모드이다.
    • Unity Logo Below: 로고 리스트의 모든 로고 아래에 Unity 로고를 표시한다.
    • All Sequential: 로고 리스트의 모든 로고와 함께 Unity 로고를 순차적으로 표시한다.
  • Logos 리스트: 스플래시 화면에 포함할 로고이다. 각 로고는 스프라이트 에셋이어야 한다. 전체 스프라이트를 로고로 사용하려면 스프라이트 모드를 Single로 설정한다. 로고의 종횡비를 변경하고 싶으면 스프라이트 모드를 Multiple로 설정한 후 스프라이트 에디터로 크기를 편집해야 한다. 더하기(+) 버튼과 빼기(-) 버튼을 사용하여 로고를 추가하거나 제거할 수 있다. 로고의 순서를 변경하려면 리스트에서 로고를 드래그한다. 로고 표시 간격을 늘리려면 로고 리스트에 스프라이트 에셋이 할당되지 않은 엔트리를 추가하면 된다.
    • Logo Duration: 각 스프라이트 에셋이 화면에 표시되는 시간을 설정한다. 2–10초 범위의 값을 사용한다.
  • Splash Screen Duration: 스플래시 화면 시퀀스의 전체 지속 시간을 초 단위로 표시한다. 전체 지속 시간은 모든 로고 시간의 합계에 페이드 아웃을 위한 0.5초를 더한 시간이다. 참고: 첫 번째 씬을 재생할 준비가 되지 않은 경우 애플리케이션의 스플래시 화면이 더 오래 표시될 수 있다. 이 경우 스플래시 화면은 배경 이미지나 컬러만 표시한 다음 첫 번째 씬을 재생할 준비가 되면 페이드 아웃된다.
  • Background: 애플리케이션 스플래시 화면의 배경을 커스터마이즈 하기 위한 설정이다.
  • Overlay Opacity: 오버레이 불투명도 설정의 값을 조정하여 로고를 돋보이게 한다. 이 설정은 Splash Style(Light on Dark 또는 Dark on Light) 설정 방법에 따라 로고의 배경색과 이미지 컬러에 영향을 준다. 불투명도 값을 낮춰 이 효과를 감소시키거나, ’0’으로 설정하여 효과를 비활성화할 수도 있다.(Unity 개인 플랜이 있는 경우 이 설정의 최솟값은 0.5이다.)
  • Background Color: 스플래시 화면의 컬러를 설정한다. Unity는 Background Image를 설정하지 않은 경우 이 컬러를 사용한다.(오버레이 불투명도 설정은 배경 컬러 표시에 영향을 주며 할당된 컬러와 일치하지 않을 수 있다.)
  • Blur Background Image: 설정한 배경 이미지를 블러하려면 이 설정을 활성화한다. 이 설정을 비활성화하면 블러 효과 없는 배경 이미지가 표시된다.
  • Background Image: 배경으로 사용할 스프라이트 이미지에 대한 레퍼런스를 설정한다. Unity는 배경 이미지가 화면을 채우도록 조정한다. 화면의 너비와 높이에 모두 맞을 때까지 이미지를 균일하게 스케일 한다. 즉, 일부 종횡비에서는 이미지의 일부분이 화면 모서리 바깥까지 연장될 수 있다. 종횡비에 대한 배경 이미지의 리스폰스를 조정하려면 스프라이트 에디터에서 스프라이트의 position 값을 변경한다.
  • Alternate Portrait Image: 세로 종회비와 함께 사용할 대체 이미지를 설정한다(예: 세로 모드의 모바일 기기). 대체 세로 이미지 스프라이트를 할당하지 않으면 Unity 에디터는 세로 및 가로 모드 모두에 대해 Background Image로 할당된 스프라이트를 사용한다. 스프라이트 에디터에서 스프라이트의 포지션과 크기를 조정하여 스플래시 화면에 표시되는 배경 이미지의 종횡비와 포지션을 제어할 수 있다.

기타 설정(Other Settings)

랜더링(Rendering)

    이곳을 통해 Unity가 스탠드얼론 플랫폼을 위한 게임을 렌더링 하는 방법을 커스터마이즈 한다.

  • Color Space: Gamma와 Linear 중 렌더링에 사용할 색 공간을 선택한다.
  • 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 영역은 기본으로 지정된 필수 영역이다.
  • Static Batching: 정적 배칭을 사용하려면 이 옵션을 활성화한다.
  • Dynamic Batching: 빌드에서 동적 배칭을 사용(기본적으로 선택되어 있음)하려면 이 옵션을 활성화한다.(스크립터블 렌더 파이프라인이 활성화된 경우 동적 배칭은 영향이 없다. 즉, 이 설정은 스크립터블 렌더 파이프라인 에셋 그래픽스에 설정된 사항이 없어야만 표시된다.)
  • Lightmap Streaming: 현재의 게임 카메라를 렌더링하기 위해 필요한 라이트맵 밉맵만 로드하려면 활성화한다.(이 설정을 사용하려면 텍스처 스트리밍 품질 설정을 활성화해야 한다.)
    • Streaming Priority: 리소스 충돌을 해결하기 위해 라이트맵 밉맵 스트리밍 우선순위를 설정한다. 이러한 값은 생성된 라이트맵 텍스처에 적용된다. 양수의 순위가 우선시 된다. 유효한 값의 범위는 –128부터 127까지이다.
  • Frame Timing Stats: CPU 및 GPU 프레임 시간 통계를 수집하려면 이 프로퍼티를 활성화한다. 다이내믹 해상도 카메라 설정과 함께 사용하여 애플리케이션이 CPU 또는 GPU 바운드인지 확인할 수 있다.
  • OpenGL: Profiler GPU Recorders: OpenGL에 도움을 받아  유니티는 자체적인 프로파일링 및 디버깅 도구를 제공하여 유니티 기반의 게임 또는 애플리케이션의 성능을 분석하고 개선할 수 있도록 돕는다.
  • Use Display In HDR Mode (Windows 전용): 이 체크박스를 활성화하면 게임이 실행 시 HDR 모드 출력으로 자동으로 전환된다. 이 설정은 이 기능을 지원하는 디스플레이에서만 동작한다. 디스플레이가 HDR 모드를 지원하지 않으면 게임은 스탠다드 모드로 실행된다.
  • Swap Chain Bit Depth: 스왑체인 버퍼에 대한 각 컬러 채널의 비트 수를 선택한다. HDR 모드가 활성화된 경우에만 사용할 수 있다.
    • Bit Depth 10: Unity는 ST2084 PQ 인코딩이 포함된 Rec2020 프라이머리와 R10G10B10A2 버퍼 포맷을 사용한다.
    • Bit Depth 16: Unity는 리니어 컬러(인코딩 없음)가 포함된 Rec709 프라이머리와 R16G16B16A16 버퍼 포맷을 사용한다.
  • Virtual Texturing: 유니티는 고해상도 텍스처를 처리하고 메모리를 최적화하기 위해 Texture Streaming 및 Asset Bundle System과 같은 기능을 제공한다.
  • 360 Stereo Capture: 유니티는 360도 동영상, 가상현실(VR), 혹은 증강 현실(AR)과 관련된 다양한 기능과 플러그인을 제공한다.

Vulkan 설정

    프레임 동안 Vulkan 렌더러의 Graphics.SetSRGBWrite()가 sRGB 쓰기 모드를 토글 할 수 있도록 하려면 SRGB Write Mode 옵션을 활성화다.(이 기능을 활성화하면 특히 타일링된 GPU의 경우 성능이 저하될 수 있다.)

  • SRGB Write Mode: Graphics.SetSRGBWrite() 렌더러가 런타임 중에 sRGB 쓰기 모드를 전환하도록 하려면 이 옵션을 활성화한다. 이를 사용하여 선형-sRGB 쓰기 색상 변환을 비활성화한다.
  • Number of swapchain buffers: Vulkan 렌더러와 함께 사용하려면 이중 버퍼링의 경우 이 옵션을 2로 설정하고 삼중 버퍼링의 경우 3으로 설정한다. 이 설정은 일부 플랫폼에서 대기 시간을 줄이는 데 도움이 될 수 있지만 일반적으로 기본값인 3에서 변경하면 안 된다. 이중 버퍼링은 성능에 부정적인 영향을 미칠 수 있다.
  • Acquire swapchain image late as possible: 프레임이 오프스크린 스테이징 이미지로 렌더링 된 후 백버퍼를 가져오려면 이 옵션을 활성화한다. 이 설정을 활성화하면 백버퍼를 표시할 때 추가 블릿이 추가된다. 이 설정을 이중 버퍼링과 함께 사용하면 성능이 향상될 수 있다. 그러나 추가 blit이 추가 대역폭을 사용하므로 성능 문제가 발생할 수도 있다.
  • Recycle command buffers: Unity가 CommandBuffer를 실행한 후 CommandBuffer를 재활용하려면 이 옵션을 활성화해야 한다.

Mac 앱 스토어 옵션

  • Override Default Bundle Identifier: 번들 식별자를 수동으로 설정할 수 있는지 여부를 나타낸다. 이 설정은 macOS, iOS, tvOS 및 Android에 영향을 미친다.
    • Bundle Identifier: 애플리케이션의 번들 식별자를 입력하라. 이는 관련 info.plist 파일에서 CFBundleIdentifier로 나타난다. 번들 식별자는 com.YourCompanyName.YourProductName 규칙을 따라야 하며 영숫자와 하이픈 문자만 포함해야 한다.(Unity는 입력한 유효하지 않은 문자를 하이픈으로 자동 대체한다.)
  • Build: 이 버전의 앱에 대한 빌드 번호를 입력하라. 이는 관련 info.plist 파일에 CFBundleVersion으로 나타낸다.
  • Category: 앱 유형에 해당하는 문자열을 입력하라. App Store는 이 문자열을 사용하여 앱에 적합한 분류를 선택한다. 기본적으로 이는 public.app-category.games이다.
  • Mac App Store Validation: Mac App Store에서 유효한 영수증이 있는 경우에만 앱이 실행되도록 하려면 이를 활성화하라. 이렇게 하면 사람들이 다른 장치에서 게임을 실행하는 것을 방지할 수 있다. 자체 영수증 확인을 구현한 경우에만 이 설정을 비활성화하라.

설정(Configuration)

  • Scripting Backend: 사용하려는 스크립팅 백엔드를 선택할 수 있다. 스크립팅 백엔드는 Unity가 프로젝트에서 C# 코드를 컴파일하고 실행하는 방법을 결정한다.
    • Mono: C# 코드를 .NET CIL(Common Intermediate Language)로 컴파일하고 Common Language Runtime을 사용하여 해당 CIL을 실행한다.
    • IL2CPP: C# 코드를 CIL로 컴파일하고 CIL을 C++로 변환한 다음 해당 C++를 네이티브 기계어 코드로 컴파일하여 런타임에 직접 실행된다.
  • API Compatibility Level: 프로젝트에서 사용할 수 있는 .NET API를 선택할 수 있다. 이 설정은 타사 라이브러리와의 호환성에 영향을 미칠 수 있다. 그러나 편집기별 코드(Editor 디렉터리 또는 편집기별 어셈블리 정의 내의 코드)에는 영향을 미치지 않다.(타사 어셈블리에 문제가 있는 경우 아래 API 호환성 수준 섹션의 제안을 시도해 볼 수 있다.)
    • .Net Framework: .NET Framework 4(.NET Standard 2.0 프로필과 추가 API의 모든 항목 포함)와 호환된다. .NET Standard 2.0에 포함되지 않은 API에 액세스하는 라이브러리를 사용할 때 이 옵션을 선택하라. 더 큰 빌드를 생성하며 사용 가능한 추가 API가 모든 플랫폼에서 반드시 지원되는 것은 아니다.
    • .Net Standard 2.1: 더 작은 빌드를 생성하고 완전한 크로스 플랫폼 지원을 제공한다.
  • Editor Assemblies Compatibility Level: Editor 어셈블리에서 사용할 .NET API를 선택할 수 있다.
    • .NET Framework: .NET Framework 4(.NET Standard 2.1 프로필과 추가 API의 모든 항목 포함)와 호환된다. .NET Standard 2.1에 포함되지 않은 API에 액세스하는 라이브러리를 사용할 때 이 옵션을 선택하라. 더 큰 빌드를 생성하며 사용 가능한 추가 API가 모든 플랫폼에서 반드시 지원되는 것은 아니다.
    • .NET Standard: .NET 표준 2.1과 호환된다. 더 작은 빌드를 생성하고 완전한 크로스 플랫폼 지원을 제공한다.
  • IL2CPP Code Generation: Unity가 IL2CPP 코드 생성을 관리하는 방법을 정의한다.(이를 사용하려면 Scripting Backend를 IL2CPP로 설정해야 한다.)
  • C++ Compiler Configuration: IL2CPP 생성 코드를 컴파일할 때 사용되는 C++ 컴파일러 구성을 선택할 수 있다.
    • Debug: 디버그 구성은 모든 최적화를 해제하므로 코드 빌드 속도는 빨라지지만 실행 속도는 느려진다.
    • Release: 릴리스 구성을 사용하면 최적화가 가능하므로 컴파일된 코드가 더 빠르게 실행되고 바이너리 크기는 더 작지만 컴파일하는 데 시간이 더 오래 걸린다.
    • Master: 마스터 구성은 가능한 모든 최적화를 가능하게 하여 가능한 모든 성능을 최대한 활용한다. 예를 들어 MSVC++ 컴파일러를 사용하는 플랫폼에서 이 옵션을 사용하면 링크 타임 코드 생성이 가능해진다. 이 구성을 사용하여 코드를 컴파일하는 것은 릴리스 구성을 사용하는 것보다 훨씬 더 오래 걸릴 수 있다. Unity는 빌드 시간 증가가 허용되는 경우 마스터 구성을 사용하여 게임의 출시 버전을 빌드할 것을 권장한다.
  • IL2CPP Stacktrace Information: 스택 추적에 포함할 정보를 선택할 수 있다.
    • Method Name: 스택 추적에 각 관리되는 메서드를 포함한다.
    • Method Name, File Name, and Line Number: 스택 추적에 파일 및 줄 번호 정보와 함께 각 관리되는 메서드를 포함한다.(이 옵션을 사용하면 빌드 시간과 빌드된 프로그램의 최종 크기가 모두 늘어날 수 있다.)
  • Use incremental GC: 프레임 기간의 가비지 수집 관련 스파이크를 줄이기 위해 여러 프레임에 걸쳐 가비지 수집을 분산시키는 증분 가비지 수집기를 사용한다.
  • Allow downloads over HTTP: HTTP를 통한 콘텐츠 다운로드를 허용할지 여부를 나타낸다. 기본 옵션은 더 안전한 HTTPS인 권장 프로토콜로 인해 허용되지 않는다.
    • Not Allowed: HTTP를 통한 다운로드를 절대 허용하지 않는다.
    • Allowed in Development Builds: 개발 빌드에서는 HTTP를 통한 다운로드만 허용한다.
    • Always Allowed: 개발 및 릴리스 빌드에서 HTTP를 통한 다운로드를 허용한다.
  • Active Input Handling: 사용자의 입력을 처리하는 방법을 선택할 수 있다.
    • Input Manager (Old): 전통적인 입력 설정을 사용한다.
    • Input System Package (New): 입력 시스템을 사용한다. 이 옵션을 사용하려면 InputSystem 패키지를 설치해야 한다.
    • Both: 두 시스템을 모두 사용한다.

MaC 설정(Mac Configuration)

  • Camera Usage Description: 기기에서 카메라에 접근하는 이유를 입력할 수 있다.
  • Microphone Usage Description: 기기의 마이크에 접근하는 이유를 입력할 수 있다.
  • Bluetooth Usage Description: 해당 기기의 블루투스 연결에 접근하는 이유를 입력할 수 있다.
  • Supported URL schemes: 지원되는 URL 구성표 목록이다. 새 구성표를 추가하려면 Size 속성의 값을 늘린 다음 표시되는 새 요소 상자에 로드할 에셋에 대한 참조를 설정할 수 있다.

Shader Settings

  • Shader precision model: 셰이더에 사용되는 샘플러의 기본 정밀도를 선택할 수 있다.
  • Strict shader variant matching: 셰이더 변형이 누락된 경우 오류 셰이더를 사용하고 콘솔에 오류를 표시한다.
  • Keep Loaded Shaders Alive: 로드된 모든 셰이더를 활성 상태로 유지하고 언로드를 방지한다.

Shader Variant Loading Settings

  • Default chunk size (MB): 모든 플랫폼에 대해 빌드된 애플리케이션에 Unity가 저장하는 압축된 셰이더 변형 데이터 청크의 최대 크기를 설정할 수 있다. 기본값은 16이다.
  • Default chunk count: Unity가 모든 플랫폼에서 메모리에 보관하는 압축 해제 청크 수에 대한 기본 제한을 설정할 수 있다. 기본값은 0이며 이는 제한이 없음을 의미한다.
  • Override: 이 빌드 타겟에 대해 기본 청크 크기 및 기본 청크 수를 재정의할 수 있다.
  • Chunk size (MB): 이 빌드 대상의 기본 청크 크기(MB) 값을 재정의한다.
  • Chunk count: 이 빌드 대상의 기본 청크 수 값을 재정의한다.

Script Compilation

  • Scripting Define Symbols: 사용자 정의 컴파일 플래그를 설정할 수 있다.
  • Additional Compiler Arguments: Roslyn 컴파일러에 추가 인수를 전달하기 위해 이 목록에 항목을 추가한다. 각 추가 인수에 대해 하나의 새 항목을 사용할 수 있다. 새 항목을 생성하려면 추가(+)를 클릭하고 항목을 제거하려면 제거(-)를 클릭하면 된다. 원하는 인수를 모두 추가한 후 적용을 클릭하여 향후 컴파일에 추가 인수를 포함한다. 되돌리기를 클릭하면 이 목록이 가장 최근에 적용된 상태로 재설정된다.
  • Suppress Common Warnings: C# 경고 CS0169 및 CS0649를 표시할지 여부를 나타낸다.
  • Allow ‘unsafe’ Code: 사전 정의된 어셈블리(예: Assembly-CSharp.dll)에서 '안전하지 않은' C# 코드 컴파일에 대한 지원을 활성화한다. 어셈블리 정의 파일(.asmdef)의 경우 .asmdef 파일 중 하나를 클릭하고 나타나는 Inspector 창에서 옵션을 활성화한다.
  • Use Deterministic Compilation: -결정적 C# 플래그를 사용하여 컴파일을 방지할지 여부를 나타낸다. 이 설정이 활성화되면 컴파일된 어셈블리는 컴파일될 때마다 바이트 단위로 동일하다.

최적화(Optimization)

  • Prebake Collision Meshes: 빌드 시 메시에 충돌 데이터를 추가한다.
  • Preloaded Assets: 플레이어가 시작 시 로드할 에셋 배열을 설정할 수 있다. 새 에셋을 추가하려면 Size 속성의 값을 늘린 다음 표시되는 새 요소 상자에 로드할 에셋에 대한 참조를 설정하라.
  • Managed Stripping Level: Unity가 사용되지 않는 관리(C#) 코드를 얼마나 적극적으로 제거할지 선택할 수 있다. Unity가 앱을 빌드할 때 Unity 링커 프로세스는 프로젝트에서 사용하는 관리 DLL에서 사용되지 않는 코드를 제거할 수 있다. 코드를 스트리핑하면 결과 실행 파일이 더 작아질 수 있지만 때로는 사용 중인 코드가 제거될 수도 있다.
    • Minimal: 이를 사용하여 클래스 라이브러리, UnityEngine, Windows 런타임 어셈블리를 제거하고 다른 모든 어셈블리를 복사한다.
    • Low: 빌드 크기와 Mono/IL2CPP 빌드 시간을 줄이려면 연결할 수 없는 관리 코드를 제거한다.
    • Medium: Low가 달성할 수 있는 것 이상으로 코드 크기를 줄이려면 UnityLinker를 실행한다. 사용자 정의 link.xml 파일을 지원해야 할 수 있으며 일부 리플렉션 코드 경로는 동일하게 동작하지 않을 수 있다.
    • High: UnityLinker는 가능한 한 많은 코드를 제거한다. 이렇게 하면 Medium이 달성할 수 있는 것 이상으로 코드 크기가 더욱 줄어들지만 일부 메서드의 관리 코드 디버깅이 더 이상 작동하지 않을 수 있다. 사용자 정의 link.xml 파일을 지원해야 할 수 있으며 일부 리플렉션 코드 경로는 동일하게 동작하지 않을 수 있다.
  • Vertex Compression: 채널당 정점(Vertex) 압축을 설정한다. 이는 프로젝트의 모든 메시에 영향을 미친다. 일반적으로 Vertex Compression은 메모리의 메시 데이터 크기를 줄이고, 파일 크기를 줄이고, GPU 성능을 향상시키는 데 사용된다.
  • Optimize Mesh Data: 빌드에 사용된 메시에서 사용되지 않은 정점 속성을 제거하려면 이 옵션을 활성화한다. 이 옵션은 메시의 데이터 양을 줄여 빌드 크기, 로딩 시간 및 런타임 메모리 사용량을 줄이는 데 도움이 될 수 있다. (이 설정을 활성화한 경우 런타임 시 재질 또는 셰이더 설정을 변경하면 안 된다.)
  • Texture MipMap Stripping: 모든 플랫폼에 대해 밉맵 제거를 활성화한다. 빌드 시 텍스처에서 사용되지 않은 밉맵을 제거한다. Unity는 밉맵의 값을 현재 플랫폼의 품질 설정과 비교하여 사용되지 않는 밉맵을 결정한다. 밉맵 값이 현재 플랫폼의 모든 품질 설정에서 제외되면 Unity는 빌드 시 빌드에서 해당 밉맵을 제거한다. QualitySettings.masterTextureLimit가 제거된 밉맵 값으로 설정된 경우 Unity는 제거되지 않은 가장 가까운 밉맵 값으로 값을 설정한다.

로깅(Logging)

    각 로그 유형에 해당하는 옵션을 활성화하여 원하는 로깅 유형을 선택할 수 있다.

  • None: 로그가 기록되지 않습니다.
  • ScriptOnly: 스크립트를 실행할 때만 기록합니다.
  • Full: 항상 기록합니다.

레거시(Legacy)

  • Clamp BlendShapes (Deprecated): SkinnedMeshRenderers에서 블렌드 모양 가중치 범위를 고정하는 옵션을 활성화한다.

안드로이드(Android)

아이콘(Icon)

  • Adaptive: Android 8.0(API 레벨 26) 이상 버전이 탑재된 기기에서 애플리케이션을 나타내기 위해 다양한 크기의 텍스처를 지정한다.(432 * 432, 324 * 324, 216 * 216, 162 * 162, 108 * 108, 81 * 81)
  • Round: Android 7.1(API 레벨 25) 이상을 실행하는 기기에서 애플리케이션을 나타내기 위해 다양한 크기의 텍스처를 지정한다.(192 * 192, 144 * 144, 96 * 96, 72 * 72, 48 * 48, 36 * 36)
  • Legacy: Android 7.1(API 레벨 25) 이전 버전이 탑재된 기기에서 애플리케이션을 나타내기 위해 다양한 크기의 텍스처를 지정한다. (192 * 192, 144 * 144, 96 * 96, 72 * 72, 48 * 48, 36 * 36)

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

Resolution Scaling

  • Resolution Scaling Mode: 애플리케이션이 해상도를 스케일 할지 여부와 방법을 지정한다. 스케일링을 네이티브 화면 해상도와 같거나 낮게 설정할 수 있다. 낮은 해상도를 사용하면 성능과 배터리 수명을 향상시킬 수 있다.
    • Disabled: 해상도 스케일링을 적용하지 않고 애플리케이션이 기기의 네이티브 화면 해상도로 렌더링 된다.
    • FixedDPI: 대상 DPI를 사용하여 해상도 배율을 적용한다. 이를 사용하여 성능과 배터리 수명을 최적화하거나 특정 DPI 설정을 목표로 삼는다.
    • Letterboxed: 콘텐츠가 늘어나지 않도록 렌더링 된 출력에 검은색 막대를 추가한다. 이 프로세스를 레터박스라고 한다.
  • Target DPI: 애플리케이션의 해상도이다. 기기의 네이티브 화면 DPI가 이 값보다 높은 경우 Unity는 이 설정과 일치하도록 애플리케이션의 해상도를 다운스케일링한다. Unity는 다음을 사용하여 스케일을 계산한다.(min(타겟 DPI * 인자 / 화면 DPI, 1)) 여기서 인자는 품질 설정의 해상도 스케일링 고정 DPI 인자이다.
  • Reset resolution on window resize: 기본 창 크기가 변경될 때 화면 해상도를 새 기본 창 크기로 설정할지 여부를 나타낸다. 해상도 스케일링 모드를 고정 DPI(Ficed DPI)로 설정하면 Unity는 고정 DPI 속성을 기반으로 해상도를 다시 계산한다.
  • Blit Type: blit을 사용하여 최종 이미지를 화면에 렌더링 할지 여부를 제어한다. blit을 사용하는 것은 대부분의 기기와 호환되지만 일반적으로 blit을 사용하지 않는 것보다 느리다.
    • Always: Unity는 오프스크린 버퍼로 렌더링 한 다음 blit을 사용하여 버퍼의 콘텐츠를 기기의 프레임 버퍼에 복사한다. 이것은 대부분의 기기와 호환되지만 일반적으로 blit을 사용하지 않는 것보다 느리다.
    • Never: Unity는 기기의 운영체제에서 제공하는 프레임 버퍼로 렌더링 한다. 이 작업이 실패하면 애플리케이션은 기기 로그에 일회성 경고를 출력한다. 이것은 일반적으로 blit을 사용하는 것보다 빠르지만 모든 장치와 호환되지는 않는다.
    • Auto: Unity는 가능한 경우 기기의 운영체제에서 제공하는 프레임 버퍼로 렌더링한다. 이 작업이 실패하면 Unity는 기기 콘솔에 경고를 출력하고 blit을 사용하여 최종 이미지를 화면에 렌더링한다.

Supported Aspect Ratio

  • Aspect Ratio Mode: 애플리케이션이 지원하는 가장 큰 종횡비를 지정한다. 기기의 종횡비가 이 종횡비보다 큰 경우 Unity는 애플리케이션에 이 종횡비를 사용하고 애플리케이션이 스트레치 하지 않도록 검은색 바를 추가한다.
    • Legacy Wide Screen (1.86): 애플리케이션은 Android의 레거시 와이드 스크린 종횡비까지 지원한다.
    • Native Aspect Ratio: 애플리케이션은 Android의 네이티브 종횡비까지 지원한다.
    • Custom: 애플리케이션은 Up To에서 설정한 종횡비까지 지원한다.
  • Minimum: 사용자 정의 최소 종횡비이다. 이 값은 최댓값보다 작아야 한다. 이 설정은 화면 비율 모드를 사용자 정의로 설정한 경우에만 나타난다.
  • Maximum: 사용자 정의 최대 종횡비이다. 이 값은 최솟값보다 커야 한다. 이 설정은 화면 비율 모드를 사용자 정의로 설정한 경우에만 나타난다.

Orientation

  • Default Orientation: 애플리케이션에서 사용하는 화면 방향을 지정한다.(Unity는 사용자가 설정한 값을 Android와 iOS 간에 공유한다.)
    • Portrait: 애플리케이션의 창 하단과 기기의 화면 하단이 정렬되는 세로 화면 방향을 애플리케이션에서 사용한다.
    • Portrait Upside Down: 애플리케이션의 창 하단과 기기의 화면 상단이 정렬되는 세로 화면 방향을 애플리케이션에서 사용한다.
    • Landscape Right: 애플리케이션의 창 우측과 기기의 화면 하단이 정렬되는 가로 화면 방향을 애플리케이션에서 사용한다.
    • Landscape Left: 애플리케이션의 창 우측과 기기의 화면 상단이 정렬되는 가로 화면 방향을 애플리케이션에서 사용한다.
    • Auto Rotation: Allowed Orientations for Auto Rotation 섹션에서 지정한 방향으로 화면을 회전할 수 있다.

Allowed Orientations for Auto Rotation

  • Portrait: 애플리케이션의 창 하단과 기기의 화면 하단이 정렬되는 세로 화면 방향을 애플리케이션에서 지원하는지 여부를 나타낸다.
  • Portrait Upside Down: 애플리케이션의 창 하단과 기기의 화면 상단이 정렬되는 세로 화면 방향을 애플리케이션에서 지원하는지 여부를 나타낸다.
  • Landscape Right: 애플리케이션의 창 우측과 기기의 화면 하단이 정렬되는 가로 화면 방향을 애플리케이션에서 지원하는지 여부를 나타낸다.
  • Landscape Left: 애플리케이션의 창 우측과 기기의 화면 상단이 정렬되는 가로 화면 방향을 애플리케이션에서 지원하는지 여부를 나타낸다.

퍼블리싱 설정(Publishing Settings)

프로젝트 키스토어(Project Keystore)

    키스토어는 애플리케이션 보안을 위한 서명 키를 보관하는 컨테이너이다.  프로젝트 키 스토어 설정을 사용하여 열려 있는 프로젝트에 사용할 키 저장소를 선택할 수 있다. 키 저장소를 로드하면 Unity는 해당 키 저장소의 모든 키를 로드한다. 열려 있는 프로젝트에서 기존 키 저장소를 로드하고 사용하려면 Custom Keystore를 활성화하고 Select 드롭다운에서 Browse를 선택한 후 파일 시스템에서 키스토어를 선택한다. 이후 키스토어 비밀번호를 입력하면 된다. 단, 기존 키스토어가 없으면 Custom Keystore를 비활성화 상태로 두시오.

  • Custom Keystore: Custom Keystore를 활성화하면 기존 키스토어를 로드하여 사용할 수 있다.
  • Select: 사용자 정의 키스토어가 활성화되면 이를 사용하여 사용하려는 키 저장소를 선택한다. 선택 드롭다운의 파티션 아래에 있는 키 저장소는 미리 정의된 전용 위치에 저장된다.
  • Path: 키스토어 경로를 입력할 필요가 없다. Unity는 선택한 키스토어를 기반으로 이를 제공한다.
  • Password: 선택한 키스토어를 로드하기 위한 키스토어 비밀번호를 입력할 수 있다.

프로젝트 키(Project Key)

    키 저장소를 로드하면 Unity는 해당 키 저장소의 모든 키를 로드한다. 프로젝트 키 설정을 사용하여 해당 키 저장소에서 열려 있는 프로젝트의 활성 키로 사용할 키 하나를 선택할 수 있다.

  • Alias: 열린 프로젝트에 사용할 키를 선택한다.
  • Password: 키 비밀번호를 입력한다.

빌드(Build)

    기본적으로 Unity는 Unity 설치와 함께 제공되는 매니페스트 파일, Gradle 템플릿, Proguard 파일을 사용하여 애플리케이션을 빌드한다. Android 퍼블리싱 설정의 Build 섹션을 사용하여 변경할 수 있다. 커스텀 매니페스트 파일이나 Gradle 템플릿 또는 Proguard 파일을 사용하려면 다음 단계를 따른다.

  1. 해당 체크박스를 선택한다. 그러면 Unity가 프로젝트에 기본 파일을 생성하고, 해당 파일 위치가 체크박스 아래에 나타난다.
  2. 새 파일을 열고 변경 작업을 수행한다.
  3. 변경 사항을 이 파일에 저장한다. Unity는 다음번에 애플리케이션을 빌드할 때 이 파일에 저장된 변경 사항을 자동으로 사용한다.

   Build 섹션의 설정은 현재 프로젝트의 빌드 프로세스에만 적용된다.

  • Upgrade templates to C#: Android 프로젝트 구성 관리자를 사용하도록 사용자 정의 Gradle 템플릿 파일을 업그레이드하는 데 사용할 수 있는 Android 템플릿 업그레이드 프로그램 창을 연다.
  • Custom Main Manifest: Android LibraryManifest.xml 파일의 사용자 정의 가능한 버전이다. 이 파일에는 Android 애플리케이션에 대한 중요한 메타데이터가 포함되어 있다.
  • Custom Unity Launcher Manifest: Android LauncherManifest.xml 파일의 사용자 정의 가능한 버전이다. 이 파일에는 Android 애플리케이션 실행 프로그램에 대한 중요한 메타데이터가 포함되어 있다.
  • Custom Main Gradle Template: mainTemplate.gradle 파일의 사용자 정의 가능한 버전이다. 이 파일에는 Android 애플리케이션을 라이브러리로 빌드하는 방법에 대한 정보가 포함되어 있다.
  • Custom Launcher Gradle Template: launcherTemplate.gradle 파일의 사용자 정의 가능한 버전이다. 이 파일에는 Android 애플리케이션을 빌드하는 방법에 대한 지침이 포함되어 있다.
  • Custom Base Gradle Template: baseProjectTemplate.gradle 파일의 사용자 정의 가능한 버전이다. 이 파일에는 다른 모든 템플릿과 Gradle 프로젝트 간에 공유되는 구성이 포함되어 있다.
  • Custom Gradle Properties Template: gradle.properties 파일의 사용자 정의 가능한 버전이다. 이 파일에는 Gradle 빌드 환경에 대한 구성 설정이 포함되어 있습니다. 여기에는 다음이 포함됩니다.
    • JVM(Java Virtual Machine) 메모리 구성.
    • Gradle이 여러 JVM을 사용하여 빌드할 수 있도록 하는 속성
    • 축소를 수행할 도구를 선택하기 위한 속성
    • 앱 번들을 빌드할 때 네이티브 라이브러리를 압축하지 않는 속성
  • Custom Gradle Settings Template: settingsTemplate.gradle 파일의 사용자 정의 가능한 버전이다. 이 파일에는 애플리케이션에 필요한 외부 종속성을 해결하기 위한 아티팩트 저장소 선언이 포함되어 있다.
  • Custom Proguard File: proguard.txt 파일의 사용자 정의 가능한 버전이다. 이 파일에는 축소 프로세스에 대한 구성 설정이 포함되어 있다. 축소로 인해 유지해야 하는 일부 Java 코드가 제거되는 경우 해당 코드를 이 파일에 유지하는 규칙을 추가해야 한다.

축소(Minify)

    축소는 애플리케이션의 코드를 축소, 난독화 및 최적화하는 프로세스이다. 이를 통해 코드 크기를 줄이고, 코드를 분해하기 어렵게 만들 수 있다. Minify 설정을 사용하여 Unity가 빌드에 축소를 적용할 시기와 방법을 정의한다. 대개의 경우 디버그 빌드가 아니라 릴리스 빌드에만 축소를 적용하는 것이 좋다. 축소 프로세스는 시간이 다소 걸리고 빌드 속도가 느려질 수 있기 때문이다. 또한 코드가 수행하는 최적화로 인해 디버깅이 더 복잡해질 수 있다. Minify 섹션의 설정은 현재 프로젝트의 빌드 프로세스에만 적용된다.

  • Release: Unity가 릴리스 빌드에서 애플리케이션 코드를 축소하도록 만들려면 이 체크박스를 활성화한다.
  • Debug: Unity가 디버그 빌드에서 애플리케이션 코드를 축소하도록 만들려면 이 체크박스를 활성화한다.

iOS

아이콘(Icon)

  • Application icons: 애플리케이션의 기본 디바이스 아이콘이다.(아이폰/ 아이패드: 180 * 180, 120 * 120 / 167 * 167, 152 * 152, 76 *76)
  • Spotlight icons: 스포트라이트 검색 결과에 나타나는 아이콘이다. (아이폰/ 아이패드:  120 * 120, 80 * 80 / 80* 80, 40 * 40)
  • Settings icons: 기기의 기본 설정 페이지에 표시되는 아이콘이다. (아이폰/ 아이패드: 87 * 87, 58 * 58, 29 * 29 / 58 * 58, 29 * 29)
  • Notification icons: 애플리케이션에서 보낸 알림에 표시되는 아이콘이다. (아이폰/ 아이패드: 60 * 60, 40 * 40 / 40 * 40. 20 * 20)
  • Marketing icons: Apple App Store에서 사용할 아이콘이다. (1024 * 1024)

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

Resolution Scaling

  • Resolution Scaling Mode애플리케이션이 해상도를 스케일 할지 여부와 방법을 지정한다. 스케일링을 네이티브 화면 해상도와 같거나 낮게 설정할 수 있다. 낮은 해상도를 사용하면 성능과 배터리 수명을 향상시킬 수 있다.
    • Disabled해상도 스케일링을 적용하지 않고 애플리케이션이 기기의 네이티브 화면 해상도로 렌더링 된다.
    • FixedDPI: 대상 DPI를 사용하여 해상도 배율을 적용한다. 이를 사용하여 성능과 배터리 수명을 최적화하거나 특정 DPI 설정을 목표로 삼는다.
  • Reset resolution on window resize: 기본 창 크기가 변경될 때 화면 해상도를 새 기본 창 크기로 설정할지 여부를 나타낸다. 해상도 스케일링 모드를 고정 DPI(Ficed DPI)로 설정하면 Unity는 고정 DPI 속성을 기반으로 해상도를 다시 계산한다.

Orientation

  • Default Orientation애플리케이션에서 사용하는 화면 방향을 지정한다.(Unity는 사용자가 설정한 값을 Android와 iOS 간에 공유한다.)
    • Portrait: 애플리케이션의 창 하단과 기기의 화면 하단이 정렬되는 세로 화면 방향을 애플리케이션에서 사용한다.
    • Portrait Upside Down: 애플리케이션의 창 하단과 기기의 화면 상단이 정렬되는 세로 화면 방향을 애플리케이션에서 사용한다.
    • Landscape Right: 애플리케이션의 창 우측과 기기의 화면 하단이 정렬되는 가로 화면 방향을 애플리케이션에서 사용한다.
    • Landscape Left: 애플리케이션의 창 우측과 기기의 화면 상단이 정렬되는 가로 화면 방향을 애플리케이션에서 사용한다.
    • Auto Rotation: Allowed Orientations for Auto Rotation 섹션에서 지정한 방향으로 화면을 회전할 수 있다.

Allowed Orientations for Auto Rotation

  • Portrait애플리케이션의 창 하단과 기기의 화면 하단이 정렬되는 세로 화면 방향을 애플리케이션에서 지원하는지 여부를 나타낸다.
  • Portrait Upside Down애플리케이션의 창 하단과 기기의 화면 상단이 정렬되는 세로 화면 방향을 애플리케이션에서 지원하는지 여부를 나타낸다.
  • Landscape Right애플리케이션의 창 우측과 기기의 화면 하단이 정렬되는 가로 화면 방향을 애플리케이션에서 지원하는지 여부를 나타낸다.
  • Landscape Left애플리케이션의 창 우측과 기기의 화면 상단이 정렬되는 가로 화면 방향을 애플리케이션에서 지원하는지 여부를 나타낸다.

Multitasking Support

    애플리케이션을 전체 화면 모드에서 실행해야 하는 경우 Requires Fullscreen 옵션을 활성화하면 된다.

Status Bar

  • Status Bar Hidden: 애플리케이션이 시작될 때 상태 표시줄을 숨긴다.
  • Status Bar Style: 애플리케이션이 시작될 때 상태 표시줄의 스타일을 정의한다.
  • Disable Depth and Stencil: 깊이 및 스텐실 버퍼를 비활성화한다.
  • Render Over Native UI: 애플리케이션이 기본 iOS UI 위에 렌더링되도록 강제힌다.
  • Show Loading Indicator: 로딩 표시가 나타나는지 여부와 표시 방법을 지정한다.
    • Don’t Show: 로딩 표시를 나타내지 않는다.
    • White Large: 커다란 흰색 로딩 표시기가 나타낸다.
    • White: 흰색 로딩 표시가 나타낸다.
    • Gray: 회색 로딩 표시기가 나타낸다.

디버깅 및 크래시 보고(Debugging and Crash Reporting)

Debugging

  • Enable Intermal Profiler(Deprecated): 이 기능은 더 이상 사용되지 않으며 향후 Unity 버전에서는 제거될 예정이다. 대신 프로파일러 창을 사용한다. 프로파일러는 애플리케이션 성능 데이터를 수집하고 콘솔에 보고서를 인쇄한다. 보고서에는 각 Unity 하위 시스템이 각 프레임을 실행하는 데 걸리는 시간(30개 프레임의 평균)이 나와 있다.

Crash Reporting

  • On .Net UnhandledException: .NET 처리되지 않은 예외가 발생할 때 Unity가 수행하는 작업을 선택한다.
    • Crash: 응용 프로그램이 충돌하는 경우 사용자가 iTunes에 제출할 수 있고 개발자가 충돌 문제를 해결하는 데 사용할 수 있는 충돌 보고서를 생성한다.
    • Silent Exit: 응용프로그램이 오류 없이 종료되고 충돌 보고서가 생성되지 않는다.
  • Log Obj-C Uncaught Exceptions: Objective-C Uncaught Exception 정보를 콘솔에 인쇄한다.
  • Enable Crash Report API: 충돌을 포착하려면 사용자 정의 충돌 보고 기능을 활성화하면 된다. 스크립트를 사용하여 CrashReport API를 통해 충돌 로그에 액세스할 수 있다.

주섬주섬

  • 유니티 버전에 따라 위나 아래 참조에 해당되지 않은 기능이 있거나 없을 수도 있다. 블로그를 올린 기준 가능한 최신 버전을 참고하였다.
  • 모바일 부분은 컴퓨터와 중복 시 생략하였다.
  • 특히, 모바일의 Orientation을 잘 설정하자.

참고

 

스플래시 이미지 플레이어 설정 - Unity 매뉴얼

Player 설정 창의 Splash Image 섹션(메뉴: Edit > Project Settings > Player > Splash Image)에서 프로젝트의 스플래시 화면을 설정할 수 있습니다. 애플리케이션이 시작되면 스플래시 화면이 표시됩니다.

docs.unity3d.com

 

플레이어 - Unity 매뉴얼

Player 설정을 사용하여 Unity로 빌드된 게임 최종본의 여러 옵션을 설정할 수 있습니다.

docs.unity3d.com

 

플레이어 - Unity 매뉴얼

Player 설정 창(메뉴: Edit > Project Settings > Player)에는 Unity가 최종 애플리케이션을 빌드하고 표시하는 방법을 결정하는 설정이 포함되어 있습니다. PlayerSettings API를 사용하여 이 창에서 사용할 수 있

docs.unity3d.com

 

반응형

'Unity > 세팅' 카테고리의 다른 글

유니티 빌드 세팅(Build Settings)  (0) 2023.10.31

댓글