How to Get an Array of Actors by Their Copies?

I’ve found a nice explanation here: https://www.reddit.com/r/unrealengine/comments/7kp75c/what_does_get_a_copy_in_blueprints_really_mean/

In short, you can’t get copies of actors. Even if you use Get Copy, you still get the Reference.

Normally when we make arrays of actors we are actually making references to those actors in blueprints, but how to do it if I`d like to make an array of actors by their copies instead of references?

You have to loop through the array, spawn new actors with the same attributes as the current ones, and store these in a new array. As a result, you should have a new array with the “copy” of your existing actors.

I think you might use the “Get all actors from class” node if ou are using blueprints, basically it returns an array of all the actors of a given class to the node, either by a drop down menu or node imput that can come from a variable and sort, here’s some documentation on it.
https://docs.unrealengine.com/en-us/Gameplay/HowTo/FindingActors/Blueprints
Hope this helps (=

Thank you :slight_smile:

Thank you :slight_smile:

Thank you :slight_smile:

Just keep in mind, that function is really slow, so if you can, avoid that.

But what if I am to save an array of actors with a lot of variables in a save game object, and since each one of them comes with lots of variables I dont really want to save those variables values one by one but instead save all of them as actors, however the array of actors is actually pointers, then the issue is that the actors couldn`t really be properly loaded and spawned at the beginning of the game, which is proven by a little test I did. Any convenient way to fix this instead of going over all the variables of the actors?