Copy actor without spawning at runtime

Is there a way to make a copy of an AActor, without spawning it in the current level ? I would like to keep copies of some Actors so that I would be able to respawn them later using SpawnActor template.

I tried by creating a new level where I’d put the temporary actor but a crash happens when I spawn it in the temporary level :

	ULevel * tmpLevel = NewObject<ULevel>(this);
	tmpLevel->bIsVisible = false;
	GetWorld()->AddLevel(tmpLevel);
    // spawn the actor with params.OverrideLevel = tmpLevel;

So in the end what I’d need is something to create a template actor from an already spawned actor. Is there any solution ?