안동민 개발노트

본문 시작

프로젝트 설정과 기본 옵션

입력·렌더링·맵·패키징·플랫폼에 적용되는 프로젝트 설정을 구분하고 팀과 빌드가 공유할 기준값을 정합니다.

개인 작업 편의 설정을 마쳤다면, 이제 프로젝트 전체 규칙을 고정할 단계입니다.

Editor Preferences가 에디터 전체 동작을 바꾸는 영역이라면, Project Settings는 현재 프로젝트의 입력, 렌더링, 패키징 같은 핵심 규칙을 결정하는 영역입니다.

이 설정을 정확히 이해해야 팀 작업과 빌드 결과를 일관되게 유지할 수 있습니다.

이번 절에서는 프로젝트 기준값을 안정적으로 잡는 데 필요한 핵심 옵션을 다룹니다.


프로젝트 설정(Project Settings) 창 열기

프로젝트 설정은 렌더링, 입력, 맵, 플랫폼 옵션이 서로 영향을 주기 때문에 기준을 잡고 확인해야 합니다.

표시되는 항목은 버전·플러그인·대상 플랫폼에 따라 달라집니다. 설정 창의 검색을 이용해 이름을 찾습니다.

프로젝트 설정 창은 에디터 환경설정 창과 유사하게 접근할 수 있습니다.

프로젝트 설정 창 열기
  • 에디터 상단 메뉴에서 편집(Edit) > 프로젝트 설정(Project Settings)을 클릭합니다.
  • 새로운 프로젝트 설정 창이 나타날 것입니다.

주요 설정 항목 탐색 프로젝트 설정 창도 좌측에 다양한 카테고리가 나열되어 있습니다.

이 중 게임 개발에 있어 특히 중요하게 다뤄지는 항목들을 중심으로 살펴보겠습니다.

프로젝트 (Project)

  • Description (설명)
    • Project Name (프로젝트 이름): 현재 프로젝트의 이름입니다.
    • Project Version (프로젝트 버전): 프로젝트의 버전을 관리합니다.
    • Description (설명): 프로젝트에 대한 간단한 설명을 작성합니다.
    • Homepage (홈페이지): 프로젝트 관련 웹사이트 주소를 입력할 수 있습니다.
    • Licensing (라이선싱): 프로젝트의 라이선스 정보를 설정합니다.
  • Maps & Modes (맵 & 모드)
    • Default Maps (기본 맵)
      • Editor Startup Map (에디터 시작 맵): 언리얼 에디터를 실행했을 때 기본적으로 열리는 맵을 설정합니다.
      • Game Default Map (게임 기본 맵): 별도로 맵을 지정하지 않았을 때 로드할 기본 맵입니다. 현재 열린 레벨을 실행하는 PIE와 구분하며, Editor Startup Map과 같을 필요는 없습니다.
    • Default Modes (기본 모드)
      • Default Game Mode (기본 게임 모드): 다른 방식으로 지정하지 않았을 때 사용할 GameMode 클래스입니다. Pawn, PlayerController, HUD 등의 기본 클래스를 정하며, 맵별 설정 등으로 재정의할 수 있습니다.
  • Packaging (패키징)
    • Build Configuration (빌드 구성): 게임을 최종적으로 빌드(패키징)할 때의 구성을 설정합니다. 개발(Development), 배포(Shipping) 등이 있습니다. Shipping은 배포를 위한 구성으로 디버깅·개발 기능이 제한됩니다. 최종 용량과 속도는 콘텐츠·쿠킹·압축과 실행 환경에 따라 달라집니다.
    • 대상 플랫폼: 실제 패키징 대상은 에디터의 Platforms 메뉴 등에서 선택합니다. 필요한 플랫폼 구성 요소와 SDK가 설치되어 있어야 합니다.
    • Project (프로젝트): 패키징 시 포함될 콘텐츠나 제외될 콘텐츠 등을 설정할 수 있습니다.
  • Supported Platforms (지원 플랫폼): 프로젝트가 지원할 플랫폼을 명시적으로 선택합니다. 지원 대상으로 지정하지 않은 플랫폼에서 패키징·실행·쿠킹을 시도하면 경고가 나타납니다. 이 목록 선택만으로 SDK와 빌드 환경이 준비되지는 않습니다.

