본문 바로가기

Unreal

언리얼의 모듈이란.. Build.cs Uproject Target.cs

1. 모듈이란

- 내가 느낌상 이해한 것
모듈 : dll 빌드하는 단위.
___ API 단위임 (같은 모듈이면 같은 API)

   이 클래스의 코드는 ubt에 의해서 이 이름의 dll에 뽑힙니다~~

 

 


https://docs.unrealengine.com/4.27/ko/ProgrammingAndScripting/ProgrammingWithCPP/Modules/

 

Unreal Engine Modules

Modules are the building blocks of Unreal Engine's software architecture. You can organize your code into modules to create more efficient and maintainable projects.

docs.unrealengine.com

모듈 : 언리얼 아키텍쳐들을 빌드 하는 기본 단위.

- 툴기능, 런타임기능, 라이브러리 기능 등 독립적으로 캡슐화 가능함. 

* C++20에서의 모듈과 상관 없다.

 

더보기

UBT는 IDE용 솔루션파일이 아니라 모듈 단위로  dll을 뽑는다.

 

(C++20에서는 솔루션파일 단위로 dll 뽑지만, 언리얼 빌드 툴은 그것을 무시한다) 

 

UBT가 모듈을 인식하려면 [ModuleName] 폴더의 루트 디렉터리에

"ModuleRules"를 상속받은 [ModuleName].Build.cs가 필요하다

 

이하 목록에 모듈 이름을 추가하면, 모듈 코드에서 사용할 수 있는 모듈이 설정된다.

PrivateDependencyModuleNames : public .h같이 public으로 사용하는 리스트

PublicDependencyModuleNames : .cpp 같이 private으로 사용하는 리스트

 

언리얼 엔진 모듈은 소프트웨어 아키텍처에서의 기본 구성 요소입니다. 프로젝트를 보다 효율적이고 유지 보수가 가능한 형태로 구성하기 위해 코드를 모듈로 구성할 수 있습니다. 모듈은 특정한 에디터 도구, 런타임 기능, 라이브러리 또는 다른 기능을 독립적인 코드 단위로 캡슐화합니다.

 



플러그인 : 플러그인으로 빠지면
프로젝트 내부로 포함되지 않고(코드를 전처리기에 의해 붙여넣어져서 직접적으로 접근하지 않고)
모듈에서 뽑힌 dll간의 통신으로만 작동함

배포를 위해.



모듈/플러그인 차이

Build.cs : 전처리기 비슷한 것. 모듈에 대한 빌드 규칙

Target.cs : 이 플젝에서 빌드할 모듈 목록. 이만큼 dll이 뽑힌다
PublicDependencyModuleNames
PrivateDependencyModuleNames

 


uproject :
"Modules" : 현재프로젝트에서 불러올 모듈/플러그인 목록 + Type : 불러올 옵션  + AdditoonalDependencies : 의존성을 가지고 있는 다른 모듈. 얘를 부르려면 이 모듈도 불러야 한ㄷ.
ㄴ AdditoonalDependencies 랑 Build.cs의 차이가 아리송하네

\

 

https://lifeisforu.tistory.com/323

'Unreal' 카테고리의 다른 글

캡슐화란 대체 뭘까.. 멍청일기  (1) 2023.07.13