[언리얼 엔진] Unity 빌드 옵션

2024. 9. 20. 17:57·프로그래밍/언리얼엔진

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 등 겹치거나 할 경우 이를 구분지어 주어야 합니다.

저작자표시 비영리 변경금지 (새창열림)
'프로그래밍/언리얼엔진' 카테고리의 다른 글
  • [언리얼 엔진] 프로젝트 폴더 구조 및 용량 관리
  • [언리얼 엔진4] Meta Quest2 Build (4.25 이상) - 4
  • [언리얼 엔진4] Meta Quest2 Build (4.25 이상) - 3
  • [언리얼 엔진4] Meta Quest2 Build (4.25 이상) - 2
LeePorter
LeePorter
IT관련 정보(컴퓨터 지식, 프로그래밍, 게임, 하드웨어 등)와 재테크 정보 및 활동을 공유하는 블로그입니다.
  • LeePorter
    Lee포터의 잡학다식코너
    LeePorter
  • 전체
    오늘
    어제
    • 분류 전체보기 (58)
      • 프로그래밍 (15)
        • C언어 (1)
        • 언리얼엔진 (14)
        • 데이터분석 (0)
        • 그 외 기타 (0)
      • 재테크 (9)
        • 주식공부 (5)
        • 종목분석 (0)
        • 종목투자후기 (0)
        • 부동산공부 (4)
        • 짜투리 돈모으기 팁 (0)
      • 게임정보 (8)
        • 게임뉴스_정보 (8)
        • 게임공략 (0)
        • 한글패치 (0)
      • 컴맹탈출 (7)
        • Window 사용법 (0)
        • 리눅스 사용법 (0)
        • 티스토리 (3)
        • 소프트웨어(유틸) (4)
        • 하드웨어 리뷰 (0)
        • 모바일 (0)
      • 일상생활 (19)
        • 미디어 (7)
        • 내돈내산 (0)
        • AI (7)
        • 이슈모아보기 (5)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    에스파
    스테이블 디퓨전
    unreal plugin
    싱크로유
    kbs 싱크로유
    오블완
    티스토리챌린지
    카리나
    Stable Diffusion
    kbs 예능
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
LeePorter
[언리얼 엔진] Unity 빌드 옵션

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.