[언리얼 엔진] Unity(엔진X, 빌드방식) 빌드 옵션

2024. 9. 25. 17:15·프로그래밍/언리얼엔진
어두운 배경이 싫으시다면 페이지 우측 하단에 보이는 초승달 모양의 아이콘을 클릭하면 화이트모드로 변경됩니다.
초승달 모양 버튼 : `화이트/다크 모드` 전환
테마모드 변경 가이드

Unity 빌드(Unity 엔진 빌드가 아닙니다!)란 소스파일(cpp) 여러 개를 하나의 cpp로 Include 하여 컴파일 속도를 빠르게 하는 빌드 옵션입니다. 이는 소스 파일이 많아짐에 따라 헤더파일들의 파싱 코스트를 줄이기 위한 목적으로 사용합니다.

 

언리얼 엔진에서는 기본적으로 Unity 빌드를 사용합니다. (정확하지는 않지만 특정 개수의 소스파일 숫자가 되어야만 Unity 빌드가 동작하는 것 같습니다. 자세한 것은 좀 더 찾아보고 수정하겠습니다.)

 

기본적으로 UBT(Unreal Build Tool)에서 프로젝트 모듈의 .cpp 파일들을 모아 하나로 결합합니다. 엔진 빌드 시 적은 수의 파일과 포함 헤더를 처리하므로 시간이 단축되는 효과가 있습니다.

 

다만 소스 변경이 잦고 파일의 양이 많아지는 개발 단계의 경우 Non-Unity 빌드를 우선시 하여 빌드하는 것을 권장합니다.

 

Unity 빌드 자체가 여러 .cpp 파일을 묶어야 하는 작업을 수행하기 때문에 소스코드 한 줄 바뀌면 또 여러 파일을 하나의 .cpp로 묶는 작업을 매번 빌드 시 수행합니다. 그러므로 개발 단계에서 잦은 소스코드 수정이 있을 경우 이 Unity 빌드를 끄는 것이 좋습니다. (즉, 최종 빌드 시에 키면 컴파일 속도를 빠르게 할 수 있다는 의미. 물론 대형프로젝트에 한해서 ^^;;)

 

Build.cs 파일에서 이 설정을 키고 끌 수 있습니다. 아래의 코드를 추가하여 Non-Unity 빌드로 설정할 수 있습니다. (활성화하려면 아래 코드를 주석 처리하면 됩니다.)

 

MinFilesUsingPrecompiledHeader = 1;
#if UE_4_24_OR_LATER
	bUseUnity = false; // 4.24부터 바뀐 변수
#else
	bFasterWithoutUnity = true; // 4.24 이전 버전
#endif

 

🔹정리

- 간단한 모듈 작업 혹은 소스 파일이 적을 때에는 굳이 끄거나 할 필요는 없습니다. 그렇게 시간 차이가 많이 나지는 않는 것 같습니다.

 

- 그리고 Unity 빌드를 통해 cpp를 통합하는 과정에서 하나의 파일로 만들어지기 때문에 여러 가지 문제점이 발생할 수 있습니다. 대표적인 것이 전역변수, #define, namespace 등 겹치거나 할 경우 이를 구분 지어 주어야 합니다.


구독 및 좋아요는 컨텐츠를 생산하는데 많은 도움이 됩니다. 😊

감사합니다.

저작자표시 비영리 변경금지 (새창열림)
'프로그래밍/언리얼엔진' 카테고리의 다른 글
  • [언리얼 엔진] 플러그인 생성 및 사용 방법 - 02. 플러그인 모듈 분리작업
  • [언리얼 엔진] 플러그인 생성 및 사용 방법 - 01. 플러그인 생성하기
  • [언리얼 엔진] 프로젝트 구조 및 용량 최적화
  • [언리얼 엔진] IWYU(Include-What-You-Use) 모델 설명
RightNowHJ
RightNowHJ
온갖 잡다한 IT 관련 지식 모아모아 공유하는 블로그 (옛 LeePorter 블로그 이전)
  • RightNowHJ
    잡식성 개발자의 블로그
    RightNowHJ
  • 전체
    오늘
    어제
    • 분류 전체보기 (67)
      • IT 활동 (44)
        • 티스토리 (16)
        • 소프트웨어 (13)
        • AI (15)
      • 프로그래밍 (12)
        • 언리얼엔진 (9)
        • C++ (3)
      • 일상생활 (11)
        • 이슈모아보기 (5)
        • 실생활지식 (5)
        • 재테크 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    부동산
    을사년
    UE5
    AdSense
    AI 이미지
    블로그
    다크모드
    언리얼5
    stable diffusion
    언리얼 엔진
    WEBUI
    Unreal Engine
    sd 1.5
    Meta Quest
    유틸리티
    hELLO 스킨
    티스토리
    메타 퀘스트
    광고
    스테이블 디퓨전
    오블완
    수동 광고
    구글 애드센스
    셀프 등기
    티스토리챌린지
    소프트웨어
    부담부 증여
    Utility
    플러그인
    웹 ui
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
RightNowHJ
[언리얼 엔진] Unity(엔진X, 빌드방식) 빌드 옵션
상단으로

티스토리툴바