unreal 5기

251201 언리얼엔진 본캠프 78일차 언리얼 모듈과 플러그인

parkjinnam 2025. 12. 1. 20:00

모듈과 플러그인

언리얼 엔진을 이용한 프로젝트를 진행하다 보면 모듈과 플러그인에 대해서 잘 알아야 효율적인 작업이 가능하다. 모듈은 언리얼에서의 가장 작은 단위의 블록이라 볼 수 있고 플러그인은 특정한 기능을 수행하는 한 덩어리로 볼 수 있다. 오늘은 모듈과 플러그인에 대해서 자세하게 알아보고자 한다.

 

모듈(Module)

모듈은 언리얼 엔진 C++코드의 기본 구성단위라고 할 수 있다. 우리가 다루는 언리얼 엔진 자체도 이러한 모듈이 수백개들이 모여 이루어져 있으며 우리가 만드는 프로젝트도 하나의 모듈이 될 수 있다.

젤 상위의 JY 또한 하나의 모듈이다.

 

모듈을 구분하는 가장 쉬운 방법은 해당 폴더의 Build.cs가 존재하는지 여부로 보면 된다. 이 Build.cs가 모듈의 핵심이라고 할 수 있다. Build.cs에는 해당 모듈이 어떠한 다른 모듈을 필요로 하는지에 대한 정보를 포함하고 있다. 이러한 모듈을 활용하면 관련된 클래스들을 하나로 묶어 관리할 수 있으며 코드를 분리하면 변경된 모듈만 다시 컴파일하면 되기 때문에 빌드 시간이 단축된다.

 

플러그인(Plugin)

플러그인은 사실 여러 게임을 해본 사람이라면 익히 들어봤을 단어이긴 하다. 대략적인 느낌으로는 무언가 기능을 추가해 주거나 성능 최적화를 해주는 등 다양한 혜택을 제공해 주는 것으로 기억하고 있었다. 언리얼에서의 플러그인은 하나 이상의 모듈과 콘텐츠 에셋을 포함할 수 있는 독립적인 패키지다. 비단 하나의 프로젝트뿐만이 아니라 다른 프로젝트에서도 기능을 공유하거나 키거나 끌 수 있는 옵션을 만들 때 사용한다. 플러그인 폴더만 복사만 하면 다른 프로젝트에서도 바로 기능을 사용할 수 있으며 엔진 코드를 직접 수정하지 않고 엔진의 기능을 확장할 수 있다. 또한 C++코드뿐만 아닌 블루프린트, 텍스처, 메터리얼 등의 콘텐츠도 포함 가능하다. 모듈에서는 Build.cs로 구분할 수 있었듯 플러그인에서는. uplugin이라는 설명 파일이 있어야 한다.

 

언리얼 엔진의 기본적으로 들어있는 플러그인, 내부에 모듈도 존재하는 것이 확인 가능하다.

 

. uplugin에는 해당 플러그인의 정보와 포함된 모듈이 무엇인지 정의하는 내용을 포함한다.

 

언제 무엇을 사용하는게 좋을까?

간단하게 말해서 게임 로직과 에디터용 로직을 분리하고 싶을 때, 프로젝트의 컴파일 시간이 너무 길어져서 코드를 논리적인 단위로 쪼개고 싶을 때는 모듈을 활용하는 것이 좋으며 다른 프로젝트에서도 특정 기능을 사용하고 싶을 때, 자신이 만든 기능을 마켓플레이스와 같은 곳에 공유하고 싶을 때, 팀원에게 해당 폴더만 넣으면 작동한다며 기능을 전달하고 싶을 때 플러그인을 사용하면 좋다.