플러그인 패키징과 다른 프로젝트 적용
32강. 플러그인 패키징과 다른 프로젝트 적용
1. 이번 강의에서 해결할 문제
개발 프로젝트 안에서 빌드된 Plugin 폴더에는 기존 프로젝트의 Intermediate, 우연히 존재하는 Module, 로컬 Config가 섞여 있을 수 있습니다. 폴더 복사만 성공했다고 배포 완료로 판단하면 새 프로젝트에서 Missing Module, Header 누락, Content 경로 오류가 발생합니다.
2. 학습 목표
3. 핵심 개념
BuildPlugin은 Plugin을 Host Project 밖의 임시 환경에서 빌드해 누락 의존성을 찾는 데 유용합니다. 하지만 명령 한 번 성공했다고 기능·Cook·실행이 자동으로 증명되는 것은 아닙니다.
- Source 배포: 수신 프로젝트가 자신의 Engine·Target으로 컴파일
- Binary 배포: 지원할 정확한 Engine·플랫폼·구성의 Binary 제공
학습 과정에서는 Source 배포를 기본으로 하고, Binary 배포는 지원 행렬과 재빌드 정책이 준비된 경우에만 선택합니다.
4. 단계별 실습
Editor를 종료하고 Engine의 AutomationTool을 실행합니다.
& "C:\Program Files\Epic Games\UE_5.x\Engine\Build\BatchFiles\RunUAT.bat" `
BuildPlugin `
-Plugin="D:\PluginLab\Plugins\ReusableInteraction\ReusableInteraction.uplugin" `
-Package="D:\PluginPackages\ReusableInteraction" `
-TargetPlatforms=Win64
& "C:\Program Files\Epic Games\UE_5.x\Engine\Build\BatchFiles\RunUAT.bat" `
BuildPlugin `
-Plugin="D:\PluginLab\Plugins\DataGuard\DataGuard.uplugin" `
-Package="D:\PluginPackages\DataGuard" `
-TargetPlatforms=Win64
UE_5.x와 경로는 설치 환경으로 바꿉니다. Engine 버전에 따라 지원 옵션이 달라질 수 있으므로 RunUAT.bat BuildPlugin -Help와 현재 엔진 문서를 확인합니다.
산출물에서 다음을 검사합니다.
ReusableInteraction/
├─ Config/ # 의도한 기본값만
├─ Content/ # CanContainContent=true인 경우
├─ Resources/
├─ Source/ # Source 배포 정책일 때
├─ Binaries/ # Binary 배포 정책일 때
└─ ReusableInteraction.uplugin
그다음 새로 만든 빈 C++ 프로젝트의 Plugins 아래에 두 산출물을 복사합니다. 이미 Plugin을 사용하던 원본 프로젝트는 검증 대상이 아닙니다.
- Project Files를 갱신하고 Editor Target을 전체 빌드
- Plugin 화면에서 두 Plugin 활성화 상태 확인
- Editor 시작 후 Data Guard 메뉴와 Tab 확인
- Pawn에 Interaction Component를 추가해 문 Actor 상호작용 실행
- 잘못된 Blueprint 이름을 만들고 Validator 실행
- Development Game 빌드에서 DataGuardEditor가 제외되는지 확인
- 빈 맵을 Package하고 실행 로그 확인
배포 폴더에서 원본 게임 이름을 검색합니다. 한 건이라도 남아 있으면 프로젝트 결합 원인을 제거합니다.
5. 코드가 동작하는 이유
BuildPlugin의 격리 빌드는 원본 Game Module을 우연히 참조한 Include·Link 관계를 드러냅니다. 빈 C++ 프로젝트 적용은 Descriptor 활성화, Module 컴파일, Content Mount, Config, Runtime 실행, Editor 도구를 수신 환경에서 다시 검증합니다.
6. 자주 하는 실수와 해결법
7. 직접 실습
8. 이해 점검 질문 3개
9. 핵심 요약
플러그인 패키징과 다른 프로젝트 적용 미니 퀴즈
선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.
학습을 마쳤나요?
직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.