UE4

[UE4] 언리얼의 핫리로드(Hot Reload)시스템

Honey Badger 2022. 8. 9. 21:08

모듈(Module)이란 무엇인가?

  모듈이란 프로그램을 구성하는 구성 요소로, 관련된 데이터와 함수를 하나로 묶은 단위를 의미한다. 보통 프로그램 코드를 기능별로 나눠서 독립된 파일에 저장하여 관리하는데 이러한 방식을 모듈화 프로그래밍이라고 한다. 모듈들은 개별적으로 컴파일된 후, 링커에 의해 하나의 실행 파일로 만들어진다. 자세한 내용은 이 블로그를 참고하도록 하자. https://nerdooit.github.io/2020/09/08/cpp_book_2.html

핫리로드(Hot Reload)란 무엇인가?

  언리얼엔진은 유니티와 마찬가지로 핫 리로드를 지원한다. 언리얼 에디터의 실행 중에 에디터가 사용하고 있는 모듈을 컴파일하면 언리얼 에티터는 이를 감지해 기존의 모듈을 내리고 신규 모듈로 바꾸는 작업을 수행한다. 이러한 언리얼 엔진의 동작 방식을 핫 리로드라고 한다. 

 

파일로 확인하기

  모듈을 컴파일할 때마다 만들어지는 새로운 모듈은 기존 모듈을 덮어 쓰지 않고 기존 모듈의 이름 뒤에 숫자를 붙인 새로운 파일로 생성된다. 에디터를 완전히 종료하고 컴파일을 수행하면 생성된 임시 모듈들은 자동으로 제거된다. 이는 프로젝트파일 > Binaries > Win64 에서 확인할 수 있다. 

 

핫리로드의 장단점

  핫 리로드 기능은 계속해서 변화하는 코드를 자동적으로 에디터가 읽어들여 적용해 주므로 상당히 편리한 기능이지만, 앞서 설명한 핫 리로드 방식은 메인모듈(게임플레이 모듈)만 감지한다는 단점이 있다. 따라서 주 모듈이 아닌 모듈의 코드를 수정하거나 생성하였을 때, 이 모듈을 리로드 하기 위해서는 언리얼 에디터>창>개발자툴>모듈 에서 수행할 수 있다.

 

  

'UE4' 카테고리의 다른 글

[UE4] 언리얼 코딩 표준  (0) 2022.09.26
[UE4] GameMode  (0) 2022.09.26
[UE4] 언리얼의 이벤트 함수  (2) 2022.09.26
[이득우 책] CHAPTER 12 오류발견  (0) 2022.08.24
[UE4] LNK2001 LNK2019 ERROR 해결법  (0) 2022.08.11