[언리얼엔진] 플러그인 제작 및 사용법 - 1. 생성 및 준비단계

2022. 1. 27. 19:39·프로그래밍/언리얼엔진

🔸2024년 10월 추가 설명

현재 블로그 리뉴얼을 위해 새로운 블로그를 개설하여 글을 작성중입니다. 이 포스팅은 'Unreal Engine 4'를 기준으로 설명하고 있으므로 'Unreal Engine 5'에 대한 내용을 참고하고 싶으시다면 아래 링크를 통해 리뉴얼한 내용을 참고하시길 바랍니다.

 

🔸언리얼 엔진5 플러그인 생성방법

 

[언리얼 엔진] 플러그인 생성 및 사용 방법 - 01. 플러그인 생성하기

어두운 배경이 싫으시다면 페이지 우측 하단에 보이는 초승달 모양의 아이콘을 클릭하면 화이트모드로 변경됩니다.초승달 모양 버튼 : `화이트/다크 모드` 전환 이번 포스팅을 통해 언리얼 엔

rightnowhj.tistory.com


 

이번 포스팅에서는 언리얼 엔진에서 사용할 플러그인을 생성하고 사용할 수 있게 준비하는 부분에 대해서 설명하겠습니다.

 

해당 플러그인을 생성한 개발 환경은 아래와 같습니다. (꼭 같을 필요는 없습니다. ^^ 본인의 설치된 환경에서 그대로 진행해주시면 됩니다.)

  • OS : Windows
  • Engine Version : 4.26
  • IDE : Visual Studio 2017 community

프로젝트를 C++ 프로젝트로 생성하고 [편집] - [플러그인]을 선택합니다. 그러면 플러그인 창이 나타나는데 우측 하단에 '새 플러그인' 버튼을 클릭하면 새로운 플러그인을 생성하기 위한 창이 나타납니다.

플러그인 만들기

 

새 플러그인 창에서 '기본' 플러그인을 선택하고 플러그인의 이름을 입력합니다. 그 아래 Descriptor Data는 플러그인 설명이므로 안 적어도 됩니다. (수정은 언제든지 할 수 있습니다) 우측 하단의 '플러그인 생성' 버튼을 클릭하면 플러그인이 만들어집니다. 

C++ 프로젝트에서 플러그인 생성(좌) / 블루프린트 프로젝트에서 플러그인 생성(우)

 
 

플러그인이 만들어지면 Visual Studio가 실행됩니다. 먼저 플러그인에 대한 컴파일이 이루어지고 이를 자동으로 실행하여 솔루션 탐색기를 통해 생성된 플러그인을 확인할 수 있습니다. 플러그인을 만들게 되면 프로젝트가 있는 폴더에 'Plugins' 폴더가 생성되고 방금 생성한 플러그인 이름의 폴더가 있습니다. 

 

여기서 하나 알아두어할 점은 블루프린트 콘텐츠만을 담는 플러그인의 경우, 굳이 C++ 프로젝트를 만들 필요는 없습니다. 위의 우측 이미지처럼 블루프린트 프로젝트를 만들면 플러그인 생성 시 '콘텐츠 전용' 하나만 선택할 수 있습니다.

 

플러그인은 모듈을 감싸고 있는 껍데기입니다. 이 껍데기는 다른 여러 프로젝트에서 사용될 수 있습니다. 플러그인에는 여러 모듈을 넣을 수 있습니다. 이 모듈은 플러그인 폴더의 'Source' 폴더에 존재합니다. 이 소스코드 모듈을 언리얼 프로젝트에서 인식시켜 사용할 수 있도록 해주는 것이 플러그인입니다.

 

즉, 언리얼 엔진은 소스코드를 모듈화하여 빌드하고 로드하여 사용합니다. 플러그인에서 사용하는 모듈과 프로젝트에 사용하는 모듈은 별개로, 각각 빌드하여 모듈을 라이브러리로 만들고 언리얼 엔진 프로젝트 로드할 때 불러옵니다.

플러그인 내부 모듈 폴더 구조 예시 (왼쪽 위부터 시계방향)

 

모듈은 크게 모듈의 이름을 한 헤더(.h) 파일과 소스(.cpp) 파일이 있고, 이들을 빌드시스템(모듈명.Build.cs)을 통해 컴파일하여 라이브러리를 만든 뒤 언리얼 엔진에서 불러와 사용할 수 있게 합니다.

 

