블루프린트가 유효하지 않은 클래스에서 파생되어 로드할 수 없습니다. 이 블루프린트의 부모 클래스가 제거되지는 않았는지 확인해보세요! 계속할까요? 에디터에서 크래시가 발생할 수 있습니다.
c++ 클래스를 만들고 거기서 파생된 블루클래스를 만든 후 언리얼 엔진을 껐다 다시 키니 이런 경고문이 나옸다.
c++ 폴더를 가보니 해당 c++ 클래스가 사라져 있었다. 다시 cmd 창에서 LiveCoding.Compile을 통해 컴파일을 진행하면 다시 컴파일이 진행되면서 다시 클래스가 생기는 하지만
그 c++ 클래스에서 파생된 블루프린트는 맛탱이가 가버렸다. 부모 클래스는 none
이 되었고 다시 바꿔 주려해도 검색창에 해당 클래스가 검색 되지 않는다. 이하는 구글링을 통해 찾은 해결법이다.
프로젝트를 종료하고 해당 프로젝트 폴더에서 Binaries
폴더와 Intermediate
폴더를 삭제한다.
Binaries - 컴파일 도중 생성되는 실행 파일이나 기타 파일이 포함됩니다.
Intermediate - 엔진이나 게임 빌드 도중 생성된 임시 파일이 들어 있습니다. 게임 디렉터리에서 셰이더는 Intermediate 디렉터리에 저장됩니다.
다시 프로젝트를 열면 이런 경고문이 뜨면서 재빌드가 시작된다.
이후 c++클래스도 사라지지 않고 모든게 정상적으로 실행되는 것을 볼 수 있다.
(거기에 더해 게임모드를 하나 만들고 월드 세팅에서 기본 게임 모드를 해당 게임모드로 교체하라는데 이유는 모르겠다)
이후 편집 - 에디터 개인설정에서 시작 시 강제 컴파일
에 체크해 두면 프로젝트가 실행되면서 자동으로 컴파일이 진행된다고 한다. 체크해 두자.
추가 - 그냥 아무것도 안 하고 시작 시 강제 컴파일
에만 체크한 후에 껐다 켜도 될 수도.
출처 : https://forums.unrealengine.com/t/my-c-classes-disappear-after-reopening-the-project-why/535990/2