UE4에선 모듈이라고 라이브러리를 한 프로젝트 내에서 여러 개 생성할 수 있게 해줌. 모듈은 스태틱 라이브러리로도, DLL로도 생성이 가능하다.
Modular 모드
DLL 같은 개념
Monolithic 모드
스태틱 라이브러리 같은 개념
UE4 엔진 모듈 타입
- Developement
개발 도중에만 사용하는 모듈 - Editor
에디터에서만 사용하는 모듈 - Runtime
언제든, 어디에서든 사용 가능한 모듈 - ThirdParty
써드 파티(에픽 게임즈가 코드 작성 안 한) 라이브러리(모듈), 코드
모듈과 플러그인 차이
플러그인은 모듈을 여러 개 가질 수도 있고, 리소스도 따로 가질 수 있음.
즉 모듈은 코드만 있는데 플러그인은 코드랑 리소스 둘 다 가질 수 있다.
플러그인의 모든 코드는 모듈에 포함되야 됨.
UCLASS, UPROPERTY 매크로
모듈에 UCLASS, UPROPERTY 매크로가 있다면
UHT 시리얼라이제이션, 가비지 컬렉션, 런타임 인트로스펙션 등을 제공하는데 필요한 코드를 붙여준다.
Build.cs
Build.cs 파일은 모듈 룰 파일임. 이 파일 디렉토리에 포함되는 파일들은 하나의 모듈이라고 할 수 있음. 여기서 모듈이 생성될 때 어떻게 빌드할지 여러 가지 설정(프로퍼티)를 정해준다. 언리얼 빌드 툴에서 컴파일한다.
(Build.cs 관련 정리한 글 : https://haewoneee.tistory.com/101)
모듈 밖에서 클래스나 함수 접근 방법
*_API 매크로를 통해 노출시켜야 함. 노출되는 항목이 많을수록 컴파일 시간이 길어짐. 클래스에 있는 한 함수에만 접근이 필요하면 함수에만 접근 가능 ㅇㅇ
모듈 API 지정자 문서 : https://docs.unrealengine.com/ko/Programming/Modules/API/index.html
Hot Reload
에디터 실행 중에 필요에 의해서 모듈들을 로드 언로드를 하는 기능.
'공부 > Unreal Engine 4' 카테고리의 다른 글
AOS, IOS 어플의 설치 경로에서 파일 읽어오기 (0) | 2022.09.29 |
---|---|
Build.cs, Target.cs, .uproject, .uplugin 의 사용성 (0) | 2022.08.26 |
언리얼 엔진에서 dll의 사용성 (0) | 2022.08.26 |
Build.cs에서 모듈의 private 폴더 경로 추가 (0) | 2022.08.25 |
World Composition Level Streaming Problem when Teleporting (0) | 2020.11.07 |