본문 바로가기
Unreal 게임 개발/Unreal 강의 개인 정리

Unreal Build System

by daisy0461 2024. 4. 14.

Unreal Engine

  • 게임 제작을 위해 에픽 게임즈가 제공하는 제작 도구
  • Unreal Engin 구성
    Editor: 게임 제작을 위해 제공되는 응용 프로그램 (일반적으로 인식하는 Unreal Engine)
    Game Build: EXE File과 리소스로 이루어진 독립적으로 동작하는 게임 클라이언트
  • Unreal Editor 특징
    게임 개발 작업을 위한 다양한 폴더와 파일 이름 규칙이 미리 설정되어 있다.
    정해진 규칙을 잘 파악하고 프로젝트 폴더와 파일을 설정해야한다.
  • Editor에서 기획 및 개발을 완료한 후, 게임 빌드를 통해 최종 Game Build를 제작하도록 설정

 

Unreal Editor

Unreal Editor 실행 방법

  • 프로젝트 폴더의 uproject를 더블클릭하면 에디터가 트리거 된다.

Editor 실행 방식

  • uproject 확장자는 윈도우 레지스트리에 등록되어 있다.
  • UnrealVersionSelector 프로그램으로 프로젝트 정보가 넘겨진다.
  • UnrealVersionSelector는 런처가 저장한 에디터 정보로부터 버전에 맞는 에디터를 실행한다.
    그렇다면 UnrealVersionSelector는 어떻게 어떤 Version이 설치되어있는지 알 수 있을까?
    -> Epic Game Launcher에 해당 정보가 들어가있다. - projectName.uproject라는 text file에 있다.

Unreal C++ Module

  • Unreal Engine의 소스코드는 모두 Module(모듈) 단위로 구성되어 있다.
  • 모듈을 컴파일함으로서 에디터 및 게임에 우리가 제작한 로직을 공급할 수 있다.
  • 모듈 단위로 구성된 C++ 소스 코드 컴파일 시 결과물
    1. 에디터 용 DLL 동적라이브러리
    2. 게임 용 정적라이브러리
  • 에디터 용 모듈 이름은 항상 UnrealEditor-{모듈이름}.DLL이라는 규칙을 가지고 있다.

Unreal C++ Module 추가

  • C++로 제작한 에디터 모듈(DLL 동적라이브러리)을 빌드 폴더에 넣어줘야한다.
    Windows의 경우 Binaries/Win64 폴더에 해당 DLL을 넣어야한다.
    빌드된 모듈 독록이 있는 UnrealEditor.modules file도 같은 폴더에 넣어줘야 인식된다.
  • uproject를 txt로 변환 후 모듈 이름을 지정하고 Editor를 실행하면 모듈이 추가가 된다.

 

C++ Module 관리

  • Unreal Project가 소스 코드를 관리하는 규칙에 따라 소스 코드 구조를 구성해야한다.
    왜냐면 소스 코드가 win, mac 등 멀티 플랫폼 빌드 시스템을 지원하기 위해 특정 프로그램에 종속되어있지 않고
    Unreal Build Tool이라는 C# 프로그램에 의해서 Build되기 때문이다.
  • Unreal Build Tool은 Source폴더에 지정된 규칙대로 소스를 넣으면 플랫폼에 맟줘서 알아서 컴파일을 진행한다.

Source 폴더 구조

 

'Unreal 게임 개발 > Unreal 강의 개인 정리' 카테고리의 다른 글

Unreal GAS (Gameplay Ablility System)  (1) 2024.04.26
Unreal Package & Asset  (0) 2024.01.12
Unreal 직렬화  (0) 2024.01.08
Unreal 메모리 관리 (GC)  (0) 2024.01.03
Unreal Struct & Map  (0) 2024.01.03