How to swap a BP actor for another BP actor in editor?

I have a few hundred identical blueprint actors placed in a level. I want to be able to select all these actors in my world outliner, and replace them all simultaneously with another blueprint actor. This can be done with a static mesh through the details panel, but I’m not sure if it’s possible with a blueprint.

Any advice or guidance on this topic would be appreciated. Perhaps I’m not seeing another way to accomplish this goal.

1 Like

this method works! thank you for this. I also found [this post][1] useful.

1 Like

Hi, you can use editor scripting for that Calling Blueprints in the Editor | Unreal Engine Documentation

So you would place a blueprint into the world that has a custom event that is marked “Call In Editor”. That enables you to call that event from the world outliner, so inside the editor.

Lets call the actor class you want to replace “A” and the one you want to replace it with “B”

Inside that event you would do the switch. So get all actors of class “A”. Loop through them all and spawn “B” at the transform of “A”.

Then remove all “A” (either manually by selecting them in the world outliner, or write another custom event that is marked “Call In Editor” that gets all actors of class “A” and destroys them all).


If you only want the change to only be applied to the actors you have currently selected, then you can use the “GetSelectedLevelActors” node instead of getting all actors of class “A”. In order to access the “GetSelectedLevelActors” node you need to inherit from EditorUtilityActor/EditorUtilityWidget though.