[UE5] 언리얼 엔진 총알 충돌 이벤트 실행 안되는 문제 해결

eomcri·2025년 3월 4일

이 글은 총알의 충돌 이벤트가 실행되지 않는 오류가 발생하였을 때 해결한 방법에 대한 내용을 다루고 있습니다.

🎯 문제 상황

언리얼 엔진에서 ABullet 클래스를 AActor 기반으로 구현하면서,
충돌 감지를 위해 다음과 같이 OnHit 함수를 이벤트에 바인딩했다.

CollisionComponent->OnComponentHit.AddDynamic(this, &ABullet::OnHit);

그러나, 함수가 전혀 호출되지 않는 문제가 발생했다.
디버깅을 통해 함수가 실행되지 않는 원인을 찾고자 했으나, 코드 상에는 문제가 없었다.

🔍 블루프린트에서는 정상 작동

  • C++ 코드에서는 OnHit이 호출되지 않음.
  • 블루프린트에서 Hit Event를 활용하면 정상적으로 호출됨을 확인.
  • 즉, 코드보다는 블루프린트와의 연동 문제로 의심됨.

해결 방법

해결 방법은 의외로 간단했다.

✅ 기존 C++ 클래스를 상속받은 BP_Bullet 블루프린트를 삭제하고,
✅ 새로운 블루프린트를 생성하여 동일한 설정을 적용하였더니,
✅ 정상적으로 OnHit 함수가 호출되었다!

배운 점

  1. C++ 코드에 문제가 없는데 이벤트가 호출되지 않는다면, 블루프린트를 의심해볼 것.
  2. 블루프린트는 예상치 못한 이유로 손상될 가능성이 있음.
  • 라이브 코딩(Build & Hot Reload) 과정에서 문제 발생 가능.
  • GitHub을 통한 협업 중 uasset 파일이 충돌하여 손상될 가능성.
  1. 비슷한 문제가 발생하면 새로운 블루프린트를 생성하여 테스트해보는 것도 좋은 방법.
profile
게임 개발자가 꿈인 게이머

0개의 댓글