Transfer a customized character between levels for an RPG?

Imagine you have the following levels:

  • level_character_creator: A map with a single room where you customize your character, changing morphs, facial and body type features.
  • level_tutorial: A map where you learn the basics of the game while acquiring some basic gear and items.
  • level_mainland: A map to explore, level up & acquire new items.
  • level_dungeon: A dungeon to explore, level up & acquire new items.

How does this customized character, with all their newly acquired gear and leveled up stats persist among these levels?

Should I:

a. Save the changes to a save file then apply them to a new base actor in the new level?

b. Save the actor into gameInstance, is that even possible? The goal is to avoid re-creating the actor and re-applying all the customization.

c. Use a persistent level to store the customized character actor in which all the newly acquired, gear, stats and level ups never get destroyed, then just teleport the character between levels? (Level Streaming)

Think Dragon Age Origins, transferring characters between levels. Do you re-create them or do the assets always exist and persist in memory? What is the correct way to do this? What would the Unreal Engine devs recommend? I’m designing a single player RPG and looking for the proper methodology for this, thank you!

I have this issue also

Hi LuzariusLive, You should use the Game Instance class to retain your character across levels. but you will need to save the character to preserve them between game sessions. With a single player RPG, you would be storing a lot of info in your game instance, possibly ignoring your gamestate to a degree, for example “opened chests” would be tracked across the entire game not just the level as would quest data.

This live stream on Game Framework sounds like it might clarify some questions.
link text