How is actor saving to array works in context of saving game.

For example, when I’m picking up pickups, saving the game and picked up loot, and loading level I’ve saved again, exactly this level, looted loot is deleting from the level. If I’m loading this level through another level, then it’s not working.
And when I’m trying to save buildings I’ve built in the game, saved it, and then trying to load this level again, buildings are not spawning, if I’m giving direct link for this actor. If I’m just giving an transforms of buildings, then BaseBuilding keep spawning there, this means I’m doing saving of arrays correctly.
How this works with an actors then? How to properly save them?

Hi there,

Not sure I understand what you write clearly however.

You pick up some loot->GameSaved->Load Level-> (Actors Check States → If Looted (Removed)

However this doesn’t works when you load level → From another level.


Seems your load game state for actors not working. Not sure how you setup but normally every actor should check its own state.

Actor - > SaveGameSubsystem (or Load Game Slot Object where ever you hold data) - > Check Status

This should be done in actor level not in game instance / game state or when you change levels by default first thing before anything else retrive that levels save data.

An actor begin play / streamed in always first thing check its state according to current save data of that level. Else you can encounter things like you are observing.

I am making this assumptions since I assume that your save game system has some problems in either execution order, ID / Level / Data problems or something else.

If you tell us about

  • where you do saving (which class?)
  • where you do loading save data (which class?)
  • Your save and load logic for actors ( screen shot bp or c++)

we can try help more in detail cause can be anything at the moment.