Plugin 만들기
Blueprint Library
1. Edit -> Plugin -> +Add -> 플러그인 종류 선택(Blueprint Library) -> 생성
2. visual studio에 project/plugins/source/{플러그인 이름}/public(private)에 [ {플러그인 이름}.h / {플러그인 이름}.cpp ], [ {플러그인 이름}BPLibrary.h / {플러그인 이름}BPLibrary.cpp ], 이렇게 총 4개의 파일이 생성
3. {플러그인 이름}BPLibrary.h / {플러그인 이름}BPLibrary.cpp 파일에 함수 구현
- ※ 주의 : .cpp 파일을 보면 생성자가 있어서, .h 파일에 생성자를 선언하니까 빌드 에러 발생함
4. 에디터로 돌아가서 Plugins 탭 -> PROJECT -> Other -> 플러그인의 Package 클릭 -> 경로 설정
5. 완성
GameInstance Subsystem 추가
만약 플러그 인에 뭔가 데이터를 저장을 한다고 가정했을 때, 프로그램이 실행이 되다가 다른 레벨로 넘어가면 이 데이터가 사라짐
=> Plugin에 GameInstance Subsystem를 만들고, 여기에 데이터를 저장한다면 레벨이 바뀌어도 데이터를 계속 유지할 수 있음
(Blueprint Library로 만들어도 함수랑 변수들이 static이어야만 하니까, 레벨이 바뀌어도 데이터가 유지됨)
GameInstance Subsystem 클래스 추가

클래스 경로를 지정할 때 프로젝트 이름을 가진 폴더가 아니라, 플러그 인 폴더로 지정해야함

레벨 블루프린트
결과
- Blueprint Library
- GameInstance Subsystem
참조
1. https://dev.epicgames.com/documentation/ko-kr/unreal-engine/plugins-in-unreal-engine
2. https://dev.epicgames.com/documentation/ko-kr/unreal-engine/programming-subsystems-in-unreal-engine
3. 블루프린트 펑션 라이브러리