Keeping the Same Pawn throughout the Game

Hi there.

I want to make a ARPG in the spirit of old SNES Games like Zelda ALTTP, Secret of Mana or Illision of Gaia.

How can I share my Pawn throughout the whole game, without it resetting it’s state for example the HP?
Since I want to have it multiplayer, how can I keep the Controllers persistent through map changes?

The Data of the Pawn (HP, MP , Experience etc.) is stored within the pawn itself. Is this a bad idea?

Anything you want to cross over from level to level (HP, XP), store those values in the GameModeBase blueprint.

GameMode:

  • Anything that needs to get passed over to SaveGame, I would store here

Player Controller

  • Anything dealing with interaction / controls, throw in here

Player Character / Pawn:

  • Anything dealing with character mesh

For a multiplayer aspect, PlayerState for persistent PlayerController stuff, and GameInstance for persistent game related stuff. Not sure vis versa GameMode and GameInstance though.