Download

How to change and update all BP instance in the Level Editor?

Hi,

I have a case where I don’t know how to handle it properly:

Let’s say you create a BP with a Static mesh in it. You place it 10 times in the level editor, on some instance you change some settings like the rotation etc…
Now I want to update the SM as the current mesh was not final. I edit the BP and change it, but it doesn’t update automatically all the current instance placed in the level.
Is there any command to do that or the only way is to change all of them 1 by 1 and reset the SM value to the default one (little yellow arrow).

Thanks,

There is no automagical way for it.

Make variable that holds static mesh value. Expose it on spawn and in editor.
In construction script set static mesh to what is in that variable.

Or in source for that BP:
remove static mesh and compile (this will clean out all meshes)
then add your new default and compile again, this will update it.

But if you have some script attached to that mesh, just set up variable then change mesh at construction time.

PS. you may be able to select all blueprints of that class and change mesh value in default tab.
However i never done that, but setting properties of multiple actors was in unreal since 1990s so i think its still there.

That’s sad…
I was really thinking that the BP can be used to work easily iteratively but if I loose the power of settings things in UI to be sure that it is reflected in all instances that’s not good;

Thanks,

What you could do is create a base blueprint actor with the rotation and mesh values. Then you make a child of that actor by right clicking it “Create Blueprint based on this”. You put instances of the child in the world, the base is what you update. The children inherit all of the parents properties so all their meshes an rotations will update, I just tested it out. You can also just select them all in the Outliner and RIght-click–>edit multiple assets

That’s a nice way to manage this.

Thanks for the update. I will test this and see if this can fit. I will have a lot of base object but if it is the way to have flexibility I will go this way.

It’s like one stop shopping. You can do this with weapons as well. One parent class for all weapons with variables and firing logic that every weapon will use, then make children for the different types like hitscan or projectile. Then you make Children of projectile and hitscan to actually set up the weapons

Hi,

So you know, what I wanted to do should be the default behavior
Link to epic anwser

you should be able to change the default value of a BP and it should reflect directly onto the Level if you BP is using the default value.

so I created a Bug here:
https://answers.unrealengine.com/questions/219124/476-bp-instance-not-updating.html

If you want to help me to get them repro the issue so we can have a fix and have a proper way to managed the BP update easily.