You cant save Actors directly to gameinstance IF was spawned runtime / in game and world get destroyed or new level loaded
After End play engine will destroy all spawned actors…
What you want to save exactly?
I suggest two possible method for this:
Method 1:
Dont reload your level, if you want restart your level (that means you dont load actually new level), do some restart logic in your gamemode. Set your player back to start position, destroy not needed actors, set everything back to normal and leave actors in world what you need to leave there.
Method 2:
Instead of try to save and reference actors directly you can save needed actor data for respawn. For example make a struct array which contain actor type enum, transformation and other saveable data.
After your level get reloaded, you can iterate through on this array and you can spawn classes based on actor type (with switch), you can set their transformation (location, rotatiom, scale etc.) and you can initialize with some other data which you save in struct array
Basically you need make a list of actors with all needed data and you can respawn them on restart
Of course this is proof of concept and maybe other solutions exist, but im sure actor saving directly will never work if level get unloaded and actor was spawned in runtime