Creating a Global BP to change other BPs

Hello,

As an artist and a super noob BP user, I created a set of building templates. I have a base building mesh and I have 3 upgraded levels of it.

files_01.jpg

I managed to create a blueprint that I can change it’s levels. Here is the Blueprint:

With this I can change building’s levels in editor.

Great, but I will have dozens of this kind of buildings that have base + 3 levels so what I need is to create a BP (let’s say BP_Building_Changer) that I can change this “select building level” variable in this global BP and all buildings will change accordingly.

Past 3-4 days I was watching lots of videos (both official and community) reading documentation, forum posts but I couldn’t do it. First of all I don’t have programming skills, I can do materials but this is something else. Second, almost all examples suggest “event dispatchers” but all examples works with some trigger volumes or level blueprint, I couldn’t find something similar to this situation and I don’t know how to use “event dispatchers” in this scenario.

How can I do this?
Thanks.

I’m assuming you’re talking about changing object type globally BEFORE runtime, ie in the editor?

So, in the basic shape bp I have:

Notice how the custom event has the ‘call in editor’ box ticked in the details panel.

Then the ‘global shape changer’ code looks like this:

( also call in editor )

This way, you have an extra step when changing an individual shape ( you have to press the button after change a parameter ), but you can change all the shapes from the global BP.

It works! Thank you so much @ClockworkOcean !

But one question:

I couldn’t make it to change another shape same time. In my example I have “building_a”. But I will have building_a, building_b, wall_a… etc. So ‘global shape changer’ should change all of them in same time. But I couldn’t connect “change shape” custom event in ‘global shape changer’ to another “get all actors of class” node for another object. It connects to just one “get all actors of class” node. So how can I change multi models in same time?

I can create another custom event and name it “change shape b” and connect it to building_b’s node. It works but there will be dozens of buttons in this case, it’s not practical.

Thank you again!

Got it :slight_smile: I “string them together linearly”, as documentation says. Now It works on multiple objects in same time :slight_smile:

Thank you so much again.

I made a bigger test and unfortunately it doesn’t work completely.

There are 5 type of buildings in the scene. As you can see when I run building_changer BP it only changes some of them.

For building_c it works 100%, for building_b it works about 20% and it changes only the first building_a in the scene, for others it doesn’t work. Weird. Every building BP is exact copy of building_a, just with different materials.

Here is the building_changer BP:

What am I doing wrong? I’m using 4.24.2 by the way.

Any ideas?

Tirido, you have to quote me, otherwise I don’t get any notification :slight_smile:

You’ve made a NOOB mistake. You need to chain those loops together using the Completed pin! At the moment, every loop is running every other loop millions of times! I’m guessing it’s slow?.. :slight_smile:

Very :slight_smile: Thank you, I will try it when I get home.

Yes, it works! Thank you very much! :slight_smile: And it’s lightning fast :slight_smile: