GameInstance 3

언리얼 엔진 SaveGame과 GameInstance로 다회차(NG+) 구현하기 - 부활, 레벨 이동, 체크포인트 정리

UE5에서 다회차(NG+) 시스템을 구현할 때 가장 어려운 부분은, 서로 다른 성격의 데이터 흐름이 한 시스템 안에서 동시에 충돌 없이 돌아가도록 만드는 것이다.특히 아래 요소들이 함께 들어가기 시작하면 구조가 빠르게 복잡해진다.스테이지 이동플레이어 사망 후 부활체크포인트 저장 및 복원세이브/로드다회차 진입 시 일부 데이터 유지겉보기에는 각각 독립적인 기능처럼 보이지만, 실제 구현에서는 모두 같은 데이터를 서로 다른 시점에 읽고 쓰는 문제로 연결된다.예를 들어 사망 후 부활은 체크포인트 시점의 상태로 되돌려야 하고, 스테이지 이동은 현재 최신 상태를 다음 레벨로 이어가야 하며, 다회차는 월드 진행은 초기화하되 일부 데이터는 유지해야 한다.이번 글에서는 이런 상황에서도 안정적으로 동작할 수 있도록, 다회차..

언리얼 엔진 SaveGame 저장 시스템 구현하기 - GameInstance, 체크포인트, 자동 저장

언리얼 엔진에서 Save 시스템은 진행 중인 게임 데이터를 저장하고, 다시 같은 상태로 복구하기 위한 핵심 기능이다.특히 플레이어의 위치만 저장하는 수준이 아니라, 현재 진행 상황과 장비 상태까지 함께 복구해야 실제 플레이 흐름이 자연스럽게 이어진다.이번에는 GameInstance를 활용한 중앙 집중식 데이터 관리, 자동 저장과 수동 슬롯 저장 구조, 그리고 무기별 탄약 상태까지 복구하는 Save 시스템을 직접 구현한 과정을 정리해보려고 한다.내가 구성한 전체 흐름은 다음과 같다.SaveGame: 실제 저장될 데이터 보관GameInstance: 데이터 캐싱, 저장/로드 실행, 자동 저장 및 수동 슬롯 관리Checkpoint: 플레이어가 닿았을 때 현재 상태를 수집해 자동 저장 요청이번 시스템에서 저장 대..

언리얼 엔진 레벨 전환 데이터 관리 - GameInstance와 GameMode 역할 정리

Stage 기반 게임을 만들다 보면 가장 헷갈리는 부분 중 하나가 데이터 관리다.특히 아래 두 상황을 동시에 만족해야 할 때 구조를 어떻게 잡아야 할지 고민하게 된다.Player가 죽으면 현재 레벨 시작 시점의 상태로 부활해야 한다.Player가 Level을 클리어하면 현재 상태를 다음 Level로 넘겨야 한다.겉보기에는 단순해 보이지만, 이 두 요구사항은 서로 반대되는 성격을 가진다.사망 시에는 현재 진행 중인 상태를 버리고 이전 상태로 돌아가야 하고,레벨 클리어 시에는 현재 진행 중인 상태를 유지한 채 다음 레벨로 넘겨야 하기 때문이다.이 문제는 각 클래스에 역할을 명확히 나누면 비교적 깔끔하게 해결할 수 있다.이번 글에서는 내가 실제로 구현한 방식을 기준으로, GameInstance와 GameMod..