다른 객체에 대해 직접적인 참조를 가지며 해당 객체를 로드할 때 함계 로드되는 방식

- Size Map을 통해서 하드 참조 했을때의 사용 메모리 확인 가능
- SizeMap을 보면 TestActor를 호출하는데 BP_ThirdPersonCharacter도 같이 호출되어 불필요한 메모리 낭비가 일어나고 있다.
블루프린트에서 한 블루프린트가 다른 블루프린트의 함수나 변수에 접근하려면, 해당 블루프린트가 먼저 로드되어야 합니다. 이를 피하기 위해 일부 개발자들은 블루프린트에서 캐스팅을 절대 사용하지 말고 항상 인터페이스(interface)를 사용하라고 주장한다.
하지만 사실, 캐스팅 자체는 성능적으로 큰 부담이 되지 않습니다. 문제는 비용이 높은 블루프린트에 캐스팅할 때 발생합니다. 캐스팅 대상이 Native C++ 클래스나 저비용 부모 클래스라면 하드 참조 문제를 피할 수 있다.
객체의 경로만 참조하며, 객체 자체는 필요할 때 수동으로 로드되는 방식
| Hard Reference | Soft Reference | |
|---|---|---|
| 특징 | 직접 참조, 즉시 로드 | 경로 참조, 수동 로드 |
| 장점 | 코드 단순, 로드 관리 불필요 | 메모리 절약, 필요할 때만 로드 |
| 단점 | 메모리 낭비, 긴 로딩 시간 | 코드 복잡, 로드 타이밍 문제 |
| 사용 | 핵심 자산(Key Asset) | 비핵심 자산 |