게임에 저장 및 로드 기능을 구성하는 것은 게임의 복잡도에 따라 달라집니다. 언리얼 엔진은 저장과 로딩을 처리하기 위한 시리얼라이제이션을 지원합니다. 언리얼 엔진에는 블루프린트 또는 C++에서 파생할 수 있으며 간단한 변수를 저장하는 데 사용되는 SaveGame 오브젝트 클래스가 있습니다. 게임에 더 복잡한 저장 및 로딩 행동이 필요한 경우, 시리얼라이제이션 모범 사례 및 기술에 대한 강연을 참조하세요. 사용자가 환경설정할 수 있는 세팅을 작성하려면 UGameUserSettings 유틸리티 클래스를 사용합니다.
패럿의 UParrotGameUserSettings는 UGameUserSettings에서 파생됩니다. 이를 통해 패럿에 필요하고 플레이어가 환경설정할 수 있는 세팅을 저장하고 로드합니다.
오디오 세팅 예시
패럿에서는 플레이어가 오디오 세팅을 환경설정할 수 있습니다. 패럿은 다음과 같은 float 값을 저장합니다.
메인 볼륨(Main Volume)
음악 볼륨(Music Volume)
SFX 볼륨(SFX Volume)
프로젝트가 올바른 게임 유저 세팅 클래스를 사용하고 있는지 확인하세요. 편집(Edit) > 프로젝트 세팅(Project Settings) > 엔진(Engine) - 일반 세팅(General Settings)에서 게임 유저 세팅 클래스(Game User Settings Class) 필드가 ParrotGameUserSettings를 가리키도록 변경하여 환경설정할 수 있습니다.
그런 다음, 사용자 세팅을 UParrotGameSettings 타입에 캐스팅하고 저장 함수를 호출합니다. 이는 UParrotAudioSubsystem에서 확인할 수 있으며, 해당 내용은 패럿의 오디오 엔진 구현에서 다루고 있습니다.
UGameUserSettings 파생 클래스를 사용할 때 또 다른 유용한 기능은 디시리얼라이제이션이 문제가 되지 않는다는 점입니다. 게임이 시작될 때 사용자 세팅이 자동으로 읽혀지고 적용됩니다.