Unreal Engine 플러그인 구조

언리얼 엔진에서 플러그인을 제공하고 있다.
플러그인 용도는 핵심적인 부분이 있어서 비즈니스 모델에도 포함되기도 한다.
게임 개발을 언리얼 엔진으로 사용하면 플러그인은 사용에 피할 수 없다.

여기서는 플러그인을 간단하게 만들어보고 구조에 대해서 학습해보도록 한다.

플러그인 주 용도

  • 카메라
  • 캐릭터 상호작용
  • 캐릭터 스테이터스
  • 캐릭터 아바타 스킨
  • 새로운 몹
  • 새로운 액션
  • DLC 구성 등등

플러그인 개발의 구성 요소

  • c++
  • 블루프린트
  • Assets

언리얼 엔진 Module과 다르게 블루프린트와 Assets를 포함할 수 있다.

💡
여기서는 언리얼 엔진 Lyra 소스코드로 사용하고 있다.

에디터 플러그인 구성 요소 보기

Plugin 은 Module과 유사한 구조이다.
그리고 본인의 언리얼 엔진 에디터에서 플러그인이 안보이는데, 설정을 해주어야 했다.

  • 먼저 엔진의 Content Browser 를 열어주어야한다.
    • Content Browser 도 안보이면 에디터 상단 탭 [Windows] > [Content Browser] 가 있다. 임의로 선택하면 Content Browser를 열 수 있다.
  • Content Browser 덱 좌측 LNB 메뉴에 본인의 프로젝트 명이 있다. Plugins 가 있는지 확인 해보도록 한다.
    • 보이지 않는 경우 Content Browser 덱 우측 Settings 톱니바퀴를 클릭하여 [Show Plugin Content]를 체크하도록 한다.

에디터 Plugin 팝업 열기

  • 상단의 Edit > Plugins 를 클릭하면 팝업을 열 수 있다.

사용자 정의 Plugin 추가하기

  • 열린 플러그인 팝업에서 [+Add] 를 클릭 해주도록 한다.
  • New Plugin 팝업 전체화면을 확인할 수 있다.
  • 템플릿을 Blank 으로 선택하도록 한다.
  • Descriptor Data 항목을 아무거나 채워놓도록 한다.
  • 경로 오른쪽에 플러그인 이름을 지정할 수 있다. 본인은 "LearnPlugin" 이름으로 생성할 것이다.
  • [Create Plugin] 버튼으로 플러그인을 생성한다.
  • 에디터가 종료되고 Visual Studio 에서 변동사항을 확인되었다고 리로드 하라고 안내 한다. 이제 Reload All 버튼으로 선택한다.
  • Visual Studio 솔루션 탐색기에서 {My Project} > Plugin > {My Plugin} 이름으로 자동으로 생성된 모습을 확인할 수 있다.
/.
│ ... 
│ ...
├─Plugins
│  ├─LearnPlugin
│  │  │  LearnPlugin.uplugin
│  │  │  
│  │  ├─Binaries
│  │  │  └─Win64
│  │  │          ...
│  │  │          
│  │  ├─Content
│  │  ├─Intermediate
│  │  │  └─Build
│  │  │      ├─BuildRules
│  │  │      │      ...
│  │  │      │      
│  │  │      └─Win64
│  │  │          └─x64
│  │  │              └─UnrealEditor
│  │  │                  └─Development
│  │  │                      └─LearnPlugin
│  │  │                          │  ...
│  │  │                          │  ...
│  │  ├─Resources
│  │  │      Icon128.png
│  │  │      
│  │  └─Source
│  │      └─LearnPlugin
│  │          │  LearnPlugin.Build.cs
│  │          │  
│  │          ├─Private
│  │          │      LearnPlugin.cpp
│  │          │      
│  │          └─Public
│  │                  LearnPlugin.h
│  │ 
│  │ ...
│ ...
  • 디렉토리 구조는 다음과 같이 확인할 수 있다. 본인 Plugin 밑에 Source를 바라보면 이전에 학습한 Module과 비슷한 구조란 것을 확인할 수 있다.

새로 생성한 Plugin 적용하기

Visual Studio 에서 다시 언리얼 엔진 에디터로 구동한 다음 Plugins 팝업까지 이동하도록 한다.

  • Content Browser 에서 생성한 "LearnPlugin + Content" 이름으로 확인할 수 있다.
  • Plguins 팝업 좌측 아래에 PROJECT > Other 클릭하면 메인 프레임에서 생성한 LearnPlugin 이 출력된다.
  • 체크 한 후 아래 Restart Now 클릭하면 언리얼 에디터가 재시작되면서 플러그인이 적용된다.

플러그인 적용 되었는지 코드로 확인하기

Visual Studio에서 플러그인이 적용되었는지 확인해보도록 한다.

  • 본인 프로젝트 루트 디렉토리에 {My ProjectName}.uproject 열면 하단에 Plugin이 추가된 것을 확인할 수 있다.

플러그인 삭제하기

  • Visual Studio 편집기에서 {My ProjectName}.uproject 파일을 연 다음 Plugin 항목을 지우고 편집한다.
  • 윈도우 탐색기에서 {My ProjectName} > Plugins > {My Plugin} 해당 플러그인 디렉토리를 삭제한다.
  • 윈도우 탐색기에서 {My ProjectName}.uproject 파일 Shift + 마우스 우클릭하여 Generate Visual Studio project files 선택하여 VS 편집기를 로드한다.