Extract static meshes from a blueprint and put the extracted meshes in the scene

Hello, is there a way to extract static meshes from a blueprint and have the extracted meshes placed in the exact same spot in the scene?

For example, in 3DsMax if something is “Grouped” I can “Explode” the group and all the geometry in the group are placed in the scene root. And the geometry still has the same position in the world after the group is exploded.

Since I am asking about exploding a Blueprint, I totally expect the geometry that was in the blueprint to have new transforms because the parent of the geometry is not the Blueprint anymore; the parent is now the World. As long as the geometry is still in the same spot as it was when it was in blueprint was holding it in the world.

Sean

I think you’ll find that’s once everything’s in a BP, it’s always in the BP.

Just to check, are you using BPs just to group things ( seen this many times ). You can just group items in the editor. Then you will be able to separate them again…

I was not given a scene to work in, unfortunetly. I was given a blueprint. Yes, I was using blueprints to group things within the blueprint and to easily make duplicates of grouped things. Dang, I was really hoping I could Exlpode the Blueprint like groups are exploded in 3DsMax.

Question, is there a way to cut an object out of the blueprint and paste them in the scene?

No. But you can take their relative transforms one by one and paste them into the transforms for the object on the scene.

If your starting point is 0,0,0 the two should match.
if you moved the initial blueprint then you need to do the math to convert the positions (just add the BP location to the values found within it).

It’s a bit of painful work, but unless you want to spend even more time developing a Bluetility script to do it, it’s pretty much the only way.

You could put all the objects at 0,0,0 and use a Bluetility to move them out to the positions found within the blueprint by calling a function off the level BP.

Level bp.
create a function as Bluetility if possible.
loop through components of BP to take from.
find corresponding static mesh by name in level.
take/adapt and change transforms of the actor in the level that matches.

This can actually be done using a plugin from the marketplace called ‘Instance Tool’.

The purpose of the tool is to select mesh actors, and convert them in bulk to HISM arrays. However, it has the pleasant side-feature of being able to select a BP that contains mesh components, convert them to HISMs, and then back into simple Mesh actors. I use it for this purpose regularly.

3 Likes

You’re a live saver mate. Had the exact same problem and I happen to own Instance Tool. Works like a charm!

Awesome, thank you, . You are the best!

Hi. Did this work for you? I’ve looked at the tool in marketplace and there is no mention of extracting static meshes from blueprints. I just want to be sure it works before buying it

Sorry, I don’t remember. I asked this question 4 years ago.

rdBPtools does exactly this (Replace in Level) and a whole lot more, it’s on sale atm too:

https://www.unrealengine.com/marketplace/en-US/product/rdbptools