엔진 (Engine)

  • Rendering (렌더링)
    • Default Postprocessing Settings (기본 후처리 설정): 씬의 전반적인 시각 효과(노출, 색상 보정, 블룸 등)에 대한 기본값을 설정합니다.
    • Quality (품질): 렌더링 품질을 조절하는 다양한 옵션이 있습니다. (예: 그림자 품질, 안티-에일리어싱 등) 프로젝트의 목표 성능과 시각적 품질 사이의 균형을 맞출 때 중요합니다.
    • Global Illumination (전역 조명): 씬 전체의 간접 조명 처리 방식을 설정합니다. Lumen, Screen Space GI 등 다양한 옵션이 있습니다.
    • Reflections (반사): 반사 품질 및 방식을 설정합니다.
    • Shadows (그림자): 그림자의 품질, 해상도 등을 설정합니다.
  • Input (입력)
    • Bindings (기존 입력 시스템)
      • Action Mappings (액션 매핑): 특정 키(예: Spacebar)나 마우스 버튼을 누르거나 뗄 때 발생하는 이벤트(예: Jump)를 정의합니다.
      • Axis Mappings (축 매핑): 아날로그 입력(예: 조이스틱 기울기, 마우스 이동)에 따라 연속적인 값(예: MoveForward)을 정의합니다. 플레이어의 이동이나 카메라 회전과 같은 연속적인 입력에 사용됩니다.
    • Enhanced Input: 이 방식을 사용하는 프로젝트는 Input Action과 Input Mapping Context 에셋을 만들고, 플레이어에 컨텍스트를 적용해 입력을 처리합니다. 기존 Action/Axis Mappings에 항목을 추가하는 것만으로 같은 구성이 되지는 않습니다.
    • Mouse Properties (마우스 속성): 해당 입력 시스템의 마우스 속성을 확인합니다. 에디터 비행 카메라 감도와 게임 입력 감도는 별개입니다.
  • Collision (충돌): 충돌 채널과 프로파일의 기본 응답을 정합니다. 기존 액터·블루프린트의 동작에 영향을 줄 수 있으므로 변경 후 해당 상호작용을 확인합니다.
  • Physics (물리)
    • Physics Settings (물리 설정): 프로젝트 전반의 물리 시뮬레이션(중력, 마찰, 충돌 등)에 대한 기본값을 설정합니다.
  • Navigation Mesh (내비게이션 메시)
    • Runtime Generation (런타임 생성): AI 캐릭터가 이동할 수 있는 영역을 나타내는 내비게이션 메시를 런타임에 생성할지 여부와 관련 설정을 합니다.

게임 실행·UI·현지화

  • Game Instance Class: Project > Maps & Modes에서 설정합니다. 실행 중 맵을 전환해도 유지되는 객체이며, 프로그램 종료 뒤의 영구 저장을 대신하지 않습니다.
  • UI 폰트: 위젯의 텍스트와 폰트 에셋에서 지정합니다. 모든 UI를 바꾸는 공통 Game > UI > Default Font 항목이 있다고 가정하지 않습니다.
  • 현지화: Localization Dashboard에서 번역 대상을 관리하고, Packaging의 포함 언어·현지화 데이터 설정을 함께 확인합니다.

프로젝트 설정 변경 시 주의사항

  • 프로젝트에만 적용: 프로젝트 설정에서 변경하는 내용은 현재 열려있는 프로젝트에만 적용되며, 다른 프로젝트나 언리얼 에디터 자체의 전역 설정에는 영향을 미치지 않습니다.
  • 재시작 필요: 일부 설정(특히 렌더링이나 패키징 관련)은 변경 후 에디터를 재시작해야만 적용될 수 있습니다.
  • 성능 영향: 렌더링 품질이나 물리 설정 등은 게임의 성능에 직접적인 영향을 미칩니다. 목표 플랫폼의 사양을 고려하여 적절하게 설정해야 합니다. 개발 초기부터 목표 플랫폼과 성능 예산을 정하고, 실제 기기에서 비용을 확인합니다.
  • 변경 기록: 중요한 설정 변경 전 백업이나 소스 관리 상태를 확인합니다. 공유할 Config·에셋 변경과 이유를 기록하고, 재시작 후 실행과 패키징 결과를 확인합니다. 동적으로 읽는 에셋은 쿠킹 대상에 포함되는지도 확인합니다.

주요 옵션 활용 예시

  • 게임 시작 맵 변경: 게임의 시작 지점을 변경하고 싶을 때 Maps & Modes에서 Game Default Map을 새로운 맵으로 변경합니다.
  • 입력 설정: 플레이어가 특정 키를 눌렀을 때 캐릭터가 점프하거나, 마우스 이동에 따라 카메라가 회전하도록 설정하려면 프로젝트가 사용하는 입력 시스템을 확인합니다. 기존 Input은 Action/Axis Mappings를, Enhanced Input은 액션·매핑 컨텍스트·입력 처리 연결을 설정합니다.
  • 모바일 최적화: 모바일 게임을 만들 경우, 플랫폼별 SDK와 프로젝트의 Android/iOS 설정을 준비하고, Rendering 섹션에서 모바일 렌더링 관련 옵션들을 조절하여 성능을 최적화해야 합니다.

이제는 언리얼 에디터의 기본적인 환경설정뿐만 아니라, 현재 작업 중인 프로젝트의 핵심적인 동작 방식을 정의하는 프로젝트 설정에 대해서도 이해하게 되었습니다.

이 두 가지 설정은 언리얼 엔진으로 여러분의 아이디어를 구현하는 데 있어 매우 중요한 기반이 됩니다.

다음 절부터는 본격적으로 언리얼 엔진의 3D 공간인 레벨에서 오브젝트를 배치하고, 빛을 설정하며, 기본적인 게임 환경을 구성하는 방법에 대해 학습할 것입니다.