
보통 게임 개발을 하다 보면 작성한 클래스를 삭제해야 하는 일이 발생한다
특히 프로토타입 작업을 하는 과정이라면 작성해둔 클래스가 필요 없어져서 삭제해야 하는 일이 생각보다 자주 발생할 수 있다
언리얼 에디터에서 블루프린트 클래스는 이렇게 우클릭하고 삭제 항목을 선택하면 간단하게 삭제할 수 있다
하지만 C++ 클래스는 우클릭해보면 삭제버튼이 활성화되지 않아서 바로 삭제할 수 없다
그렇다고 더 이상 사용하지 않게 된 C++ 클래스를 무작정 쌓아두고만 있을 수는 없을 것이다
그럼 이제 필요 없어진 C++ 클래스를 삭제하는 방법을 알아보자
VisualStudio의 솔루션 탐색기에서 없애고자 하는 클래스의 헤더파일(. h)과 소스파일(. cpp) 파일을 전부 제거한다
[만약 파일들이 보이지 않는다면 상위 폴더에 우클릭 하고 [Add > Exsting Item..]을 눌러 Source 폴더에서 열어주면 추가할 수 있다]
그리고 Visual Studio에서 [Ctrl + O]를 눌러 파일을 연 다음, Source 폴더 안에 남아있는 클래스의 헤더 파일과 소스 파일을 삭제해 준다
모든 작업이 끝났다면 언리얼 에디터를 다시 실행해서 컴파일해준다
그리고 콘텐츠 브라우저를 보면 필요 없는 C++ 클래스 폴더와 파일이 성공적으로 삭제된 것을 확인할 수 있다
사실 이것보다 훨씬 더 간단한 방법이 있는데,
처음부터 C++ Classes 폴더에서 MyActor에 우클릭을 하고 Show in Explorer 항목을 선택한 후
삭제하고자 하는 파일들을 우클릭해서 삭제 한다
그리고 Recent Projects또는 Open Project..에서 현재 열려있는 프로젝트를 다시 열어준다
그 다음 컴파일을 누르면 파일이 잘 삭제 된 것을 볼 수 있다
[두 번째 방법은 실패할 가능성이 높기 때문에 확실한 첫 번째 방법을 추천한다]
이렇게 C++ 클래스 삭제는 생각보다 어렵지 않지만 삭제할 때 주의사항이 있다
블루프린트 클래스는 이런 식으로 관련되어 있거나 레퍼런스가 있는 상태라면 삭제하기 전에 경고창을 띄워주고 정말로 삭제할 것인지를 확인한다
하지만 C++ 클래스를 삭제할 때는 그런 과정이 전혀 없기 때문에 지우고자 하는 클래스가 레벨에 배치되어 있는지, 다른 곳에서 참조를 하고 있는지, 또는 블루프린트 클래스가 이 C++ 클래스를 상속받아서 구현되지 않았는지 확인해야 한다
그리고 필요 없어진 C++ 클래스를 삭제함으로써 신텍스 에러가 발생한다면 프로젝트 재빌드 과정에서 실패하게 될 것이다
그렇기 때문에 클래스를 삭제한 뒤에는 오류 목록을 살펴서 클래스 삭제로 인한 에러가 없는지 확인하는 과정도 필요하다
VR게임 개발을 위한 언리얼엔진/C++ 공부한 내용 끄적이기...
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!