Konfiguracja funkcji zapisywania i wczytywania w grze zależy od stopnia jej złożoności. Unreal Engine obsługuje serializację, która umożliwia zapisywanie i wczytywanie danych. Unreal Engine posiada klasę obiektów SaveGame, którą można wyprowadzić w Blueprint lub C++ i która służy do zapisywania prostych zmiennych. Jeśli gra wymaga bardziej złożonego zachowania podczas zapisywania i wczytywania danych, zapoznaj się z prelekcją Serialization Best Practices and Techniques (Najlepsze praktyki i techniki serializacji). Jeśli chcesz napisać ustawienia, które mogą być konfigurowane przez użytkownika, użyj klasy narzędziowej UGameUserSettings.
UParrotGameUserSettings w Parrot jest pochodną UGameUserSettings. Zapisuje i wczytuje ustawienia potrzebne do działania Parrot, które gracz może konfigurować.
Przykład ustawień audio
W Parrot gracz może konfigurować ustawienia audio. Parrot zapisuje następujące wartości zmiennopozycyjne:
Głośność główna
Głośność muzyki
Głośność efektów dźwiękowych
Upewnij się, że projekt korzysta z właściwej klasy ustawień użytkownika gry. Można to skonfigurować, wybierając kolejno Edit (Edytuj) > Project Settings (Ustawienia projektu) > Engine – General Settings (Silnik – Ustawienia ogólne), zmieniając pole Game User Settings Class (Klasa ustawień użytkownika gry), tak aby wskazywało na ParrotGameUserSettings.
Następnie należy przekształcić ustawienia użytkownika do typu UParrotGameSettings i wywołać funkcję zapisywania. Można to zobaczyć w UParrotAudioSubsystem, omówionym w sekcji Audio Engine Implementation in Parrot (Implementacja silnika audio w Parrot).
Kolejną przydatną cechą korzystania z klasy pochodnej UGameUserSettings jest to, że deserializacja nie stanowi problemu. Ustawienia użytkownika są odczytywane i automatycznie stosowane po uruchomieniu gry.