Unreal Engine 5 슬롯형 세이브 로드 기능 구현
먼저 세이브 해야할 데이터들을 구조체로 묶어서 BP_SaveGame에 저장했다
세이브 로드를 구현하면서 며칠동안 강의도 찾아보고 언리얼 공식 문서도 찾아보면서 다른 파일을 cast하여 참조하는 작업에 많이 익숙해졌다. 한국말로 되어있는 강의가 별로 없는데다가 유튜브에서 찾은 외국 강의들도 각자 구현하는 방식이 모두 달라 결국 나 자신만의 세이브 로드 구현을 설계해야 했고 세이브 로드 시 자료들이 어떻게 저장되어야하고 불러와지는지를 알아보기 위해 매번 디버그로 한 노드씩 점검해가며 재밌게 공부를 할 수 있는 기회가 되었다.
winapi를 공부할 때엔 비주얼 스튜디오로 하는 디버깅이 눈에 잘 안들어오고 힘들었는데 언리얼엔진5를 사용하면서 디버깅이 한눈에 들어오는 점이 정말 마음에 들었다. 그리고 유니티보단 적지만 winapi보다 훨씬 많은 정보를 찾을 수 있었다.
블루프린트를 사용하며 느낀 장점은 무엇보다 설계를 할 때 직관적으로 눈에 들어온다는 점이었다. 특히 이론으로만 공부하면 포인터처럼 헷갈리기 쉬운 개념들의 흐름을 눈으로 볼 수 있다는 점이 코딩 초보자의 입장에서는 매우 크게 와닿았다. 그리고 c++을 사용할 땐 자고 일어나면 전날 설계했던 코드들을 다시 읽어보고 머리속에 정리하는데 긴 시간을 사용했었지만 코멘트와 한눈에 들어오는 비주얼 덕분에 코드 정리에 큰 도움이 되었으며, 한칸 한칸 따라가며 디버깅 할 때 더 눈에 잘 익혀지는 점이 좋았다.
블루프린트를 사용하면서 불편했던 점은 switch문이나 if문의 구현에서 조금 번거롭다는 점과 변수에 직접 개입하고 싶어도 변수로 승격하고 set을 이용하여야 설정을 할 수 있기 때문에 c++과 병행하여 설계하면 더 쉽고 빠르게 설계할 수 있을것이라 생각했다.