Blueprint Function Library
상태 없는 공용 로직만 전역 함수로 빼낸다
함수 라이브러리는 여러 블루프린트에서 반복 호출하는 작은 유틸리티 함수를 모으는 장소입니다. 액터 인스턴스 상태가 필요하면 각 블루프린트에 남기고, 입력 핀만으로 결과가 정해지면 라이브러리로 분리합니다.
핵심 계약
- 호출
- Target 핀 없이 검색해 사용
- 입력
- 필요한 값은 핀으로 전달
- 반환
- 계산·검증 결과를 출력 핀으로 반환
| 판정 축 | 라이브러리에 둔다 | 블루프린트에 남긴다 | 점검 신호 |
|---|---|---|---|
| 인스턴스 상태 | 월드·컴포넌트 멤버를 읽지 않는다 | 소유 액터의 현재 상태가 필요하다 | Target 핀 없이 설명 가능 |
| 입력·출력 핀 | 입력값만 계산해 결과를 반환한다 | 내부 변수, 타이머, 이벤트에 의존한다 | 핀 이름만 보고 계약이 읽힘 |
| 호출 범위 | 여러 그래프에서 같은 로직을 반복한다 | 한 클래스의 전용 행동이다 | 검색해서 바로 배치할 가치가 있음 |
| 부작용 | 변환, 검증, 수치 계산이 중심이다 | Spawn, Save, UI 변경이 중심이다 | Pure 옵션 검토 대상 |
- 01 클래스 생성 Blueprint Function Library를 선택하고 BFL_ 접두사로 이름을 고정합니다.
- 02 함수 정의 입력 핀과 출력 핀을 먼저 정해 호출 계약을 작게 만듭니다.
- 03 계산 연결 ActorA, ActorB 같은 입력을 계산 노드에 넣고 결과만 반환합니다.
- 04 컴파일 확인 다른 블루프린트에서 검색·호출·반환값 표시까지 확인합니다.
예시로 넣기 좋은 함수
CalculateDistanceBetweenActors처럼 Actor 참조 두 개를 받아 Distance만 반환하는 계산 함수.
넣기 전에 다시 보는 함수
플레이어 상태 변경, UI 갱신, 저장 파일 쓰기처럼 호출 위치의 책임이 강한 함수.