잘못된 포인터로 인한 언리얼 엔진 크래쉬
문제
언리얼 엔진 실행시 갑자기 Crash 해버리는 상황 발생
트러블슈팅 과정
언리얼 엔진이 갑자기 계속 터져 (Crash)서 처음에는 컴퓨터 문제있은 줄 알았다, 왜냐하면 현재 메모리가 부족하다고 계속 경고창이 떴었기 때문에 (Memory Pressure Warning).

그래서 재부팅도 몇번 했는데 해결 안됐고… 디버깅을 걸어도 엔진이 크래쉬 해버려서 무척 당황했었다.
원인
잘못된 포인터
SpawnActor<AActor> 할 때 처음에 <AActor>가 아니라 특정 Actor로 설정해서 만들었었다. 이때는 당연히 문제없이 잘 가동되었는데… 문제는 이대로 실수로 복붙 해서 사용해서 SpawnActor 가 잘못된 것을 받는 바람에 크래쉬 된 것이었다.
아래처럼 수정하니 정상 작동되었다.
if (RotatingPlatformActor != nullptr)
GetWorld()->SpawnActor<AActor>( RotatingPlatformActor,
SpawnLocation,
SpawnRotation);
느낀 점 / 깨달은 점
- 언리얼 엔진은 더 많이 무거운 엔진이고 가벼운 문제에도 크래쉬 날 수 있기 때문에 에디터의 컴파일이나 엔진이 에러 잡아주는 것을 의지하지 말고 애초에 더 조심해서 코드 작성해야겠다.
추천
[페이지] Unreal Engine | 언리얼 엔진