본문 바로가기
Unreal/Base

모듈 만들기

by Pretty Garbage 2019. 9. 5.

외부 모듈을 만들어야하는 경우가 있다. 

 

예를 들어 서브 모듈로서 관리해야되는 경우라던지...

 

몇가지 알아야하는게 있는데

 

일단 서브모듈 자체를 위해서는

 

총 세가지 *.Build.cs, 모듈의 *.h, 모듈의 *.cpp 가 필요하다.

 

첫번째로 모듈의 헤더와 구현부를 정의를 해준다.

헤더파일 정의 예시
구현부 예시

구현부에서 IMPLEMENT_GAME_MODULE을 사용한게 눈에 띄인다.

하나의 프로젝트에서 메인이 될녀석은 위가 아니라 IMPLEMENT_PRIMARY_GAME_MODULE 로 선언해주고

하나의 서브 모듈로 관리될 녀석은 위와 같이 한다.

 

개인적으로 .h 파일에 들어가있는 ModuleManager.h를 왜 인클루드하는가에 대한 의문을 갖고 검색해봤는데

만족스러운 답은 얻지 못했다. 판단하건데 모듈로서 관리할 수 있도록하고 모듈의 상태에 관한 함수들을 가지고있는

헤더파일인걸로 일단 결론을 내림.

 

두번째로 모듈의 Build.cs에서 이 모듈이 어느 경로의 소스코드 범위까지 허용하는지 정해준다.

Build.cs 파일 예시

노란색 줄을 잘못 쳤는데 아래가 아닌 위에 AddRange 에서 경로에 대한 범위를 지정해준다.

 

 

이후 비슷한 방식으로 메인의 Build.cs에도 해당 모듈들의 이름을 등록하여 주고

(AddRange(new string[] { "모듈명",...))

 

역시 비슷한 방식으로 ExtraModuleNames.AddRange에 모듈명을 추가해준다.

 

 

 

'Unreal > Base' 카테고리의 다른 글

로깅을 위한 공용 매크로 설정  (0) 2019.08.29
언리얼 시작  (0) 2018.06.30