아마 C++ 프로젝트를 생성해보았다면 Source 폴더 안에 마찬가지로 프로젝트 이름의 모듈이 있는 것을 확인할 수 있습니다. 이는 프로젝트에서만 사용하는 소스 모듈입니다. 

Plugins 폴더 안에 생성한 플러그인이 들어가 있음

 

플러그인 모듈(TestPlugin)의 Build.cs의 소스코드를 아래와 같이 수정합니다.

using UnrealBuildTool;

public class TestPlugin : ModuleRules
{
	public TestPlugin(ReadOnlyTargetRules Target) : base(Target)
	{
		PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;

		//bFasterWithoutUnity = true;
		MinFilesUsingPrecompiledHeaderOverride = 1;
		bUseUnity = false;

		PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" });

		PublicIncludePaths.AddRange(new string[] { "TestPlugin/Public" });
		PrivateIncludePaths.AddRange(new string[] { "TestPlugin/Private" });
	}
}

 

 

기존 생성자 안에 내용을 지우고 소스코드를 위와 같이 작성합니다. 그리고 프로젝트를 빌드합니다. 

※ 빌드 시 가끔 UE4 프로젝트가 시작프로젝트로 설정되어 있을 수 있으니 꼭 현재 프로젝트(위의 예제로 설명하면 PluginTest)로 시작 프로젝트가 설정되어 있는지 확인하시고 빌드해주세요.

 

컴파일이 완료되면 아래와 같은 로그가 출력됩니다.(정상일 때 예시)

플러그인 모듈 컴파일 성공

 

프로젝트를 빌드하면 플러그인의 컴파일도 같이 수행되므로 이에 따라 라이브러리가 생성됩니다. 물론 이미 플러그인을 생성할 때 언리얼 엔진이 자체적으로 컴파일을 수행하고 플러그인 모듈을 자동 로드합니다. 이를 확인하기 위해 메뉴에서 [창] - [개발자 툴] - [모듈]을 눌러서 플러그인 이름으로 검색하면 확인할 수 있습니다.

 

모듈 탭에서 프로젝트에서 사용하는 모듈을 확인할 수 있음.

 

이제 플러그인을 작업할 준비가 되었습니다. 다음 포스팅에서 C++ 클래스를 생성하여 플러그인을 사용하는 방법에 대해서 설명하겠습니다.

저작자표시 비영리 변경금지 (새창열림)
'프로그래밍/언리얼엔진' 카테고리의 다른 글
  • [언리얼 엔진] Oculus Quest2 준비부터 빌드까지(4.26기준) - 1
  • [언리얼엔진] 플러그인 제작 및 사용법 - 4. 플러그인 빌드 및 배포
  • [언리얼엔진] 플러그인 제작 및 사용법 - 3. 플러그인용 모듈 제작
  • [언리얼엔진] 플러그인 제작 및 사용법 - 2. C++ 클래스 추가
LeePorter
LeePorter
IT관련 정보(컴퓨터 지식, 프로그래밍, 게임, 하드웨어 등)와 재테크 정보 및 활동을 공유하는 블로그입니다.
  • LeePorter
    Lee포터의 잡학다식코너
    LeePorter
  • 전체
    오늘
    어제
    • 분류 전체보기 (58)
      • 프로그래밍 (15)
        • C언어 (1)
        • 언리얼엔진 (14)
        • 데이터분석 (0)
        • 그 외 기타 (0)
      • 재테크 (9)
        • 주식공부 (5)
        • 종목분석 (0)
        • 종목투자후기 (0)
        • 부동산공부 (4)
        • 짜투리 돈모으기 팁 (0)
      • 게임정보 (8)
        • 게임뉴스_정보 (8)
        • 게임공략 (0)
        • 한글패치 (0)
      • 컴맹탈출 (7)
        • Window 사용법 (0)
        • 리눅스 사용법 (0)
        • 티스토리 (3)
        • 소프트웨어(유틸) (4)
        • 하드웨어 리뷰 (0)
        • 모바일 (0)
      • 일상생활 (19)
        • 미디어 (7)
        • 내돈내산 (0)
        • AI (7)
        • 이슈모아보기 (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Stable Diffusion
    스테이블 디퓨전
    싱크로유
    티스토리챌린지
    에스파
    오블완
    unreal plugin
    카리나
    kbs 예능
    kbs 싱크로유
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
LeePorter
[언리얼엔진] 플러그인 제작 및 사용법 - 1. 생성 및 준비단계
상단으로

티스토리툴바