La configuración de las funciones de guardar y cargar varía según la complejidad del juego. Unreal Engine incluye compatibilidad con la serialización para manejar las operaciones de guardado y carga. Unreal Engine tiene una clase de objeto SaveGame que se puede derivar en blueprint o C++ y funciona para guardar variables simples. Si tu juego requiere un comportamiento de guardado y carga más complejo, consulta esta charla en Prácticas recomendadas y técnicas de serialización. Si deseas escribir ajustes configurables por el usuario, utiliza la clase de utilidad UGameUserSettings.
UParrotGameUserSettings en Parrot se deriva de UGameUserSettings. Esto guarda y carga los ajustes configurables por el jugador que Parrot necesita.
Ejemplo de configuración de audio
En Parrot, el jugador puede establecer la configuración de audio. Parrot guarda los siguientes valores float:
Volumen principal
Volumen de música
Volumen de SFX
Asegúrate de que se utilice la clase correcta de ajustes de usuario del juego. Para configurar esto, ve a Editar > Ajustes del proyecto > Motor - Configuración general y cambia el campo Clase de ajustes de usuario del juego para apuntar a ParrotGameUserSettings.
A continuación, convierte la configuración de usuario al tipo UParrotGameSettings y llama a la función de guardar. Esto se puede ver en UParrotAudioSubsystem, que se cubre en Implementación del motor de audio en Parrot.
Otra función útil de usar una clase derivada de UGameUserSettings es que la deserialización no es un problema. La configuración de usuario se lee y se aplica automáticamente cuando se inicia el juego.